2012-01-08 26 views
0

だから私は、私は次の操作を行いAndengine Androidゲーム画面サイズに関するスプライトのサイズを変更しますか?

、携帯電話の画面サイズに関して、私のスプライトのサイズを変更する必要があります。しかし、スプライトのために、プレイヤーと敵、つまり、私は彼らに、任意の大きさを与える

final Display display = getWindowManager().getDefaultDisplay(); 
    cameraWidth = display.getWidth(); 
    cameraHeight = display.getHeight(); 
    //check to load male or female 
    Intent sender=getIntent(); 
    String extraData=sender.getExtras().getString("char"); 
    if(extraData.contains("1")) 
    { 
     isMale = 1; 
    } 
    else 
    { 
     isMale = 0; 
    } 

    mCamera = new Camera(0, 0, cameraWidth, cameraHeight); 
    return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, 
      new RatioResolutionPolicy(cameraWidth, cameraHeight), mCamera) 
      .setNeedsMusic(true).setNeedsSound(true)); 

50 pix by 50pixel - 小さな画面では、本当に大きな表示されます!画面サイズに合わせてどのようにサイズを変更できますか?

また、これらの画像はassetsフォルダから読み込まれるため、HDPIおよびLHPI画像フォルダとは関係ありません。

あらかじめコミュニティに感謝します。

+0

coder_For_Life22答えは素晴らしいです。ここにいくつかの例があります:http://stackoverflow.com/questions/8685795/how-to-decide-width-and-height-for-svg-sprite-in-andengine/ 8687803#8687803 – Jong

答えて

2

異なるデバイス画面でスケーラブルなSVGグラフィックスを使用する必要があります。

私はあなたがどのサイズのデバイスに関係なく、画面サイズにCAMERA_WIDTHとHEIGHTを設定することをお勧めします。

例えば、私はカメラの幅と高さを800x480にしています。

この方法では、スプライトのサイズ変更について心配する必要はありません。 RationResolutionPolicyを使用してエンジンによってスケールアップされている間は、すべてのデバイスで同じものが表示されます。

これはこれを行う最善の方法です。

デバイスに基づいて画面サイズを設定すると、それぞれに異なるグラフィックスを使用する必要があります。

SVGグラフィックスを使用することをお勧めします。画像がエンジンによって自動的に拡大されると、品質が低下しません。または、あなたはpngを使用して大きなものにすることができます。そうすれば、それらは縮小されるだけです。そしてあなたが知っているように、彼らは縮小することによって画質を失うことはありません。

+0

これはありがとう、私はそれsooooooooooooを高く評価! – Aziz

+0

私はsvgの代わりに.pngイメージを使用するとどうなりますか?私のPNG画像スプライトは解像度の高いデバイスでは拡大されません。理由は何でしょうか? –

関連する問題