国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[MarsZ]Unity3d游戲開發之Unity3d全策劃配置新手指引

2019-11-17 02:13:44
字體:
來源:轉載
供稿:網友

[MarsZ]Unity3d游戲開發之Unity3d全策劃配置新手指引

Unity3d全策劃配置新手指引

前言... 2

版本... 2

作者... 2

功能... 2

類型... 2

觸發類型... 2

步驟類型... 3

實現... 4

簡要... 4

策劃方面... 4

程序方面... 4

流程圖... 5

詳細技術方案... 6

程序主要邏輯... 6

關鍵細節答疑... 6

附:Word版百度云盤下載

http://pan.baidu.com/s/1DbNxs

前言

本文檔描述Unity3d下支持策劃靈活配置、多樣性豐富的新手指引的相關說明,如有設計上不明白的地方,可登陸游戲(《魔霸西游》)體驗。技術上有疑問的地方,可聯系作者MarsZ解答,QQ569491198。

2015年7月28日

版本

V1.2( 2015年7月29日11:33:09)

作者

MarsZ (QQ569491198)

功能

在指定任意條件下,觸發某對應指引,指示玩家執行某相關操作(如點擊、拖動或播放某指令)。指引期間除執行指定操作外,無法執行其他無關操作(如點擊無關地方)。所有指引由策劃靈活配置,包括什么時候觸發、觸發什么指引等。

類型

觸發類型

指引觸發條件(主條件為可能觸發指引的操作,副條件為判斷指引能否觸發時的附加判斷條件)格式: type,value=====只為主條件, 后端用=====1: 完成某指引后,主界面觸發base_guide.guide_id2: 首通某關卡后,主界面觸發 base_scene.scene_id=====只為主條件=====5: 關卡對話結束(關卡id#1,戰勝;2,戰敗;3,勝或敗;4,戰前)6: 點擊操作(界面#目標#索引 0無索引)7: 拖動操作(界面#目標1#索引1#目標2#索引2 0無索引)11:任意仙魔血量低于X(%) (只用于線性)25:章節領獎(關卡id#0,該關卡;1,除了該關卡)=====可為副條件=====10:進入區域(關卡id#區域12345)14:戰斗&回合(關卡id # 1勝;2敗;3超時;4戰敗 # 第n次)15:戰斗&回合(除了關卡id # 1勝;2敗;3超時;4戰敗 # 第n次)16:戰前配置,已上陣X個仙魔 (不包括主角)20:主角的第1個激活屬性激活了(1)(1不可修改)21:主角提升到了N級(N)=====只為副條件:12:檢測任務狀態(任務id#0,未完成;1,完成未領;2,完成已領;3,未觸發;4,完成)17:檢測指引狀態(指引id#0,未完成;1,完成)18:檢測PVP狀態(界面#0,未開始;1,開始)22:檢測戰斗狀態(關卡id#0,非戰斗中;1,戰斗中)23:檢測敵方仙魔總血量高于百分比(關卡id#XX)24:檢測模塊是否解鎖(模塊id#0,未解鎖;1,解鎖;)

……

步驟類型

0: 純對話1: 箭頭指示2: 手指點擊3: 手指拖動4: 手指雙擊7: 功能解鎖/鎖定9: 戰斗暫停/繼續10:發送仙魔位置11:對錯提示12:播放解鎖動畫13:移到主界位置14:戰斗界面動畫15:切換頭像16:點擊移動17:箭頭文本18:至某界面20:滑動地圖

……

實現

簡要

策劃方面

策劃主要通過配置2個表來實現對指引的設置和控制,分別為:

base_guide表以及base_guide_step表。表結構分別為:

圖1 base_guide表結構

圖2 base_guide_step 表結構

程序方面

程序讀取配置表,當用戶執行某些特定類型的操作,如點擊、拖動或接收/完成任務,通關某關卡等時,檢測相關操作能滿足哪個指引組的執行條件(如是否點擊了對應的指引物體、是否拖動了對應的物體到對應的位置、是否接受/完成了對應的任務、是否通關了對應的關卡)。如滿足某指引組執行條件,并且當前能執行指引(如不在加載界面,界面不在緩動等),則執行對應的指引組(base_guide表的guide_id的指引)。如不滿足,則指引暫時結束。

執行完某指引組的當前步驟的指引(base_guide_step表的guide_step_id的指引)后,判斷是否已執行完當前指引組的所有指引步驟,如未指引完,則執行該指引組中的下一個指引步驟,否則判斷是否能觸發下個指引組。

流程圖

圖3 流程圖

詳細技術方案

程序主要邏輯

1、根據策劃配置的指引觸發類型,設置對應的指引觸發類型常量;

2、根據策劃配置的指引步驟類型,設置對應的指引步驟常量,設計相應的指引步驟界面(如需要界面,如點擊和拖動等需要手指播放界面。如播放某動畫需要全屏遮罩等);

3、打開界面時:

i、根據策劃配置,檢測該界面是否有能觸發指引的GameObject,如有,給這些GameObject綁定GuideTriggerGameObject腳本,用于截獲能觸發指引的操作,如點擊(OnClick)等。截獲到操作時,發送觸發指引消息。指引控制器檢測該操作能否觸發指引組,如可以,指引之。

ii、根據策劃配置,檢測該界面是否有能執行指引的GameObject,如有,給這些GameObject綁定GuideGameObject腳本。當該GameObject正處于綁定的指引步驟執行中時,調整該GameObject的Layer和Depth等,讓該GameObject可以接受點擊或其他對應的指引操作。以及獨立于其他顯示單元進行高亮(如需要)。

4、指引步驟執行完畢后,發送消息給控制器,控制器收到后,檢測當前指引組是否還有下一個指引步驟,如有,繼續執行下一個指引步驟,直至指引完該指引組的全部指引步驟。

5、指引組的步驟全部指引完畢后,檢測是否能觸發下一個指引組,如能,執行之,否則指引暫停。

關鍵細節答疑

Q:關于指引時只讓對應的指引物體可以接受點擊、拖動等事件或者高亮。

A:指引時全屏遮罩一個指引layer(層級高于普通GameObject的層級)的蒙版,屏蔽所有無關的GameObject,對應正處于指引步驟中的GameObject,調整其層級到layer層,調整其depth以滿足深度合適(必要時可以借助UIPanel來設置depth),讓其可以接受事件。

Q:關于點擊具有某屬性值的物體觸發特定指引。如點擊某類型的某ID值的卡牌能觸發特定指引。

A:打開界面時,給能觸發指引步驟的物體綁定GuideGOInfo(繼承自MonoBehaviour)腳本,腳本上附上相關的屬性值(這些屬性在物體上的信息更新時也要即時更新)。當物體遇到觸發條件時(如被點擊等),檢測上方的屬性時是否也滿足某些指引的觸發條件,如果一切條件都滿足,即可觸發對應指引。

Q:關于“播放動畫”類型的指引步驟的執行方案。

A:對于這類型的指引步驟,當觸發時,發送消息事件給外部,請求“播放動畫”或其他操作。當這類操作完畢時,發送消息事件給指引,告知指引步驟完畢,讓指引繼續執行即可。

Q:關于斷線重連后指引的繼續。

A:關鍵指引步驟會發送消息給后端(見base_guide_step表的to_server

字段),請求后端保存該指引組和指引步驟。斷線重連后,結合后端保存的指引組ID和指引步驟,計算出當前應該處于的指引組和指引步驟,執行之。如果該步驟是某界面中執行的,則先打開對應界面再執行指引步驟即可。

Q:關于指引間隙誤操作。

A:要有個全局的指引遮罩蒙版,指引間隙間(如2步驟間等)讓蒙版的作用。指引繼續執行時或者指引結束后去掉該蒙版。

Q:某GameObject如何知道自己處于當前指引步驟。

A:該GameObject身上會有GuideGameObject腳本,繼承自MonoBehaviour,且腳本中綁定有與本GameObject關聯的指引組和指引步驟列表。當Update執行時,會判斷其綁定的指引組和指引步驟列表中,是否有當前正在執行的指引組和指引步驟,如果有,則為正在執行與自身有關的指引。

Q:如何知道某GameObject綁定有什么指引。

A:在界面初始化時及界面中可能觸發指引的GameObject變化時,發送一個重新更新綁定GuideGameObjectGuideTriggerGameObject的事件。收到事件后,循環遍歷本界面GameObject上的所有Children GameObject,判斷其名字和索引是否對應到了base_guide_stepbase_guide中,如果有,則綁定GuideGameObjectGuideTriggerGameObject腳本,并且更新腳本里存儲的指引組和指引步驟列表。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威信县| 泉州市| 塘沽区| 呼玛县| 岐山县| 湖北省| 芮城县| 五大连池市| 通榆县| 武平县| 安溪县| 温宿县| 萨迦县| 临泽县| 浦北县| 金湖县| 高陵县| 闸北区| 弋阳县| 江孜县| 屯门区| 南阳市| 锡林浩特市| 微博| 佳木斯市| 滁州市| 广东省| 长武县| 景宁| 望谟县| 泸西县| 沙雅县| 白河县| 宜城市| 吴江市| 合肥市| 龙山县| 贵阳市| 沿河| 温泉县| 长沙县|