RPG黑暗之光Part2:角色创建

RPG黑暗之光Part2:角色创建


1.Part1创建完成继续进行角色创建过程中出现一点问题,在角色导入的时候贴图丢失了。这直接导致强迫症的我跑去学习了3dmax的相关知识,结果一波三折最终还是用下面讲到的方法解决了。闲话不多说开始今天的角色创建,在上一个场景直接ctrl+d复制一个就行了。删除角色创建中不需要的UI控件和脚本即可。

 

 

 

2.接下来调整摄像机位置到合适位置创建UI控件这里用到的方法基本和上一章一样,这里不详细讲解了。在合适位置新建空对象用来产生游戏人物即可,最终完成这个效果即可。

 

 

 

3.CharacterSpawn中新建脚本用来控制场景跳转和按键响应方法,我们用selectIndex来控制角色上下调整,由于prefabs文件夹中内容没有被初始创建,所以我们要通过Instantiate方法创建对象。将prefabs中的两个角色拖到unity窗口里的脚本内即可。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CharacterCreation : MonoBehaviour {
    public GameObject[] character;
    private int length;
    private int selectIndex = 0;
    public UIInput nameInput;
    private void Start()
    {
        int count = 0;
        length = character.Length;
        foreach(GameObject x in character)
        {
            character[count] = Instantiate(x, transform.position, transform.rotation);
            count++;
        }
        ShowCharacter();
    }
    public void OnNextButton()
    {
        selectIndex++;
        if (selectIndex == length)
        {
            selectIndex = 0;
        }
        ShowCharacter();
    }
    public void OnPreButton()
    {
        selectIndex--;
        if (selectIndex < 0)
        {
            selectIndex = length - 1;
        }
        ShowCharacter();
    }
    public void OnOkButton()
    {
        string name = nameInput.value;
        PlayerPrefs.SetString("name", name);
        PlayerPrefs.SetInt("selectIndex", selectIndex);
    }
    private void ShowCharacter()
    {
        for(int i = 0; i < length; i++)
        {
            character[i].SetActive(false);
            if (i == selectIndex)
            {
                character[i].SetActive(true);
            }
        }
    }
}


4.最后设置一下按钮声音调试一下即可。

 

 

猜你喜欢

转载自blog.csdn.net/icesony/article/details/78069592
今日推荐