【问题标题】:How to animate sprites without texture atlases如何在没有纹理图集的情况下为精灵设置动画
【发布时间】:2015-10-15 03:02:58
【问题描述】:

据我所知,iOS 9 现在正在将地图集转变为可怕的东西,所以我不想使用它。至少在他们解决问题之前。我需要为一只手制作动画,并试图在没有地图集的情况下做到这一点。但是由于某种原因它在我身上崩溃了。我在 images.xcassets 中有我的纹理。我就是这样做的:

var leftHand = SKSpriteNode()
var leftArmAnimationArray = ["1l", "2l", "3l", "4l", "5l"]

func addLeftHand() {
   leftHand = SKSpriteNode(imageNamed: "1l")
   leftHand.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
    addChild(leftHand)
}

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)
        switch self.nodeAtPoint(location) {
        case self.leftHand:
leftHand.runAction(SKAction.animateWithTextures(leftArmAnimationArray, timePerFrame: 0.3))
    }
  }
}

它崩溃并显示 SIGABRT。我究竟做错了什么?是否可以在没有 .atlas 的情况下在 SpriteKit 中为精灵设置动画?

【问题讨论】:

  • 也许可以尝试在纹理名称的末尾添加.png(或您使用的任何名称)(例如"1l.png", "2l.png" 等)。
  • @Gliderman 很遗憾没有工作

标签: swift sprite-kit


【解决方案1】:

认为您现在需要为放置在 leftArmAnimationArray 中的每个项目说 SKTexture(imageNamed: "1l"),SKTexture(imageNamed: "2l") 之类的内容,它只是一个字符串数组,应该是纹理数组.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 2017-09-05
    • 2010-11-10
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 2011-02-10
    • 2017-06-05
    相关资源
    最近更新 更多