BlocklyNukkit WIKI

这里是BN百科

章节导览


代码延迟执行

在调用PlayerJoinEvent时,我们刚开始加载地形,所以有点早
那么如何让代码晚一点执行呢?
这时候就用到了延迟调用manager.createTask
就像这样

function PlayerJoinEvent(ent)  
    local play = ent:getPlayer()  
    play:sendMessage("欢迎" .. play:getName() .. "进入服务器!")  
end  

加上延迟调用,延迟40刻(tick)
1tick=0.05s=50ms

function PlayerJoinEvent(ent)  
    local play = ent:getPlayer()  
    manager:createTask('delayFunction', 40)  
end  
function delayFunction(tick)  
    play:sendMessage("欢迎" .. play:getName() .. "进入服务器!")  
end  

也可以通过F()函数这个语法糖直接传入闭包来完成

function PlayerJoinEvent(ent)  
    play = ent:getPlayer()  
    manager:createTask(F(function (tick)  
			play:sendMessage("欢迎" .. play:getName() .. "进入服务器!")  
		end 
	), 40)  
end  

不满意?前往编辑此页面

导航