iOS7创建和使用SKTextureAtlas的正确方法是什么?

 林筱杏-HA 发布于 2023-02-13 16:31

我不确定纹理地图集的底层实现,所以我的问题是 - 处理从它们中拉出纹理的正确方法什么?我需要遍历各种地图集并提取64个随机纹理.

创建静态图集并重用引用来拉出纹理?

static SKTextureAtlas *monsterAtlas;
static int monsterCount;

monsterAtlas = [SKTextureAtlas atlasNamed:@"monsters"];
monsterCount = [monsterAtlas textureNames].count;

//pull out a random texture
NSString* textureName = [[monsterAtlas textureNames] objectAtIndex: arc4random()%monsterCount];
SKTexture* texture = [monsterAtlas textureNamed:textureName];

-要么-

每次我需要纹理时创建一个新的地图集?

SKTextureAtlas *atlas = [SKTextureAtlas atlasNamed:@"monster"];
SKTexture *f1 = [atlas textureNamed:@"monster-walk1.png"];

我问的原因是,使用第一种方法,我的代码可能非常不合适,因为我将创建10个以上的图集引用.这会占用太多内存吗?在第二种方法中,我担心每次执行循环迭代时我都会做很多额外的工作来创建图册.我该怎么做?

1 个回答
  • 创建每个地图集并保留对它的引用.

    如果你编写一个管理地图集的类并且可以访问单个纹理,那么这并不是一件好事.

    2023-02-13 16:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有