我正在用cocos2d制作游戏。我正在检查精灵的级别并相应地更新纹理。 现在开始时图像被置于高清状态。现在当游戏开始并且我开始移动精灵时,高清图像被替换为普通图像。我正在检查用这段代码替换纹理。
int value = [self.weapon.weaponLevel intValue];
NSString *path = [[NSBundle mainBundle]pathForResource:@"name" ofType:@"png"];
UIImage *imageView = [[UIImage alloc]initWithContentsOfFile:path];
CCTexture2D *frame = [[CCTexture2D alloc]initWithImage:imageView];
[self.player setTexture:frame];
任何人都可以帮助我。谢谢。 问候。
答案 0 :(得分:2)
当您可以使用NSBundle
内部处理所有路径分辨率和HD / SD检测时,无需通过UIImage
和CCTextureCache
。
另外,顾名思义,它会缓存纹理,以便后续使用相同的精灵文件会更快:
以下是您的需求:
CCTexture2D *frame = [[CCTextureCache sharedTextureCache] addImage:@"name.png"];
[self.player setTexture:frame];