簡體   English   中英

不同屏幕尺寸Andengine Android上的精靈尺寸

[英]Sprite size on different screen size Andengine Android

“我正在使用Android Adnengine開發我的第一款游戲。 這是一個從頂視圖的賽車游戲。 我使用了視差背景和一些汽車。 我在我的設備上測試了它,它的寬度和高度都較小。

我根據相機的寬度,高度放置了32和64的車。 我的屏幕尺寸工作得很好但是在更大的屏幕尺寸上,比如Galaxy Tab,游戲中留下了一個巨大的空間,因為汽車的尺寸與我必須以2的力量使用它們相同。

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

我已經修改了我的清單文件以支持小,大和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;
}

關於使用比率解析策略的事情是,您可以將游戲設計為特定尺寸,例如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 x 480,而且我的7“平板電腦上的一切看起來都很好 - 認為這不是一個主要的延伸。

獲取設備的高度和寬度,然后代數地使精靈占屏幕寬度和高度的百分比。

希望有所幫助。

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

您可以為每個比率選擇高分辨率,並在設備屏幕尺寸較小時讓發動機縮小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM