跳转到内容

事件的使用

事件的使用

--事件注册分为几种类型:注册系统事件、注册游戏内自定义事件、注册游戏内场景信号事件
--注册系统事件
--当事件被触发时执行自定义逻辑,是编程元件中实现功能的最常用方法。我们提供了丰富的事件,具体细节请参考API手册Events类型。
--例如:当玩家跳跃时
System:RegisterEvent(
Events.ON_CHARACTER_START_JUMPING,
function (playerId) -- playerId = 玩家id
Log:PrintLog("ON_CHARACTER_START_JUMPING", playerId)
end
)
--注册自定义事件
--使用GameEvent相关函数,创作者可以自定义游戏内事件,并在需要时在元件脚本调用System.FireGameEvent来发送。
--注册自定义事件的例子
System:RegisterGameEvent("ClientLogger",Game.ClientLogger,self)
--发送事件
System:FireGameEvent("ClientLogger",client_number)
--事件逻辑
function Game:ClientLogger(inNumber)
printLog("client logger"..inNumber)
end
--注册场景信号
--如果需要发送、接收来自场景的信号,那么使用SignEvent相关的API
--接受来自场景信号,例如:
System:RegisterSignEvent("收到场景信号",self.OnReceiveSceneSign)
--发给场景信号,例如:
System:FireSignEvent("开始运动")
--注意:SignEvent相关的API只能在客户端或单击模式时调用,如果想和服务器通信,要使用C/S模式自行处理