乐趣区

关于unity:Unity-游戏黑暗之光笔记第二章-创建角色场景

Unity 游戏光明之光笔记
第二章 创立角色场景

  1. 开始角色创立场景,导入模型和 UI 资源:
  2. 创立 UI


具体参考上一章的放出的 NGUI 的网址

  1. 设计 Idle 状态的两个角色 Prefabs
  2. 管制所有的角色的创立和显示:
    创立一个空物体更名为 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 中削减数字并指定相应模型

退出移动版