【问题标题】:Spritekit Animation not workingSpritekit 动画不起作用
【发布时间】:2018-01-03 16:01:53
【问题描述】:

我正在尝试制作一个游戏,其中主要用户是动画的,我将 gif 转换为 png 并拍摄每一帧并将它们全部放入一个文件夹中。但是,现在我只是想让第一帧出现,但什么也没有出现。抱歉,如果我措辞很奇怪,我的英语不是很好。

现在我认为只有第一帧,“trumpyhappy1.png”应该在我尝试运行它时显示,但当我运行它时什么都没有显示。

【问题讨论】:

  • 发布代码时,请使用代码标签而不是发布图像...无论如何,请检查您的人是否不在屏幕上。打印view.sizescene.size(您也可以添加guy.size),看看是否一切正常。或者,就像在下面的答案中指出的那样,您可能会在 GameViewController 中呈现错误的场景。

标签: swift sprite-kit


【解决方案1】:

所以基本上在 spritekit 中为 spritenode 设置动画你应该这样做

override func didMove() {
    let mainGuy = SKSpriteNode()

    self.addChild(mainGuy)

    // Give your size and position and everything
    // Then to animate that spriteNode with frames 

    let textureAtlas = SKTextureAtlas(named: "trump")
    let frames: [SKTexture] = []

    for i in 0...textureAtlas.textureNames.count {
         var name = "trumphappy\(i).png"
         frames.append(SKTexture(named: name))
    }


   // Then to create the animation add this code

   let animation = SKAction.animate(with: frames, timePerFrame: ) // Whatever time you want your animation to spend on each frame
}

应该可以,希望可以!

【讨论】:

  • 感谢您的回复,但仍然无法正常工作。当我运行它时,模拟器是空白的并且不显示任何内容。
  • 您是否将场景添加到视图控制器?
  • 尝试将图像添加到 xc assets
  • 你忘了实际运行动画
  • @RahulBir 我遇到了同样的问题,即在将场景添加到 ViewController 后动画无法正常工作。关于为什么这不起作用的任何想法?
【解决方案2】:

对于任何偶然发现这一点并且仍然想知道为什么他们的动画是空白的人。我发现在调用 viewDidAppear 之前以编程方式添加操作会导致这种情况。但是,直接在场景文件中设置动画我能够绕过空白动画

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    相关资源
    最近更新 更多