Unity3d学习记录之回合制游戏
生活随笔
收集整理的這篇文章主要介紹了
Unity3d学习记录之回合制游戏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
學習參考:https://blog.csdn.net/c252270036/article/details/77126777? ? ? ? ? ? ? ? ?
利用iTween來控制攻擊的優(yōu)先權(quán)。
關(guān)于iTween可看:https://blog.csdn.net/leanerU/article/details/84257191
將GameControl腳本附加給任意一個空物體,作為游戲控制單位(可重命名為GameControl)。
//iTween代碼void Update () {if (GameControl._Instance.isAttackOver)//用來判斷是否結(jié)束攻擊{iTween.Resume(gameObject.transform.parent.gameObject, true);GameControl._Instance.isAttackOver = false;}}void funName(){iTween.Pause(gameObject.transform.parent.gameObject, true); print(GameControl._Instance.gameObject.transform.name);if (gameObject.tag == "EnemyUnit")//gameObject 指Icon{EnemyControl._Instace.IsEnemyAttack = true;//敵人攻擊回合}else if (gameObject.tag == "PlayerUnit"){PlayerControl._Instace.IsRoleAttack = true;//主角攻擊回合}} public bool isWaitForPlayer = false;public bool isEnemyAction=false;public bool isAttackOver = false;public static GameControl _Instance=null;public enum GameState//GameState枚舉{Menu,Game,Over}public GameState currentState = GameState.Menu;當前游戲狀態(tài)private void Awake()//單例{if(_Instance==null){_Instance = this;}else if(_Instance!=this ){Destroy(this.gameObject);}}按鈕選擇是利用OnGUI()設(shè)置,新生一個窗口需要在OnGUI()方法內(nèi)部調(diào)用GUI.Window()。如果在除OnGUI()外部調(diào)用則會報錯。
GUI.Window(0, new Rect(Screen.width / 2 - 100, Screen.height / 2 - 30, 200, 60), GameStartConfim, "戰(zhàn)斗開始");GUI.Window()方法第一個參數(shù)為int id值,不可重復。第二個為Rect,設(shè)置窗口位置,大小。第三個為窗口的Function方法,最后一個為顯示的名稱(提示框名稱)。
void GameStartConfim(int Id){if(GUI.Button(new Rect(50,30,100,20),"開始戰(zhàn)斗")){currentState = GameState.Game;}}Function方法參數(shù)需為int Id,然后就可以添加UI界面中的Text,Button,Label等等。
主要是通過ITween播放完調(diào)用oncomplete參數(shù)后的funName方法去實現(xiàn)攻擊的游戲權(quán)。
總結(jié)
以上是生活随笔為你收集整理的Unity3d学习记录之回合制游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 使用容器数据卷 实现宿主机
- 下一篇: 推荐几款超好用的内网穿透神器,总有一款适