武器切换的脚本是要用到了UI层的制作
利用UI Camera渲染呈现,而UI层中存在的东西有:一张画布(UI panel)即scene,然后下面再有一张子画布,画布下有背包栏,也是UI panel;
其中,背包栏使用了Grid Layout Group组件,便于分格
下边是一段武器的
//宣告 : 使用介面模版、武器順序、目前及下一個武器(取得名稱用)、3把武器、二個前段介面文字varMySkin : GUISkin;varWeaponSort : int = 0;privatevarCurrentWeapon : GameObject;privatevarNextWeapon : GameObject;varWeapon0 : GameObject;varWeapon1 : GameObject;varWeapon2 : GameObject;varFrontText1 ="切換武器為 : ";varFrontText2 ="目前武器名稱/順序 : ";//介面功能 : 如果按下切換武器按鈕時,武器順序加1 --------------------------------------//介面文字 : 目前武器名稱/順序 + / + 目前武器名稱functionOnGUI(){GUI.skin = MySkin;if(GUI.Button(Rect(20, 200, 150, 30), FrontText1 + NextWeapon.name)){WeaponSort ++;}GUI.Label(Rect(200, 5, 300, 30), FrontText2 + CurrentWeapon.name +"/"+ WeaponSort);}//功能 : 每個 frame 都執行一次 --------------------------------------------------------//如果武器順序為0,則目前武器為武器0;下一把武器為武器1;開啟武器0;關閉武器1及2,以此類推//如果武器順序大於等於3,則歸0 (形成循環)functionUpdate(){if(WeaponSort == 0){CurrentWeapon = Weapon0;NextWeapon = Weapon1;Weapon0.active =true;Weapon1.active =false;Weapon2.active =false;}if(WeaponSort == 1){CurrentWeapon = Weapon1;NextWeapon = Weapon2;Weapon0.active =false;Weapon1.active =true;Weapon2.active =false;}if(WeaponSort == 2){CurrentWeapon = Weapon2;NextWeapon = Weapon0;Weapon0.active =false;Weapon1.active =false;Weapon2.active =true;}if(WeaponSort >= 3){WeaponSort = 0;}}