iOS Unity后台切换与界面管理

IOS Unity 切后台 unity界面_Image

在Unity中创建一个简单的UI界面
   

实现的效果为:设置一个触发盒子,当玩家触发后显示一个游戏结束界面,并结束游戏。

IOS Unity 切后台 unity界面_Unity_02

1、新建画布

在Hierarchy中新建一个Canvas。命名为Canvas。

IOS Unity 切后台 unity界面_触发器_03

双击刚才创建的画布Canvas。如果需要,可以调整其属性。默认情况下这个画布会铺满整个屏幕。

IOS Unity 切后台 unity界面_Image_04

编辑UI时应该关掉特效,打开2D界面。(如下图所示)
IOS Unity 切后台 unity界面_IOS Unity 切后台_05

2、新建背景

选中刚才创建的Canvas,在Canvas下新建一个UI-Image。命名为Background。这个组件用于设置UI的背景。

IOS Unity 切后台 unity界面_Unity_06

选中刚才创建的Background。通过调整数值令其铺满整个画布(Canvas)。

还可以通过更改其Image组件的Color属性更改其背景颜色。(如下图所示)

IOS Unity 切后台 unity界面_IOS Unity 切后台_07

3、在背景上添加图片

右键刚才创建的背景,再新建一个UI-Image作为其子项,命名为Image。

IOS Unity 切后台 unity界面_触发器_08

点击新建的这个组件,为其添加图片。还可以调整其位置。(如下图所示)

IOS Unity 切后台 unity界面_Image_09

效果如下所示。

IOS Unity 切后台 unity界面_Unity_10

4、为BackGround添加Canvas Group组件

UI开始的时候不能显示,所以应该设置成透明。

选中创建的背景Background,为其添加Canvas Group组件。在这个组件中将Alpha属性设置成0。

这样UI开始时就会是透明的。在需要用到的时候令其Alpha改变即可令其显示。

IOS Unity 切后台 unity界面_Image_11



5、结束触发器以及显示UI

创建一个空组件,添加Box Collition组件,打开Is Trigger属性。

IOS Unity 切后台 unity界面_UI_12

为这个空组件添加脚本,命名为GameEnding。代码如下:

登录后复制


using UnityEngine;

public class GameEnding : MonoBehaviour
{
    bool PlayerAtExit = false;
    public GameObject player;
    //UI
    public CanvasGroup backgroundImageCanvasGroup;
    //显示UI的时间
    public float disableImageDuration = 4.1f;
    //透明度
    float timer;
    //更改透明度的时间
    public float fadeDuration = 1.0f;
    //触发器事件,传入控制的触发器
    private void OnTriggerEnter(Collider other)
    {
        //如果进入触发器的时玩家
        if (other.gameObject == player)
        {
            PlayerAtExit = true;
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (PlayerAtExit)
        {
            EndLevel();
        }
    }
    //结束关卡
    void EndLevel()
    {
        timer += Time.deltaTime;
        backgroundImageCanvasGroup.alpha = timer / fadeDuration;
        if (timer > fadeDuration + disableImageDuration)
        {
            //退出应用(打包后生效)
            Application.Quit();
            //编辑器内退出
            UnityEditor.EditorApplication.isPlaying = false;
        }
    }
}

将角色以及Background传入脚本中。

IOS Unity 切后台 unity界面_触发器_13

运行游戏,可以看到角色走到触发盒子中后,UI成功触发。

   

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空