0

これは非常に単純なコードですが、Cocos2Dが背景画像を2倍に拡大し続ける理由がわかりません。

Cocos2dHelloWorldテンプレートを使用しています。-(id)init内のすべてを削除する以外は、コードに対して何もしていません。

次に、これを追加しました。

        //ADD BACKGROUND
    CGSize winSize = [[CCDirector sharedDirector] winSize];
    CCSprite *background = [CCSprite spriteWithFile:@"justAbackground.png"];
    background.position = ccp(winSize.width/2, winSize.height/2);
    [self addChild:background];

ビルドして実行すると、イメージの2倍のサイズになります。

追加した場合:

background.scale = .5;

本来あるべき正確なサイズです。

画像のピクセルサイズはiPhoneとまったく同じです。

ここで何が欠けていますか?

前もって感謝します。

4

1 に答える 1

0

ポイント座標とピクセル座標で混乱しているのではないでしょうか?

通常の iPhone では、ポイントとピクセルの寸法は等しく、どちらも 480x320 ピクセル/ポイントになります。Retina デバイスでは、ポイント座標は 480x320 のままですが、ピクセル座標は 2 倍の 960x640 になります。

Retina デバイスでピクセル座標を使用して通常の画像を表示する場合は、Retina ディスプレイ モードを無効にする必要があります。それ以外の場合、cocos2d は -hd サフィックスのない画像をポイント ディメンションに拡大します。

別の方法として、Retina ディスプレイ モードを有効にして、解像度を 2 倍にして -hd サフィックス (justAbackground-hd.png) を付けて画像を保存します。

于 2012-07-06T11:21:22.650 に答える