为什么此节点的X位置不是屏幕的中心?

时间:2017-11-03 20:07:35

标签: swift sprite-kit

我有一个容器节点,只是初始化没有参数。当添加到场景时,它显示为居中,因为所有子节点都被放置在适当的位置 然后在touchesMoved中我试图使用以下代码允许容器节点在X方向上移动到屏幕宽度的1/3:

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
    let touch = touches.first as UITouch?
    let width = self.frame.size.width
    let startX = touch!.previousLocation(in: self).x
    let currentX = touch!.location(in: self).x

    if container.position.x < width * CGFloat(5.0/6.0) && container.position.x > width * CGFloat(1.0/6.0) {
        container.run(SKAction.moveBy(x: (currentX - startX), y: 0.0, duration: 0.0))
    }

} 

删除if语句条件,但将代码保留在if中,允许容器无限期地无限移动,但if语句根本不会移动。在我看来,容器的x位置应该从中心(宽度* 3/6)开始,这些条件应该允许它通过允许在(宽度* 1/6)和(宽度* 1/6)之间移动而向任一方向移动到边界。宽* 5/6)。这是错误的做法,还是我的逻辑存在缺陷?

0 个答案:

没有答案