【问题标题】:SKTextureAtlas cannot be foundSKTextureAtlas 找不到
【发布时间】:2016-01-25 12:11:09
【问题描述】:

我将一个名为“movementAnim”的文件夹拖到 Image assets 文件夹中,该文件夹用于创建纹理图集(来自我从 WWDC 2015 What's New in SpriteKit Session 中挑选的内容)。请看下面的代码:

SimpleSprite 类:

Init()  {
    let spriteAtlas = SKTextureAtlas(named: "movementAnim")
    sprite = SKSpriteNode(texture: spriteAtlas.textureNamed("moveAnim01"))

    sprite.name = spriteCategoryName
    sprite.position = CGPointMake(CGRectGetMidX(screenSize), sprite.frame.size.height * 3.7)
    initialPos = sprite.position
    sprite.zPosition = 10

}

func physicsProperties  ()  {
    sprite.physicsBody = SKPhysicsBody(rectangleOfSize: sprite.frame.size)
    sprite.physicsBody?.friction = 0.4
    sprite.physicsBody?.restitution = 0.1
    sprite.physicsBody?.dynamic = false

}

在 GameScene 类的 init 中:

simpleSprite = SimpleSprite()
addChild(simpleSprite!.sprite)
simpleSprite!.physicsProperties()

我收到以下日志消息:

Texture Atlas 'movementAnim' cannot be found.

但是当我使用以下而不是纹理时,它可以完美地工作:

sprite = SKSpriteNode(imageNamed: "newMoveAnim01")

我已经检查了名称并确保没有重复。我不确定出了什么问题。

【问题讨论】:

    标签: swift sprite-kit swift2 sktextureatlas


    【解决方案1】:

    如果您将扩展名 .spriteatlas 添加到您的文件夹名称,它应该可以工作。 XCode 默认不添加这个。

    你说得对,图集现在是在图像资源文件夹中完成的,William Hu 的方式是旧方式。

    【讨论】:

      【解决方案2】:

      在您的项目根路径中创建一个文件夹,将其命名为movementAnim.atlas,然后将所有图像复制并粘贴到该文件夹​​中。然后回到你的项目导航器并将这个文件夹添加到你的项目中,确保该文件夹是蓝色的。

      【讨论】:

      • 谢谢,它正在工作。但我认为使用 Xcode 7,可以将一个文件夹复制到图像资源中,并自动创建一个图集。那么为什么这个选项不起作用呢?
      • 我记得我在资产中做过但没有工作,所以我使用了旧工作。
      猜你喜欢
      • 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
      相关资源
      最近更新 更多