0

我正在开发一款游戏,我想在主菜单中制作动画。我认为使用图集来合并此动画的所有图像会更好,但我发现从纹理图集制作图像并不像制作 SKTextures 那样容易。我的游戏的很大一部分已经开发,所以我不想在控制器中进行巨大的更改以便能够将 SKTexture 合并到主菜单中

我只是想知道,有没有办法从 SKTexture 创建获取 UIImage?,或者有没有这样的方法[UIImage imageNamed:[NSString stringWithFormat:@"imageInsideAtlas"]]

4

2 回答 2

1

您可能能够在屏幕外显示纹理,并基本上对 UIImage 进行快照:

-(UIImage*)snapshot
{
    // Captures SpriteKit content!
    UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [UIScreen mainScreen].scale);
    [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
    UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return snapshotImage;
}

参考:http ://eppz.eu/blog/uiimage-from-spritekit-scene/

于 2014-01-22T20:00:58.070 回答
0

纹理图集是为使用 Sprite Kit 而构建的,因此它为您提供 SKTextures 而不是 UIImages。恐怕,没有简单的方法可以从纹理图集中获取 UIImages。

考虑从纹理图集中加载 SKTextures 并使用它们为 SKSpriteNode 设置动画。

于 2014-01-22T18:12:47.707 回答