SpriteKit Sprite节点不移动

时间:2015-04-06 17:17:54

标签: swift ios8 sprite-kit skspritenode

当您打开游戏时,点击" Go"在教程中,然后出现一个图像。当滑动此图像时,如果它没有通过屏幕进入游戏,则图像应飞离屏幕。可以在第365行和第446行找到此操作。

var swipeTrueCurrentScreen = SKAction.moveToX(self.frame.size.width * 2, duration: 0.5)
currentImage.runAction(swipeTrueCurrentScreen)

然后应从顶部或底部进入新图像。但是,相反,顶部的时间条以及背景都在屏幕上飞行,而图像则没有。正如您在代码中看到的那样,我告诉" CurrentImage"飞离屏幕" NewImage"从顶部开始,我在第160-161行定义了这些变量。

currentScreen = screen1; currentImage = screenImage1; currentTimeBar = timeBar1
    newScreen = screen2; newImage = screenImage2; newTimeBar = timeBar2

我还在移动图像的函数内的第382-400行上切换这些变量。

//here, switch the currentScreen with the newScreen so that the process can be repeated
            if newScreen == screen1 {

                newScreen = screen2
                newImage = screenImage2
                newTimeBar = timeBar2
                currentScreen = screen1
                currentImage = screenImage1
                currentTimeBar = timeBar1

            } else {

                newScreen = screen1
                newImage = screenImage1
                newTimeBar = timeBar1
                currentScreen = screen2
                currentImage = screenImage2
                currentTimeBar = timeBar2

            }

我的问题是这个图像没有移动,可以通过在IOS模拟器中运行代码看到。

我附上了整个代码文件,我希望没有人会误用它,因为我相信StackOverflow社区。请问,这个问题的截止时间非常紧迫,我很感激任何评估这个问题的尝试。

谢谢!

[所有对行号的引用都在GameScene.swift文件中。]

可以在以下网址找到代码: [Zip文件链接到代码] [1]

编辑:我注意到Dropbox链接不是分发代码的最佳方式。但是,我担心我不熟悉GitHub,所以我无法进行转换。我道歉。

1 个答案:

答案 0 :(得分:0)

您似乎在这里运行相同的操作:

//swipe word and screen
currentImage.runAction(swipeTrueCurrentScreen)
currentTimeBar.runAction(swipeTrueCurrentScreen)
currentScreen.runAction(swipeTrueCurrentScreen)

虽然你要定义几个动作:

var swipeTrueCurrentScreen = SKAction.moveToX(self.frame.size.width * 2, duration: 0.5)
var bringNewScreen = SKAction.moveToY(self.frame.size.height * 0.5, duration: 0.5)
var bringNewTimeBar = SKAction.moveToY(self.frame.size.height * 0.985, duration: 0.5)