unity--初步完成游戏关卡时的ui界面

9 篇文章 0 订阅

1.创建End

创建一个3d的object,cube。rename成End。当player碰到他就算结束或者进行下一关。

将End的xyz修改成合适的数值,与Ground长度一致,即我们正常动player就会碰上它。

关掉End的Mesh Renderer,就会隐藏掉。以防止看不见,我们加一个红色标签,靠近时会显示出来,我们就知道End在哪放着。

2.打开End的is Trigger

3.创建一个新的脚本End

4.将脚本挂载在End上

5.在脚本里引入相应的一些东西

end脚本

if调用

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

public class End : MonoBehaviour
{
    public GameManager gameManager;
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag=="Player")
        {
            gameManager.CompleteLevel();

        }
       
       
    }
}

Gamemanager脚本

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;//使用场景管理器的时候

public class GameManager : MonoBehaviour
{
    bool gameHasEnded=false;
    public float ResetTime=1f;
   public GameObject completelevelUI;
    public void CompleteLevel()
    {
        /*Debug.Log("win");//player碰上end时会出现这个结果*/
        completelevelUI.SetActive(true);//SetActive激活管理出现字

    }

    private void SetActive(bool v)
    {
        throw new NotImplementedException();
    }

    public void EndGame()//角色死亡时候触发游戏结束的这个函数
    {
        
        if (gameHasEnded ==false)
        {
            gameHasEnded= true;
            Debug.Log("Game over");
            Reset();
            Invoke("Reset",ResetTime);
          

        }
    }
    private void Reset()//重启游戏
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);//使用LoadScene来加载场景,激活的场景。
        //SceneManager.LoadScene("TestCube");
    }
}

将GameManager挂进来!!!

在canvas处创建一个panel

改名成LevelCompete

image处将Source image设置成none就是将来源设置成空的,我将color设置成了粉色

在它下边设置两个text

分别改名成lEVEL和Compete,文案也写相应的。

将LEVEL的字体设置成100,Complete字体设置成70.都要居中放置!!!

如果看不见就放大一点哦!

先将他们隐藏起来:

我圈出来的地方不勾选,我们就在界面中看不到他们了。先不勾选哦。

在GameManager.cs中引入

 public GameObject completelevelUI;
 public void CompleteLevel()
    {
        
        completelevelUI.SetActive(true);//SetActive激活管理出现字

    }

激活一下,布尔值,但是报错,所以我们开头加个包

using System;

这样就不报错了。

赋值

左边拖到右边就ok。

此时,当player碰到End时候触发激活,蹦出来我们最开始写的Levelcompete。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值