2012-06-07 31 views
5

Tôi muốn đặt Nền cảnh của tôi nhưng tôi không biết làm thế nào! Tôi đã đọc rất nhiều về điều này, nhưng tôi không thể thực hiện công việc này. Là sự khởi đầu của tôi với Andengine, và khó tìm được thông tin chính xác cho vấn đề của tôi, tất cả đều là chủ quan.Thêm nền vào cảnh Andengine Android

Vâng, tôi đã triển khai màn hình giật gân trong một cảnh và trong khi tải tất cả tài nguyên và cảnh. (https://sites.google.com/site/matimdevelopment/splash-screen---easy-way)

Sau đó, tôi phải đặt Nền cho menu của mìnhScene, tôi nghĩ rằng tôi cần một TextureRegion và một BitmapTextureAtlas để tạo mỗi backgroud. Tôi làm điều này:

textures tuyên bố:

//Fondo escenas 
private TextureRegion menuBgTexture; 
private BitmapTextureAtlas menuBackgroundTexture; 

tải Tài nguyên và Load cảnh (Họ được gọi là bởi onPopulateScene khi Splash kết thúc)

public void loadResources() 
{ 
    //FondoMenu 
    menuBackgroundTexture = new BitmapTextureAtlas(null, 480, 320, TextureOptions.DEFAULT); 
    menuBgTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.menuBackgroundTexture, this, "menubg.png", 0, 0); 
    //Cargamos los fondos 
    mEngine.getTextureManager().loadTexture(this.menuBackgroundTexture); 

} 

private void loadScenes() 
{ 
    //Menú 
    menuScene = new Scene(); 
    final float centerX = (CAMERA_WIDTH - menuBgTexture.getWidth())/2; 
    final float centerY = (CAMERA_HEIGHT - menuBgTexture.getHeight())/2; 
    SpriteBackground bg = new SpriteBackground(new Sprite(centerX, centerY, menuBgTexture)); 
    menuScene.setBackground(bg); 
    //menuScene.setBackground(new Background(50, 0, 0)); 
    //Options 
    optionsScene = new Scene(); 
    //Juego 
    gameScene = new Scene(); 
    //Pausa 
    pauseScene = new Scene(); 
    //Gameover 
    gameOverScene = new Scene(); 
} 

Resource tải không thấy lỗi, nhưng loadScenes, Line : SpriteBackground bg = SpriteBackground mới (new Sprite (centerX, centerY, menuBgTexture));

Nói với tôi rằng tôi phải đặt thuộc tính mới (ISpriteVertexBufferObject), tốt, đây là gì?

+0

Bạn đang sử dụng GLES nào? GLES2? Tôi có onCreateResources() trong GLES2. Tôi không biết tại sao Nicolas Gramlich quyết định đổi tên các chức năng chính như thế này, và tại sao anh ta tạo ra một công cụ/thư viện mà không cần tài liệu. Ai có thể giúp đỡ? – shailenTJ

+1

Ai biết được anh ta nghĩ gì khi đến tài liệu, và chúa cấm bạn nói gì về điều này trên diễn đàn andengine, nếu bạn được bảo rằng bạn nên đọc mã nguồn và làm việc, tôi có nghĩa là tất cả tốt và tốt nhưng thậm chí không có bất kỳ ý kiến ​​trong mã nguồn cho điều này. Đó là một sự xấu hổ thực sự nó là một công cụ mã nguồn mở nhỏ đẹp, chỉ hai xu của tôi: D – Spider

+0

Tôi cũng phải đối mặt với vấn đề tương tự ... Tôi không thể thiết lập nền của tôi ... đây là mã ..menuBackgroundTexture = new BitmapTextureAtlas (null, 2 * CAMERA_WIDTH, 2 * CAMERA_HEIGHT, TextureOptions.DEFAULT); \t menuBgTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset (this.menuBackgroundTexture, this, "land.png", 0, 0); \t \t SpriteBackground bg = SpriteBackground mới (new Sprite (0, 0, menuBgTexture, this.getVertexBufferObjectManager())); \t \t mScene.setBackground (bg); .... bất kỳ ai có thể giúp tôi không? – Rahul

Trả lời

2

cho đối tượng VBOManager, sử dụng

this.getVertexBufferObjectManager(); 
+0

Cảm ơn! hoạt động tốt :) Các hình ảnh bg không điền vào tất cả các không gian trên màn hình, tôi phải thêm bất cứ điều gì? – Genaut

+0

Bạn khởi tạo Động cơ bằng cách nào? kích thước, những gì ResolutionPolicy – jmroyalty

+0

Vâng, tôi bắt đầu với động cơ bây giờ, vì vậy tôi chưa biết nhiều về nó, nhưng "onCreateEngine" của tôi là: camera = new Camera (0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); EngineOptions engineOptions = new EngineOptions (true, ScreenOrientation.LANDSCAPE_FIXED, mới FillResolutionPolicy(), camera); int cuối cùng riêng CAMERA_WIDTH = 720; int cuối cùng riêng CAMERA_HEIGHT = 480; Kích thước hình ảnh của tôi là 320x480 – Genaut

1

Tôi cũng có cùng một vấn đề với trò chơi của tôi. Giải pháp là có một hình nền có cùng kích thước với máy ảnh. Ví dụ: nếu máy ảnh của bạn là 800X480, hình ảnh phải có cùng kích thước. Ngoài ra, làm cho các kích thước của các yếu tố BitmapTextureAtlas của hai. Trong trường hợp của bạn, nó phải là 512px x 512 px. Hy vọng rằng sẽ giúp.

Chúc mừng !!

Các vấn đề liên quan