Retina显示图像看起来模糊和模糊。没有理由?

时间:2012-07-06 04:10:45

标签: ios cocos2d-iphone

我是Cocos2d游戏开发者。我正在使用视网膜显示图像开发游戏。

我使用zwoptex创建了带有和不带HD后缀的纹理文件。

我在app-delegate中添加了那些zwoptex plist纹理文件,例如[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"Background.plist"]; 我已将视网膜显示启用到YES [director enableRetinaDisplay:YES];

我使用ccsprite *background = [CCSprite spriteWithSpriteFrameName:@"sample.png"];在任何地方使用plist中的png文件。

我所包含的所有png文件都是尺寸为960*640480 * 320的高分辨率图像。但是当我在模拟器或iPhone中运行游戏时,图像看起来没有任何理由模糊和模糊。有人请帮我解决这个问题......

(以下图片在评论中作为示例发布。)

enter image description here

2 个答案:

答案 0 :(得分:1)

默认情况下,cocos2d会对sprite应用消除锯齿功能。你需要关闭它:

[background.texture setAliasTexParameters];

希望这会有所帮助。

答案 1 :(得分:1)

您发布的屏幕截图(我冒昧地将其添加到您的问题中)显示它是从iPhone模拟器而不是iPhone(Retina)模拟器中获取的。因此它不会使用高清图像。

运行iPhone模拟器转到硬件 - >设备菜单并选择 iPhone(Retina)作为设备。然后重新启动您的应用。

另请注意,无论cocos2d或Mac中的设置如何,iPhone模拟器都只会渲染颜色深度为16位的游戏。出于性能原因,iOS模拟器渲染器仅限于16位渲染(它仅使用软件渲染,无硬件加速)。只有通过在实际设备上查看游戏,您才能对图像质量进行判断。

要测试游戏是否实际加载高清资产或出于某种原因只加载SD图像,请尝试在没有SD图像的情况下运行它。如果游戏试图加载SD图像,则会导致错误。如果没有,它正在加载高清图像,“模糊问题”有不同的原因。您还可以通过向CCFileUtil类方法fullPathFromRelativePath添加NSLog语句来记录加载的文件,该方法执行文件名更改以尽可能加载-hd图像。

你会发现即使应用于精灵的微小比例缩放或旋转也可能使它看起来模糊,所以检查你是否碰巧这样做了。混合模式的任何更改(使用ccBlendFunc)也可能导致图像模糊。还要检查您的图像是否完全不透明(不透明度== 255)。