2013-06-03 66 views
1

如何爲所有設備設置精靈大小?我用這對精靈:所有設備的精靈大小

final Display display = getWindowManager().getDefaultDisplay(); 
    CAMERA_WIDTH = display.getWidth(); 
    CAMERA_HEIGHT = display.getHeight(); 
    Log.e(Integer.toString(CAMERA_WIDTH), Integer.toString(CAMERA_HEIGHT)); 
    camera = new BoundCamera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 

    return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, 
      new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera); 




      facebook = BitmapTextureAtlasTextureRegionFactory.createFromAsset(
      this.mBitmapTextureAtlas, this, "facebook.png", 0, 0); 


      mHardware1[active] = new Sprite(pX, pY, facebook, 
       this.getVertexBufferObjectManager()); 

但是當我與小屏幕設備上運行的遊戲,精靈大小保持不變。如何克服這一點?

+0

如果您正在使用RatioResolutionPolicy那麼你不」不必爲此煩惱。 – Siddharth

+0

m使用此最終顯示display = getWindowManager()。getDefaultDisplay(); \t \t CAMERA_WIDTH = display.getWidth(); \t \t CAMERA_HEIGHT = display.getHeight(); \t \t Log.e(Integer.toString(CAMERA_WIDTH),Integer.toString(CAMERA_HEIGHT)); \t \t camera = new BoundCamera(0,0,CAMERA_WIDTH,CAMERA_HEIGHT); \t \t回報新EngineOptions(真,ScreenOrientation.LANDSCAPE_FIXED, \t \t \t \t新RatioResolutionPolicy(CAMERA_WIDTH,CAMERA_HEIGHT),攝像頭); – raj

+0

如果您想要在所有設備上獲得相同的結果,請在設計人員開發800x480或1024x600等圖形時使用CAMERA_WIDTH和CAMERA_HEIGHT。 – Siddharth

回答

0

嘗試在您的精靈大小上使用「dp」單位。如果你使用「px」,它不會在其他設備上擴展。

請閱讀this link更多細節:)

+0

px和py是位置不是大小 – raj

+1

你誤解了我的解釋:)),我的意思是,你必須設置圖像密度,也許使用setDensity()或類似的東西。在該尺寸設置中,使用「dp」而不是「px」。當然我知道'pX'和'pY'是你精靈的位置 – reidzeibel

+0

okk讓我試試thnx的方式 – raj

0

在評論由@Siddharth給出的答案是正確的。在AndEngine中,你不應該按比例縮放Sprites以適應自己的屏幕尺寸。相反,您應該使用內置的AndEngine功能來相應地縮放整個場景。

@Override 
public EngineOptions onCreateEngineOptions() { 
    final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 
    camera.setCenter(0, 0); 

    return new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(.CAMERA_WIDTH, CAMERA_HEIGHT), camera); 
} 

現在,當您設置CAMERA_WIDTHCAMERA_HEIGHT,到1280×720,你的雪碧尺寸爲640×360,AndEngine會縮小整個場景向上或向下包括你的精靈任何屏幕上的1280×720。你的精靈總是會佔用屏幕的四分之一。

0

更換

new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT) 

與此

new FillResolutionPolicy() 

與FillResolutionPolicy你只需要在一維的工作,它會自動這種調整對所有設備