目录
制作一个简单的UI
步骤1:添加一个界面,并显示在屏幕上
【知识点】在关卡界面调用控件的值
步骤2:蓝图控制文字改变
【知识点】控件蓝图的触发情况
步骤3:用鼠标点击完成后,输入框和按钮消失
【知识点】鼠标的显示
制作一个简单的UI
【目的】输入名称之后,名字改变,并提示我改名成功
我希望的最终效果是:
1、原本的姓名栏写着:姓名未知
2、在输入框输入新的姓名后,点击确定,姓名修改为XXX
于是,我做出以下步骤:
步骤1:添加一个界面,并显示在屏幕上
根据最终效果可以得知包含的控件有:
1、整个窗体
2、姓名栏、姓名
3、输入框
4、按钮+确定
于是稍加排布,得到以下效果:
其中,姓名会发生变化,需要先进行控件绑定。
点击绑定时会自动打开一个Get Text的蓝图,添加字符串变量后将眼睛打开,这样就可以允许其他地方使用这个值(不打开似乎也可以)。
添加蓝图,使其显示在屏幕上。
【知识点】在关卡界面调用控件的值
如果想在关卡蓝图添加这个变量,先关闭情景关联的勾,再直接搜索变量名,不要下划线。
步骤2:蓝图控制文字改变
我希望在文字框中输入文字后,点击按钮,输入的文字会变化到姓名框。
由于涉及两个框体和变量,这里先整理一下蓝图和变量值的对应关系。通过上文可以为姓名框建立蓝图和变量值,用同样的方法为输入框也建立蓝图和变量值,注意起名一定要清晰不要弄混:
有两个蓝图内有逻辑内容:
【知识点】控件蓝图的触发情况
这里涉及到的问题是,这个蓝图流程是如何运作的。
首先对于控件的总蓝图来说,触发的事件是根据具体发生的事件触发的,通常一次性触发,可以在控件的详情里添加。如图上的点击按钮和文字变化。
那么对于控件自带的控件蓝图,会以什么方式触发呢?答案是永久触发。这里做一个简单的尝试,如果姓名框的文字变量连接的不是text_val,而是textbox_val,也就是输入框的文字时,会发现更改输入框时,姓名框也会发生完全同步的变化,说明是随时随地触发。
步骤3:用鼠标点击完成后,输入框和按钮消失
在开始游戏时,鼠标会带着视窗一起移动,这不是希望的结果,所以这里在视窗出现时,将鼠标操作锁死。
当完成名字输入后,输入框和按钮均消失
【知识点】鼠标的显示
在一些界面操作时,会用到鼠标的显隐,因此需要让鼠标失去视口操作功能,变成一个普通用来点击的鼠标。这时候需要用到的节点是:
这样就完成一个最简单的界面功能,是不是比想象中的简单很多?
【目的达成啦!】输入名称之后,名字改变