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选择如下属性,包裹整个对话框
- 然后在这里选择UIMask,让其不会挡住对话框本体
- 最后编辑好文本就行了