Scroll 更改滚动速度

Scroll 更改滚动速度,scroll,sprite-kit,nstimeinterval,Scroll,Sprite Kit,Nstimeinterval,我有一个节点,我想滚动,我想它的速度变化取决于玩家触摸,我的问题是当玩家触摸的值确实增加,但节点本身保持相同的初始值。我还尝试了在更新方法中进行更改,但也没有成功。 如何解决此问题?创建操作后,您无法更改该操作。在那一刻它将节省速度。它无视未来的变化。你应该在更新循环中移动你的轨迹。在这种情况下不要使用动作如果你不打算使用动作,那么我将如何使它滚动?你以前做过类似的事情吗?当然有。您可以仅使用精灵位置设置动画。不需要采取行动。查看本教程。它将帮助您查看有关滚动的部分background@hamo

我有一个节点,我想滚动,我想它的速度变化取决于玩家触摸,我的问题是当玩家触摸的值确实增加,但节点本身保持相同的初始值。我还尝试了在更新方法中进行更改,但也没有成功。
如何解决此问题?

创建操作后,您无法更改该操作。在那一刻它将节省速度。它无视未来的变化。你应该在更新循环中移动你的轨迹。在这种情况下不要使用动作如果你不打算使用动作,那么我将如何使它滚动?你以前做过类似的事情吗?当然有。您可以仅使用精灵位置设置动画。不需要采取行动。查看本教程。它将帮助您查看有关滚动的部分background@hamobi-他的代码是Swift,但你的教程链接是Obj-C。谢谢你,哈莫比,桑戈尼,Obj-C不是问题:)
 var speed: CGFloat = 5

 override func didMoveToView(view: SKView) {
        /* Setup your scene here */

 var move = SKAction.moveTo(CGPoint(x: node.position.x, y: -(self.frame.height)), duration: NSTimeInterval(speed))
 var reset = SKAction.moveTo(CGPoint(x: node.position.x, y: self.frame.height ), duration: 0)

        var scroll = SKAction.sequence([move, reset])
        node.runAction(SKAction.repeatActionForever(scroll))
    }



    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        /* Called when a touch begins */

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

    speed++
     println(speed)
}