unity学习笔记

一、玩家状态

创建一个用于玩家管理的脚本,命名为PlayerManagerControl。

现在为玩家角色设置属性。

    //属性值
    public int LifeValue = 3;
    public int PlayerScore = 0;

如果我们想要玩家调用这个玩家管理,就需要把它设置为单例模式。

    //单例
    private static PlayerManagerControl instance;
    public static PlayerManagerControl Instance
    {
        get
        {
            return instance;
        }
        set
        {
            instance = value;
        }
    }

然后在Awake方法中实例化这个单例。

需要一个玩家复活方法,用于检测玩家是否死亡。

这个方法的逻辑是首先判断玩家生命值是否小于等于0,如果没有就生命值减一。

 public void Recover()
    {
        if(LifeValue <= 0)
        {
            //返回主界面
        }
        else
        {
            LifeValue--;
            GameObject go = Instantiate(born, new Vector3(-2, -8, 0), Quaternion.identity);
            go.GetComponent().isPlayer = true;
            IsDead = false;
        }
    }

将这个方法在update里面调用,并且在玩家每次死亡是将IsDead属性设置为false。

    void Update()
    {
        if (IsDead)
        {
            Recover();
        }
    }

最后的效果是玩家被敌人子弹击中会在基地附近复活

二、游戏UI制作

需要制作击败敌人的个数和玩家的生命值的显示图案和文本

创建两个组件

然后在脚本中声明两个Text变量

    public Text PlayerScoreText;
    public Text LifeValueText;

然后让其等于:

        PlayerScoreText.text = PlayerScore.ToString();
        LifeValueText.text = LifeValue.ToString();

然后在unity中将对于的组件关联起来,

这样玩家的得分和生命值就显示出来了:

unity学习笔记_第1张图片

现在创建游戏失败的显示UI

声明对应变量

    public GameObject GameOverUI;

当玩家生命值为0或者基地被毁,就会将IsDefeat设置为true。

        if (IsDefeat)
        {
            GameOverUI.SetActive(true);
            return;
        }

效果如下:测试基地被毁时触发游戏结束。

unity学习笔记_第2张图片

三、创建进入游戏的场景

在新场景中新建一个Image,使用开始界面图片。在创建一个选项的Image。

再创建两个空物体,分别命名为Pos1和Pos2,作为选项的跳转。

最后效果如下:

unity学习笔记_第3张图片

选项的实现逻辑是按下W、S键,选项会上下移动,然后按下空格后进入游戏场景。

新建脚本编写逻辑

    private int choice = 1;
    public Transform posOne; 
    public Transform posTwo;

声明需要使用的变量用来控制对应选项。

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
        {
            transform.position = posOne.position;
            choice = 1;
        }else if (Input.GetKeyDown(KeyCode.S))
        {
            transform.position = posTwo.position;
            choice = 2;
        }

        if(choice == 1 && Input.GetKeyDown(KeyCode.Space))
        {
            SceneManager.LoadScene(1);
        }
    }

当按下不同的按键会进行选项跳转,在选项一并按下空格就会进行游戏场景。

然后我们把这两个新建的场景拖进我们的这个build setting里,因为只有在build setting里加载场景的序列里,它才可以进行场景的加载。

unity学习笔记_第4张图片

效果如下:

unity学习笔记_第5张图片

你可能感兴趣的:(unity,学习,笔记)