[ios]为什么在我的 SpriteKit 游戏,运动逻辑是不同的吗?

标签: sprite-kit ios Swift
发布时间: 2017/4/3 19:20:15
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

人性格。在屏幕上轻拍我运行以下命令︰

for touch in touches {
        let location = touch.locationInNode(self)

        print(location.x)
        print("Pos \(self.magician.position.x)")
        if location.x >= self.magician.position.x {
            print("R")
            self.movingRight = true
        } else {
            print("L")
            self.movingLeft = true
        }
    }

因此,逻辑是︰ 如果 location.x 是 > 比我性格 position.x,然后它意味着,我拍了拍右边和我的性格必须朝着这个方向前进,向右。但我不知道为什么它移到左边当我点击右侧。

有人能解释我为什么逻辑是十分不同的 SpriteKit 吗?

解决方法 1:

上午我的想法你的性格是一个子类的 SKSpriteNode 和你的性格的代码中运行这段代码对吗?

touch.locationInNode(self)

这将返回触摸在协调系统中给定的节点 (个体经营)。因此,如果你的角色的锚点 (0.5,0.5) 即中间节点然后 location.x 将是积极的如果你谈的右侧和负如果触touch在左边。

这与你的角色的 x 和 y 位置的比较将取决于你的场景的锚点,但你的问题来自于试图比较 x 值从 2 个不同的坐标系统。

官方微信
官方QQ群
31647020