当您打开游戏时,点击" 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,所以我无法进行转换。我道歉。
答案 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)