簡體   English   中英

舞台沒有畫演員

[英]Stage not drawing it's Actors

所以我有一個叫做pokemon world的世界,這就是我如何渲染包含一個名為MenuActor的自定義actor的舞台的方式

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());
    }

}

如您所見,actor被賦予紋理,並在其draw方法中對其進行繪制。 在PokemonWorld類中,它將MenuActor添加到舞台上,並通過stage.draw();要求舞台進行繪制stage.draw();

我想念什么? 我覺得我在做所有正確的步驟,但是我可能缺少代碼的步驟/行。

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

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

暫無
暫無

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

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