3

私はCocos2dゲーム開発者です。Retina ディスプレイ画像を使用したゲームを開発しています。

zwoptex を使用して、HD サフィックスの有無にかかわらずテクスチャ ファイルを作成しました。

これらの zwoptex plist テクスチャ ファイルを に追加し、Retinaapp-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 (Retina) シミュレーターではなく、iPhone シミュレーターから取得されたことを示しています。したがって、HD 画像は使用されません。

iPhone シミュレーターを実行した状態で、[ハードウェア] -> [デバイス] メニューに移動し、デバイスとして [ iPhone (Retina) ] を選択します。次に、アプリを再起動します。

iPhone シミュレーターは、cocos2d または Mac の設定に関係なく、16 ビットの色深度でのみゲームをレンダリングすることにも注意してください。iOS シミュレーター レンダラーは、パフォーマンス上の理由から 16 ビット レンダリングに制限されています (ソフトウェア レンダリングのみを使用し、ハードウェア アクセラレーションは使用しません)。実機で見てこそ画質の判断がつきます。

ゲームが実際に HD アセットを読み込んでいるのか、それとも何らかの理由で SD イメージのみを読み込んでいるのかをテストするには、SD イメージなしでゲームを実行してみてください。ゲームが SD イメージを読み込もうとすると、エラーが発生します。そうでない場合は、HD 画像を読み込んでおり、「ぼかしの問題」には別の原因があります。CCFileUtil クラス メソッド fullPathFromRelativePath に NSLog ステートメントを追加することで、どのファイルがロードされるかをログに記録することもできます。

スプライトに適用されたごくわずかなスケーリングまたは回転でさえ、ぼやけて見えることがあります。ブレンド モードを変更すると (ccBlendFunc を使用)、画像がぼやける可能性もあります。また、画像が完全に不透明であることも確認してください (不透明度 == 255)。

于 2012-07-06T11:10:33.430 に答える