【问题标题】:SpriteKit Sprite Node Not MovingSpriteKit Sprite 节点不移动
【发布时间】:2015-04-06 17:17:54
【问题描述】:

当您打开游戏时,您在教程中单击“开始”,然后会出现一个图像。当一个人刷这个图像时,如果它没有进入游戏结束屏幕,图像应该飞出屏幕。可以在第 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 文件中。]

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

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

【问题讨论】:

  • 您不应提供 Dropbox 链接。这可以是垃圾邮件、病毒,等等。最好在此处复制代码的相关部分。此外,您正在公开发布此链接,因此您的“信任”可以被利用...
  • @DiegoFreniche 感谢您的意见。我非常希望让愿意回答的人能够在 IOS 模拟器中运行所有代码来查看问题。我将如何发布代码以便人们可以这样做?
  • 如果你想让 每个人 看到你的代码,请在 Github 上创建一个公共 repo 并将链接粘贴到此处。执行git clone 比下载/解压缩 zip 文件容易得多
  • 另外,在这里发布您在问题中评论过的代码片段
  • @DiegoFreniche 非常感谢!我会在接下来的 10 分钟内解决这些问题。

标签: swift ios8 sprite-kit skspritenode


【解决方案1】:

看起来你在这里运行相同的操作:

//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)

【讨论】:

  • currentScreen、currentImage 和 currentTimeBar 都应该向右移动。其他动作用于引入“新”项目。我的问题是,尽管我对所有这些都运行了相同的操作,但该操作对图像不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多