2013-08-22 28 views
0

所以我對這個世界所謂的寵物小精靈的世界,這是我atempt渲染我的舞臺,內含MenuActor階段沒有繪製這是演員

public PokemonWorld(ChromeGame game) { 
    this.game = game; 
    createMenu(); 
} 

protected void createMenu() { 
    stage = new Stage(); 
    stage.setViewport(150, 720, true); 
    menu = new MenuActor(); 
    stage.addActor(menu); 
    Gdx.app.log(ChromeGame.LOG, "Menu Created"); 

} 
@Override 
public void render(float delta) { 
    super.render(delta); 

    if (menuVisible) { 
     stage.act(delta); 
     stage.draw(); 
    } 

} 

定製的演員,這是我的自定義演員

public class MenuActor extends Actor { 

    Texture region; 

    public MenuActor() { 
     super(); 
     region = new Texture(Gdx.files.internal("imgs/OptionBox.png")); 
    } 

    @Override 
    public void draw(SpriteBatch batch, float parentAlpha) { 
     super.draw(batch, parentAlpha); 
     batch.draw(region, getX(), getY(), 150, 720, 0, 0, 
       region.getWidth(), getHeight()); 
    } 

} 

正如你所看到的,演員被賦予了一種紋理,並在其繪製方法中繪製出來。在PokemonWorld類中,它將MenuActor添加到舞臺上並要求舞臺繪製stage.draw();

我在想什麼?我覺得我正在做所有正確的步驟,但我可能會錯過一段代碼。

+0

發生了什麼事?你期望發生什麼? – Kon

+0

@Kon它應該在屏幕上繪製一個框,請參閱MenuActor,我設置actor將optionbox.png作爲紋理 – Exikle

+0

「menuVisible」是否爲true? –

回答

0

我想最後一個參數應該是高度(而不是getWidth())。

batch.draw(region, getX(), getY(), 150, 720, 0, 0, 
       region.getWidth(), getWidth()); 
+0

對不起,我打錯了,但它仍然不起作用 – Exikle