Unity_Live2d

在脚本中操作UI_text

  • 最首先的就是调用命名空间:UnityEngine.UI;
  • 然后使用其中的Text类,去获取游戏中的UI_text文本对象,例如下面代码:
public Text score         //score是自拟命名
  • 在改变text文本内容时,去访问其中有的text属性,例如下面代码:
score.text="score";         //改变text文本内容为score
  • 用以上操作可以得到UI界面的金币天数等text文本对象,然后对其修改,可以写一个UpdateUI的方法作为UI更新方法,每次有某个值有变化之后调用一下即可。

模拟天黑

  • 首先清楚下原理,不是光效模拟,而是UI界面变黑变白的模拟方法,具体操作就是做一个Image去包住整个UI界面然后再调成黑色,最后对其透明度改变来做模拟,操作方式如下。
  • 首先,创建一个image,然后将颜色调成黑色,然后按下图设置包裹整个UI界面,打开如下面板后按住alt键去选择最后一个即可。
  • 接着我们去调试一下透明度,就可以模拟天黑天亮了,然后在代码中附上透明度变化的代码即可
    代码演示如下:
//得到遮罩
    public Image mask;
    //定义过度天亮_天黑开关
    private bool toAnotherDay1 = false;
    //定义过度天黑_天亮开关
    private bool toAnotherDay2 = false;
    void Update () {
        if(Input.GetKeyDown(KeyCode.M))
        {
            toAnotherDay1 = true;
        }
        if(toAnotherDay1)
        {
            dark();
        }
        if(toAnotherDay2)
        {
            Dawn();
        }
	}
    //天黑
    public void dark()
    {
        mask.color += new Color(0, 0, 0, 0.01f);
        if(mask.color.a>=0.9f)
        {
            mask.color = new Color(0,0,0,1);
            toAnotherDay2 = true;
            toAnotherDay1 = false;
            UpdateUI();
        }
    }
    //天亮
    public void Dawn()
    {
        mask.color -= new Color(0, 0, 0, 0.01f);
        if (mask.color.a <= 0.1f)
        {
            mask.color = new Color(0, 0, 0, 0);
            toAnotherDay2 = false;
            Date -= 1;
            UpdateUI();
        }
    }

以上代码达到的效果是按下M键慢慢天黑,然后再慢慢天亮,之后调用UpdateUI(之前写的方法)去更新UI界面的天数。

对话框的制作

  • 首先要创建一个image,然后将准备好的贴图贴上去,并调整大小,位置到合适,或许会用到九宫贴图的操作(九宫贴图)
  • 然后是在其之下创建一个按钮,在其让其按钮像之前创建的天黑遮罩Mask一样选择,按住Alt选择如下属性,包裹整个对话框
  • Unity文本组件换行 unity如何在脚本中改变text_贴图

  • 然后在这里选择UIMask,让其不会挡住对话框本体
  • Unity文本组件换行 unity如何在脚本中改变text_UI_02

  • 最后编辑好文本就行了