Appearance
开发者常见问题
在查阅开发者学院中的脚本API时,若有任何问题或建议,欢迎通过问卷进行反馈!【点我填写问卷】
1. 常用快捷键:
撤销-Undo(Ctrl+Z)
剪切-Cut(Ctrl+X)
复制-Copy(Ctrl+C)
粘贴-Paste(Ctrl+V)
插入ID-Insertld(Ctrl +I)
查找-Find(Ctrl+F)
全选-SelectAll(Ctrl+A)
批量注释/取消注释-Notes (Ctrl+/)
2. 如何等待1秒后继续执行?
Lua
threadpool:wait(1)
3. 如何打印错误日志到调试面板
print
- 参数及类型:
- ...:number 、 string 、 boolean、数组、kv
- 返回值及类型:
- 无
- 该方法的主要作用: 打印信息
lua
print("hello ",1,true)
printError
- 参数及类型:
- ...:number 、 string 、 boolean、数组、kv
- 返回值及类型:
- 无
- 该方法的主要作用: 打印错误信息
lua
printError("hello ",1,true)
4. Block中的data在什么地方使用
data使用有具体需求,此处不建议开发者使用。开发者尽可能使用已封装过的没有data的新接口。
5.Event 需要更详细的用法及参数解释
Event即为开发者事件,是指玩家在游戏内进行了某些操作后触发的对应事件。比如玩家点击了某个方块, 这时就会触发玩家的点击方块事件,即名为"Player.ClickBlock"的事件,开发者只要注册监听该事件就能进行点击方块后的对应操作。 注册监听事件的方法如下:ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], function(event_args) ... end)。 而开发者事件在进行回调时会传回来一些对应的参数,每个开发者事件对应的参数可参考wiki中的事件系统部分。
6.appendSpeed 接口中的x,y,z参数信息
该接口的参数x,y,z表示设定一个移动距离,需要传入整数。
案例:假设把Z设定为5,当执行一次该接口后,那么objid就会向+z轴移动5格的距离
写法:appendSpeed(objid,0,0,5)
7.World 类中可否提供一个获取有所有 Actor 的方法,或者历遍其的方法 (非 World:getActorsByBox)
由于游戏机制及效率考虑的原因,此功能不给予提供。但我们会提供触发器生物库的ActorId表
8. 播放UI动效时,如何指定不同的动效 https://dev-wiki.mini1.cn/ugc-wiki/apis/customui.html#playelementanim
-- 显示动效 |
---|
10001 渐显 |
10002 放大显示 |
10003 缩小显示 |
-- 隐藏动效 |
20001 渐隐 |
20002 放大隐藏 |
20003 缩小隐藏 |
-- 循环动效 |
30001 颤抖 |
30002 跳动 |
30003 心跳 |
30004 摇摆 |
30005 旋转 |
30006 翻转 |
30007 顺时针扫描 |
30008 逆时针扫描 |
30009 闪烁 |
-- 文字动效 |
40001 打字机 |
9.界面中的克隆元件接口如何使用
克隆体id获取方法:
1、克隆体的id为母体id#clone1、2、3。 例如“7517482985765730755-134493_3#clone2”
2、如果克隆带子元件的元件时,其子元件会被一同克隆,此时如果想要获取子元件的id,可以用以下两种方式:
a. 直接在子元件id+#clone1、#clone2,每克隆一次+1,例如"7517482985765730755-134493_3#clone2"
b. 用克隆体父元件id.老子元件id,例如"7517482985765730755-134493_1#clone1.7517482985765730755-134493_3"
详细示例:
- 首先如图我们制作一个层级关系的示例:
- 界面中的id如下表格所示
元件 | id |
---|---|
7517482985765730755-134493_1 | |
7517482985765730755-134493_2 | |
7517482985765730755-134493_3 | |
![]() | 7517482985765730755-134493_4 |
![]() | 7517482985765730755-134493_5 |
我们编写了一段代码,用来克隆元件,然后将克隆出来的子元件隐藏
lualocal Script = {} --属性定义 Script.propertys = { } -- 需要开放给别的组件访问的函数需要配置 Script.openFnArgs = { } -- 组件启动时调用 function Script:OnStart() -- 监听UI按钮点击事件(元件id) self:AddTriggerEvent(TriggerEvent.UIButtonTouchEnd, self.OnUIButtonTouchEnd) --输出点击按钮的id self:AddTriggerEvent(TriggerEvent.UIButtonClick, self.OnUICloneButtonClick, "7517482985765730755-134493_4") --点击克隆按钮 self:AddTriggerEvent(TriggerEvent.UIButtonClick, self.OnUIHideButtonClick, "7517482985765730755-134493_5") --点击隐藏克隆出来的按钮 end function Script:OnUIButtonTouchEnd(event) --点击任意按钮时,输出点击按钮的id local id = event.uielement print("任意按钮被点击开始") print('点击了'..id) print("任意按钮被点击结束") end function Script:OnUIHideButtonClick(event) --第一种获取克隆体的子元件的方法,直接在原元件id+#clone1、#clone2,每克隆一次+1,例如"7517482985765730755-134493_3#clone2" --local isSuccess = CustomUI:HideElement(Player:GetHostUin(),"7517482985765730755-134493", "7517482985765730755-134493_3#clone1") --第二种获取克隆体的子元件的方法,用克隆体父元件id.老子元件id,例如"7517482985765730755-134493_1#clone1.7517482985765730755-134493_3" local isSuccess = CustomUI:HideElement(Player:GetHostUin(),"7517482985765730755-134493", "7517482985765730755-134493_1#clone1.7517482985765730755-134493_3") if isSuccess == true then print("隐藏成功") end end function Script:OnUICloneButtonClick(event) --点击克隆按钮时,克隆元件,然后移动元件的位置 local id = CustomUI:CloneElement(Player:GetHostUin(), "7517482985765730755-134493", "7517482985765730755-134493_1") local isSuccess = CustomUI:SetPosition(Player:GetHostUin(),"7517482985765730755-134493" ,id, 600, 200) if id ~= nil then print("克隆元件成功") print("克隆体的id:"..id) --克隆体的id为原元件id+#clone1,例如“7517482985765730755-134493_1#clone1” end end return Script
- 示例视频