3

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

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

我已经添加了那些 zwoptex plist 纹理文件,app-delegate就像[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"Background.plist"]; 我启用了视网膜显示器一样YES [director enableRetinaDisplay:YES];

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

我包含的所有这些 png 文件都是具有大小960*640480 * 320. 但是当我在模拟器或 iPhone 中运行游戏时,图像毫无理由地看起来很模糊。任何人请帮我解决这个问题......

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

在此处输入图像描述

4

2 回答 2

1

cocos2d 默认对精灵应用抗锯齿。您需要将其关闭:

[background.texture setAliasTexParameters];

希望这可以帮助。

于 2012-07-06T04:58:05.117 回答
1

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

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

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

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

您会发现,即使是对精灵应用极少量的缩放或旋转也可能使其看起来模糊,因此请检查您是否碰巧这样做。混合模式的任何变化(使用 ccBlendFunc)也可能导致图像模糊。还要检查您的图像是否完全不透明(不透明度 == 255)。

于 2012-07-06T11:10:33.430 回答