gpt4 book ai didi

java - 如何在 libgdx 中使用定时器?

转载 作者:行者123 更新时间:2023-11-30 08:12:05 26 4
gpt4 key购买 nike

我正在尝试使用 gdx 计时器重复增加一个值,但是当我在标签内使用该值时,似乎什么也没有发生,并且该值停留在 0 ,这是我的计时器代码:

@Override
public void show() {
stage = new Stage();
Gdx.input.setInputProcessor(stage);

Skin skin = new Skin(Gdx.files.internal("gui/uiskin.json"));
table = new Table(skin);
table.setFillParent(true);

atlas = new TextureAtlas("gui/atlas.pack");
skin2 = new Skin(Gdx.files.internal("gui/MenuSkin.json"), atlas);


DragAndDrop dragAndDrop = new DragAndDrop();



// My tables
inventoryActor = new InventoryActor(new Inventory(16, 3), dragAndDrop, skin, "Game Pad");
inventoryActor2 = new InventoryActor(new Inventory(25), dragAndDrop, skin, "Inventory Pad");

// bc image

batch = new SpriteBatch();
texture = new Texture(Gdx.files.internal("et2.jpg"));

Timer.schedule(new Task(){
@Override
public void run() {
timing++;
}
}, 1);

heading = new Label("Good Luck"+(timing++), skin2, "big");

//Timer task


//timerCount = new Label("Time : "+timing+" s",skin2, "small");


back = new TextButton("Back", skin2, "small");
back.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
((Game) Gdx.app.getApplicationListener()).setScreen(new GameOption());
}
});
back.pad(10);

table.add(heading).colspan(3).expandX().spaceBottom(50).row();
table.add(inventoryActor2).uniformX().expandY().top().left().padLeft(30);
table.add(inventoryActor).top().spaceLeft(30);
table.add(back).bottom().right();
stage.addActor(table);



}


@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

/*if (Gdx.input.isKeyPressed(Input.Keys.ANY_KEY)) {

}*/

batch.begin();
batch.draw(texture, 10, 10);
batch.end();

inventoryActor.setVisible(true);
inventoryActor2.setVisible(true);

stage.act(delta);
stage.draw();

}

最佳答案

问题是,您从未在 show() 方法中设置 Label 文本。您只需在构造函数中将初始文本作为 String 提供给它,因此 Label 不知道 timing 已更改。因此,您应该在调用 stage.draw() 之前在 render() 中设置 Label 的文本。

关于java - 如何在 libgdx 中使用定时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30249749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com