gpt4 book ai didi

swift - SpriteKit - 创建随机对象并使用 deltatime 移动它们

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:58 24 4
gpt4 key购买 nike

在我的游戏中,我想每隔几秒调用一个函数,从数组中创建随机对象。目前我正在像这样通过 SKAction 移动这些对象:

func createRandmoObject() {
let random = arc4random_uniform(4)
randomObject = randomObjects[random]

randomObject.runAction(SKAction.moveTo(CGPoint(x: randomObject.position.x, y: 0 - randomObject.size.height), duration: 3))

addChild(randomObject)

}

当物体击中玩家时,它会被移除,然后再次调用该函数。这种方法的问题是我发现对象的运动并不总是平滑的,当帧率由于某种原因下降时,会出现卡顿。现在我知道如何在 update 方法中计算增量时间,但我不确定如何将它应用到一个对象,当该对象不断变化并且不总是在屏幕上时,还有一些其他类似的对象(让我们想想它们作为敌人,还有另一个函数可以创建另一个敌人)那么我怎样才能让这些随机对象根据 deltatime 而不是 SKAction 移动?

最佳答案

虽然您可以在 spritekit 项目中使用 SKAction,但如果您的游戏是基于物理的,则您应该对所有 sprite 运动使用更新方法。 SKactions 适用于简单的游戏,但如果您的游戏涉及碰撞和随机移动,则更新方法是您的不二之选。

关于swift - SpriteKit - 创建随机对象并使用 deltatime 移动它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com