我现在正在使用coreMotion移动我的主要角色,但在使用这段代码之后,我遇到了设备方向的问题。
manager.startAccelerometerUpdates()
let data = manager.accelerometerData
manager.accelerometerUpdateInterval = 0.0001
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()){
(data, error) in
self.plane.physicsBody!.applyForce(CGVectorMake(120.0 * CGFloat((data?.acceleration.x)!), 0))
}所以我的新问题是,如何在屏幕的左侧或右侧触摸移动对象,以便角色可以平滑地移动,并且可以在x轴上来回移动而没有问题?
发布于 2016-09-01 03:00:27
每个SKScene都有4个你可以使用的触摸方法(开始,结束,移动,取消)。
例如
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
let location = touch.locationInNode(self)
if location.x < frame.midX { // left side
plane.physicsBody?.applyForce(CGVectorMake(-120.0, 0)) // move left
} else {
plane.physicsBody?.applyForce(CGVectorMake(120.0, 0)) // move right
}
}
}将120调整为你喜欢的值,也取决于你的精灵有多大。
希望这能有所帮助
https://stackoverflow.com/questions/39256670
复制相似问题