此项目允许您在 UIKit 下使用精灵图精灵图像进行动画,类似于在 Cocos2D 或其他游戏框架中操作。
首先,您需要创建一个 NSBSpritesheet
实例。例如,您可以通过传递由 TexturePacker 生成的解析 JSON 和图像来使用 NSBTexturePackerSpritesheetFactory
。
NSDictionary *spritesheets = [[NSBTexturePackerSpritesheetFactory factory] spritesheetsWithAnimationsData:data image:image];
返回的字典包含精灵图中所有不同的动画。您现在可以获取带有名称的单独精灵图:
NSBSpritesheet *spritesheet = spritesheets[@"Animation"];
一旦您有了这个 Spritesheet 对象,您就可以创建这个层:
[[NSBSpritesheetLayer alloc] initWithSpritesheet:spritesheet framesPerSecond:30];
这是一个 CALayer
的子类,这意味着您可以将其设置为子层(使用 - [CALayer addSublayer:]
设定)或将其设置为您的视图层(使用 + [UIView layerClass]
)。这个类有两个方法 - (void)animate
和 - (void)stop
,这两个方法将以指定的每秒帧数渲染精灵图。