无法找到SKTextureAtlas

时间:2016-01-25 12:11:09

标签: swift sprite-kit swift2 sktextureatlas

我拖了一个名为" movementAnim"进入Image assets文件夹,假设是创建一个纹理图集(从我从WWDC 2015中选择的SpriteKit会话中的新内容)。请参阅以下代码:

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

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

2 个答案:

答案 0 :(得分:4)

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

你是正确的,现在在图像资产文件夹中完成了地图集,William Hu的方式就是旧方式。

答案 1 :(得分:1)

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