好看的界面UI以及好玩有趣的游戏系统离不开界面UI的帮助,在迷你世界Studio中,我们为大家提供了非常简单易用的UI编辑器,这些编辑器可以非常轻松的让小伙伴们可以轻松的驾驭UI界面的设计,可视化的视图编辑也能让小伙伴可以更直观的编辑自己的UI界面,以及相关逻辑。
我们如何去动态以及静态的结合去创建这些界面,并产生关联或与我们的游戏内容息息相关呢,那么让我们一起来学习这些内容吧~
静态创建UI以及编写UI逻辑
首先创建一个控件
在管理器窗口中,找到【StarterGui】对象,右键【StarterGui】弹出菜单
点击【新增节点】创建2DUI载体根节点【2DUIRoot】
右键单击选中我们刚刚创建的【2DUIRoot】点击【新增节点】
创建一个按钮 选中【UIButton】
这样一个按钮的控件就创建好啦~
选中我们的UI控件【UIButton】节点
选择【顶部工具栏】【移动】
可以通过在【游戏渲染视图】中拖拽控件达到修改位置的目的
或在设置中找到【Postition】点击【▶】展开设置X与Y即可
编写按钮的逻辑
右键点击【2DUIRoot】新增脚本节点【LocalScript】
注意:此脚本节点仅在客户端生效
注意:脚本文件与我们刚刚创建的【UIButton】控件为同层级
双击打开我们刚刚创建好的脚本文件【LocalScript】
编写一个点击事件让它可以修改标题以及打印内容
修改标题和打印内容均为”Hello MiniWorld Studio”
事件名称 |
含义 |
拖住滑动或鼠标滚轮结束 |
|
拖住滑动或鼠标滚轮超出UI布局范围 |
|
触摸事件开始 |
|
触摸事件结束 |
|
触摸移动 |
|
点击事件 |
代码展示
--首先获取我们的控件
local uiButton = script.parent.UIButton
--给控件添加一个点击事件Click
--创建一个点击事件函数
--node为当前点击的控件节点SandboxNode类型
--isClick为当前收费点击bool值
--vector2为当前点击位置Vector2类
uiButton.Click:connect(function (node, isClick, vector2)
--修改uiButton的标题为Hello MiniWorld Studio
uiButton.Title = "Hello MiniWorld Studio"
--输入Hello MiniWorld Studio
print("Hello MiniWorld Studio")
end)
点击顶部【启动】按钮开启调试
效果展示
对象的概念
对象的组成由属性、事件、和方法三要素
属性:是存放对象的数据外观、功能等,如【名称、大小、文本、颜色、性格】等等
事件:程序执行的次序与设计无关,取决于用户的操作,这就是事件的设计方式
方法:对象的行为以及动作,比如拉手手...方法是面向对象的,调用要指明对象如:【对象.方法】
以上就是对象的基本概念啦
动态创建UI以及编写UI逻辑
动态创建一个按钮
并设置它的相关属性
事件名称 |
含义 |
类型 |
Icon |
图标 |
String |
Title |
标题 |
String |
TileSize |
标题大小 |
Number |
DownEffect |
按下特效 |
DownEffect |
Size |
按钮大小 |
Vector2 |
Position |
按钮位置 |
Vector2 |
Alpha |
描边 |
Number |
OutlineEnable |
开启描边 |
Bool |
ShadowEnable |
开启阴影 |
Bool |
Click |
点击事件 |
Function |
代码展示
--获取根节点UI布局
local uiRoot = script.parent
--动态创建按钮对象
local button= SandboxNode.new('UIButton', uiRoot)
--设置按钮Icon图标
button.Icon = 'ui\\mobile\\texture0\\common\\board_activity_box_white.png'
--设置按钮标题
button.Title = "Button"
--设置按钮标题大小
button.TitleSize = 36
--设置按下特效
button.DownEffect = Enum.DownEffect.ScaledEffect
--设置按钮大小
button.Size = Vector2.new(100, 50)
--设置按钮位置
button.Position = Vector2.new(200, 100)
--设置描边
button.Alpha= 1
--设置开启描边
button.OutlineEnable= true
--设置开启阴影
button.ShadowEnable= true
--设置按钮点击Click事件
uiButton.Click:connect(function (node, isClick, vector2)
--输入Hello ChengJunWen
print("Hello ChengJunWen")
end)