Unity 游戏黑暗之光笔记

第二章 创建角色场景

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

2. 创建UI

Unity 游戏黑暗之光笔记第二章 创建角色场景_游戏开发

Unity 游戏黑暗之光笔记第二章 创建角色场景_游戏开发_02

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


3. 设计Idle状态的两个角色Prefabs

4. 控制所有的角色的创建和显示:

创建一个空物体更名为characterCreation,添加控制选择角色的脚本,注意位置与你所放模型的位置一致

把制作好的gameobject挂载到,Next和Prev按钮的On click Notify上,并制定对应的Method

Unity 游戏黑暗之光笔记第二章 创建角色场景_游戏开发_03

    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中增添数字并指定相应模型

Unity 游戏黑暗之光笔记第二章 创建角色场景_游戏开发_04网络游戏开发】