gpt4 book ai didi

ios - 使用设备倾斜快速移动 SKPhysicsBody

转载 作者:行者123 更新时间:2023-11-29 01:48:06 26 4
gpt4 key购买 nike

我在屏幕上有一个图像,它是一个 SKSpriteNode,上面附有一个 SKPhysicsBody。我试图通过倾斜设备在屏幕上四处移动它。我让它沿 x 轴移动,但我似乎无法让它沿 y 轴移动。

我使用了本教程的部分内容来达到我的目的。我使用了关于 user ship 的部分让我的图像沿着 x 轴移动。

http://www.raywenderlich.com/76740/make-game-like-space-invaders-sprite-kit-and-swift-tutorial-part-1

func processUserMotionForUpdate(currentTime: CFTimeInterval) {
let ship = childNodeWithName(kShipName)

if let data = motionManager.accelerometerData {
if (fabs(data.acceleration.x) > 0.2) {
ship!.physicsBody!.applyForce(CGVectorMake(40.0 * CGFloat(data.acceleration.x), 0))
}
if (fabs(data.acceleration.y) > 0.2) {
ship!.physicsBody!.applyForce(CGVectorMake(40.0 * CGFloat(data.acceleration.y), 0))
}

}
}

带有 y 的 if 语句是我添加的用于尝试上下移动图像的部分,但它不起作用。

这里的逻辑有错误吗?或者我只是以错误的方式解决这个问题?

最佳答案

当您创建向量以向 y 轴施加力时,您将 y 参数传递到 x 轴。要解决这个问题,您必须交换第二个 applyForce 语句中的参数:

if (fabs(data.acceleration.y) > 0.2) {
ship!.physicsBody!.applyForce(CGVectorMake(0, 40.0 * CGFloat(data.acceleration.y)))
}

关于ios - 使用设备倾斜快速移动 SKPhysicsBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31689570/

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