我需要为我的小角色生成对象才能跳过。我有这些障碍物的艺术品,我的角色可以跳跃,我有一个滚动的背景。
如何在 x 轴上为我的障碍生成我的作品,并在它们之间留出间距?
任何人都可以为我提供一些示例代码或至少尝试为我指出正确的方向吗?
非常感谢,詹姆斯
是的。您可以。您希望使用某种循环来生成它们:您可以使用 2 个选项:
local function frameHandler()
if should_I_make_object() then
createObstacle()
end
end
Runtime:addEventListener("enterFrame", frameHandler)
此方法将根据帧速率创建新对象。IE,让比如说,您每 100 帧创建一次对象。这将使关卡发挥在具有不同帧速率的不同设备上相同(具有相同数量的障碍物)
选项 2:
local function createObstacle()
--your_create_obstacle_code()
if game_is_still_playing() then
timer.performWithDelay(object_spawn_delay, createObstacle)
end
end
此选项将每 object_spawn_delay 毫秒创建一个新对象。这很容易编码,当你需要事情发生时,这是一个很好的解决方案与时间相关的间隔。但是您确实需要代码来决定游戏是否仍在播放。另外,请注意,如果游戏结束,可能仍然会有一个挥之不去的回调createObstacle() 可以创建令人讨厌的错误。确保在以下情况下进行适当的清理关卡/游戏结束,请注意此回调可能有问题。