2012-07-09 89 views
11

`我正在開發Android Adnengine中的第一款遊戲。這是一個從頂部看賽車遊戲。我用視差背景和一些汽車。我在我的設備上測試它的寬度和高度較小。在不同屏幕尺寸上的Sprite大小Andengine Android

根據攝像機的寬度和高度,我放置了車高32和高64的車。它在我的屏幕尺寸上工作正常,但是在更大的屏幕尺寸上,比如Galaxy Tab,遊戲中留下了巨大的空間,因爲汽車尺寸保持不變,因爲我必須使用它們的兩個冪。

如何使用適合所有屏幕尺寸的圖像?根據具有不同相機寬度和高度的圖像尺寸,我是否必須使用不同的圖像?我相信這有一個解決方案。

我已經修改了我的清單文件以支持小,大和xlarge大小。

public Engine onLoadEngine() { 

    final Display display = getWindowManager().getDefaultDisplay(); 
    CAMERA_WIDTH = display.getWidth(); 
    CAMERA_HEIGHT = display.getHeight(); 

    //Toast.makeText(getApplicationContext(), CAMERA_WIDTH, 3); 

    mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 
    engine = new Engine(new EngineOptions(true, 
      ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(
        CAMERA_WIDTH, CAMERA_HEIGHT), mCamera).setNeedsMusic(
      true).setNeedsSound(true)); 

    return engine; 
} 
+0

如果您在初始化引擎時使用比率分辨率策略,那麼它會採用這個比例 – jmroyalty 2012-07-09 17:16:29

+0

我剛剛編輯我的問題與我的代碼可以幫助我更多嗎? 我「米使用RatioResolutionPolicy。 – 2012-07-09 17:37:05

回答

14

有關使用比率分辨率政策的一點是,您可以將遊戲設計爲特定尺寸,比如現在非常流行的800x480尺寸。

我認爲大多數人流浪的想法是他們需要拉動當前的顯示寬度/高度並使用它來初始化引擎。

根據我的理解,比率解析策略的要點是將尺寸設置爲硬編碼值,並讓比率解析策略處理從一個設備到另一個設備的差異。

CAMERA_WIDTH = 800; 
CAMERA_HEIGHT = 480; 

//Toast.makeText(getApplicationContext(), CAMERA_WIDTH, 3); 

mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 
engine = new Engine(new EngineOptions(true, 
     ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(
       CAMERA_WIDTH, CAMERA_HEIGHT), mCamera).setNeedsMusic(
     true).setNeedsSound(true)); 

一旦你做這樣的事情,那麼你只需要確保你的圖形和間距看好在您選擇的前寬度/高度 - 在本例中爲800 x 480。如果一切工作和配合,並期待良好,那麼當設備具有不同的屏幕尺寸時,比例分辨率策略將處理事情。

至少,我拿上它應該如何工作 - 我爲800×480,一切看起來對我7" 平板電腦太好 - 理所當然地認爲這不是一個主要的拉伸

+0

我測試的遊戲場景(1240x840),帶攝像頭爲800×480高分辨率的背景,背景看起來裁剪。所以,我不明白它是如何工作的罰款你!!!!!! – 2013-04-04 16:04:06

+0

所以轉過來 - 用1240x840的相機寫出更高的分辨率,並讓AndEngine處理更小的設備。正如我所說,我寫的是800x480,但我的平板電腦只有1280x800 – jmroyalty 2013-04-09 19:33:25

+0

根據我的查看,使用分辨率爲1024x600的相機,它適用於小型和高分辨率設備。 – Siddharth 2013-04-12 17:35:30

3

獲取設備的高度和寬度,然後以代數形式使精靈成爲屏幕寬度和高度的百分比。

希望有所幫助。

+0

到目前爲止,我也只找到這一解決方案。 – 2012-07-10 10:26:05

0

根據我的經驗,我想。解決這個問題的最好方法是處理大多數設備中流行的兩種主要屏幕比例(5:4,5:3)。

您爲每個比率選擇一個高分辨率,讓引擎如果設備屏幕尺寸較小,則會縮小比例

+0

相機尺寸應該與屏幕尺寸一致。 – 2013-04-10 20:43:06