13.unity 文字&关闭游戏

今天要新增一个按Esc实行关闭游戏的功能,制作这个功能的用法当然要告诉玩家啦!
利用canvas的text ,文字在视窗上显示"关闭视窗 请按ESC"。

Canvas

首先创建一个Canvas,再於底下创建Text。(可以直接创建Text,系统会自动添加Canvas)
1.png

添加好Canvas後,会发现原本的地图变很小,canvas很大很大!不要怀疑是不是电脑出问题或是跑版,这是因为canvas和地图的渲染不同,canvas最後会整个盖住原本的视窗。
2.png

调整视窗比例 Game→Free Aspect
3.png

如果没有要固定比例,就要注意canvas跑板问题
简单的解决方法是到Canvas Scaler → Canvas Scaler 选择 Scale With Screen Size
3.5.png

如此一来canvas会根据视窗大小自己做伸缩

Text

建立好Canvas之後就可以新增text子物件啦~
4.png

新增之後可以手动调整位置,或是输入值,UI介面还有提供几种排版方式(此篇先不讨论)。
5.png

到Inspector下的Text可以修改文字内容。
Font可以调整字体、粗斜体、大小。
6.png

color可以挑选颜色。
7.png

提示说明新增完毕!
8.png

离开游戏

Application是UnityEngine命名空间中的class

public static void Quit(); //Application class内的方法 Quit()

接下来写离开游戏功能,结合Input来实作

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

public class quitGame : MonoBehaviour
{

    
    void Update()
    {
				 //按下esc键
        if(Input.GetKeyDown("escape")){
            Debug.Log("quit");      //主控台显示quit
            Application.Quit(); //关闭应用程序
            }
    }
}

这个功能要在build之後才看的到效果,游戏程序会直接关闭退回桌面。然而编辑模式,按下开始执行游戏後使用这个功能,会发现没有作用,画面仍然会停留在执行中。

如果想在编辑效果中暂停,可以使用EditorApplication,但是要注意未来在输出游戏时要记得拿掉。
EditorApplication是在UnityEditor命名空间中的class,和Application不一样。
停止游戏执行也不是使用方法,而是一个bool值,负责监测游戏是否执行中。

public static bool isPlaying;

按下执行的时候public static bool isPlaying="true";

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

public class quitGame : MonoBehaviour
{

    
    void Update()
    {
				 //按下esc键
        if(Input.GetKeyDown("escape")){
		        Debug.Log("quit");      //主控台显示quit
            Application.Quit(); //关闭应用程序
						EditorApplication.isPlaying="false";
            }
    }
}

今天静态添加文字,明天来写脚本改变文字吧!


<<:  [Day 13] 资料产品生命周期管理-加工资料(二)

>>:  #13. Split Landing Page(原生JS版), #14. RGB to Hex Converter(原生JS版)

第 30 型 - 环境配置与建构 (Build)

实务上,因应不同的开发阶段,应用程序会运行在开发环境 (Develop Environment)、预...

Day 12 : 套件是甚麽,可以吃吗(

今天终於脱离了比较痛苦(?)的python基础语法教学,开始进入python中不可或缺的一环-套件。...

JavaScript Day 10. 阵列

为什麽需要学到阵列? 假设今天这里有100样东西,我们必须设法执行它,而这时候如果不使用阵列,东西都...

[Day7] Python API起点

笔者以Python作为开发的程序语言,在Python中,有一个好用Web应用程序的套件 - Flas...

[Day21] 发送验证信API – 应用程序密码、设定settings

今天要来说明的是发送验证信API,这支API会有一点点小麻烦,我会分成两个部份来说明,第一个部份是後...