我正在写一个游戏,我有一个名为generateWave()的函数。它会产生敌人,并且当它自己被调用时它可以完美地运行,但是当它在延迟之后被调用时使用:
Timer.schedule(new Task(){
@Override
public void run() {
generateWave(5);
}
}, 1, 5);
所有内容都被调用,但屏幕上没有任何内容呈现。我设置了一些println来检查它设法获得的代码有多远,并且在调用之后一切都完成了它的工作,但是我通常从调用generateWave()获得的结果无处可寻。尽管创造并放置了精灵,但没有精灵渲染。
感谢您的回答。
答案 0 :(得分:2)
我检查了你的代码,发现了问题。您要将敌人添加到列表中,但您还必须将其添加到舞台:
for(Enemy enemy : world.getEnemies())
{
stage.addActor(enemy);
}
这是来自show()
方法的代码(GameScreen.java,第58行),当此屏幕成为游戏的当前屏幕时,此方法被调用。",所以如果你将你的敌人添加到敌人列表中,你必须都呼叫stage.addActor()
将他们添加到等级。
PS。对不起我的英语不好。我希望能帮助你。 :)