[英]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.