1 Star 0 Fork 0

张寅泉/UnLua

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
04_DynamicBinding.lua 1.45 KB
一键复制 编辑 原始数据 按行查看 历史
xuyanghuang 提交于 2021-11-16 16:40 +08:00 . 修改:命名变更 UE4 -> UE
--[[
说明:除了实现 UnLuaInterface 的静态绑定方式外,还可以在运行时动态绑定对象到Lua
对于 Actor 类,可以使用 SpawnActor 接口,例如:
World:SpawnActor(SpawnClass, Transform, AlwaysSpawn, self, self, "Tutorials.GravitySphereActor")
对于非 Actor 类,可以使用 NewObject 接口,例如:
NewObject(WidgetClass, self, nil, "Tutorials.IconWidget")
注意:无论哪种绑定方式,都需要指定脚本文件路径。它是一个相对于 {工程目录}/Content/Script 下的相对路径。
]]--
require "UnLua"
local Screen = require "Tutorials.Screen"
local M = Class()
function M:ReceiveBeginPlay()
local msg =
[[
鼠标左键:创建动态绑定的 Actor
鼠标右键:创建动态绑定的 Object
—— 本示例来自 "Content/Script/Tutorials.04_DynamicBinding.lua"
]]
Screen.Print(msg)
end
function M:LeftMouseButton_Pressed()
local World = self:GetWorld()
local SpawnClass = self.SpawnClass
local Transform = self.SpawnPointActor:GetTransform()
local AlwaysSpawn = UE.ESpawnActorCollisionHandlingMethod.AlwaysSpawn
World:SpawnActor(SpawnClass, Transform, AlwaysSpawn, self, self, "Tutorials.GravitySphereActor")
end
function M:RightMouseButton_Pressed()
local WidgetClass = self.WidgetClass
local img = NewObject(WidgetClass, self, nil, "Tutorials.IconWidget")
img:AddToViewport()
img:RandomPosition()
end
return M
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Lua
1
https://gitee.com/zhang-yinquan/UnLua.git
git@gitee.com:zhang-yinquan/UnLua.git
zhang-yinquan
UnLua
UnLua
master

搜索帮助