我拖了一个名为" 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")
我已经检查了名字并确保没有重复。我不知道出了什么问题。
答案 0 :(得分:4)
如果您将扩展名.spriteatlas添加到您的文件夹名称,它应该可以工作。默认情况下,XCode不会添加它。
你是正确的,现在在图像资产文件夹中完成了地图集,William Hu的方式就是旧方式。
答案 1 :(得分:1)
在项目根路径中创建一个文件夹,将其命名为movementAnim.atlas
,然后将所有图像复制并粘贴到此文件夹中。然后返回项目导航器并将此文件夹添加到项目中,确保文件夹为蓝色。