【发布时间】:2012-01-05 08:14:51
【问题描述】:
我的游戏中的一个增强功能是减小主要精灵的大小。 因此,为了记忆起见,我没有在每一帧中循环 sprite.scale,而是以低于原始 sprite 的百分比大小重新保存了 sprite,并且只是希望替换它。然后一旦“死亡”发生或计时器用完,原始精灵就会返回。
所以,我正在使用此代码使其变小:
[player setTexture:[[CCTextureCache sharedTextureCache] addImage:@"player-small.png"]];
还有这段代码用于恢复正常:
[player setTexture:[[CCTextureCache sharedTextureCache] addImage:@"player-orig.png"]];
但是,原始图像(在初始化和重置时)看起来正常。但是当我将它更改为新精灵(其尺寸正好是原始精灵的 75%)时,它会改变它,但只显示新精灵的一个象限,但具有原始尺寸。
我尝试在重新纹理精灵之前修改 sprite.contentsize,但所做的只是改变大小,但不会影响图像混乱的问题。
以下是一些视觉示例:
原文:
带有 contentSize 修改的纹理图像:
将图像重新纹理化为原始图像,而 contentSize 未正确重置(哎呀,但这根本不是问题 - 我只是忘记读取尺寸代码):
PS——我的所有精灵都有“-hd.png”版本,所以我只想补充一点,以防有人想知道(到目前为止,图像和测试只在“nonretina”模拟器上进行)。
谢谢!
编辑:在视网膜模拟器上进行测试时也会出现问题。
【问题讨论】:
标签: ios cocos2d-iphone openfeint