Unity 游戏光明之光笔记
第二章 创立角色场景
- 开始角色创立场景,导入模型和UI资源:
- 创立UI
具体参考上一章的放出的NGUI的网址
- 设计Idle状态的两个角色Prefabs
- 管制所有的角色的创立和显示:
创立一个空物体更名为characterCreation,增加管制抉择角色的脚本,留神地位与你所放模型的地位统一
把制作好的gameobject挂载到,Next和Prev按钮的On click Notify上,并制订对应的Method
public GameObject[] characterPrefabs; //取得角色模型 public UIInput nameInput;//用来失去输出的文本 private GameObject[] characterGameObjects; private int selectedIndex = 0; //抉择的索引 private int length;//所有可供选择的角色的个数 void Start () { //取得角色模型的个数 length = characterPrefabs.Length; characterGameObjects = new GameObject[length]; //用for循环遍历角色的数组,实例化具体模型 for (int i = 0; i < length; i++) { characterGameObjects[i] = GameObject.Instantiate(characterPrefabs[i], transform.position, transform.rotation) as GameObject; } UpdateCharacterShow(); } void UpdateCharacterShow() {//更新所有角色的显示 characterGameObjects[selectedIndex].SetActive(true); for (int i = 0; i < length; i++) { if (i != selectedIndex) { characterGameObjects[i].SetActive(false);//把为抉择的角色设置为暗藏 } } } public void OnNextButtonClick() {//当咱们点击了下一个按钮 selectedIndex++; selectedIndex %= length; UpdateCharacterShow(); } public void OnPrevButtonClick() {//当咱们点击了上一个按钮 selectedIndex--; if (selectedIndex == -1) { selectedIndex = length - 1; } UpdateCharacterShow(); } public void OnOkButtonClick() { PlayerPrefs.SetInt("SelectedCharacterIndex", selectedIndex);//存储抉择的角色 PlayerPrefs.SetString("name", nameInput.value);//存储输出的名字 //加载下一个场景 }
如果多个角色模型抉择,在Size中削减数字并指定相应模型