首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift Sprite-kit移动对象

Swift Sprite-kit移动对象
EN

Stack Overflow用户
提问于 2016-09-01 02:33:07
回答 1查看 946关注 0票数 2

我现在正在使用coreMotion移动我的主要角色,但在使用这段代码之后,我遇到了设备方向的问题。

代码语言:javascript
复制
    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轴上来回移动而没有问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-01 03:00:27

每个SKScene都有4个你可以使用的触摸方法(开始,结束,移动,取消)。

例如

代码语言:javascript
复制
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调整为你喜欢的值,也取决于你的精灵有多大。

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39256670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档