2013-06-02 121 views
0

我正在写一个游戏,并且我有一个名为generateWave()的函数。它生成的敌人,并在它自己的调用时完全的功能,但是当它被延迟之后调用使用:为什么libGDX定时器不能用我的方法运行?

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

一切都被调用,但没有呈现在屏幕上。我设置了一些println来检查它能够获得的代码的多少,并且在调用之后所做的一切都是它的工作,但是我通常从调用generateWave()中得到的结果无处可寻。尽管它们被创建并放置,但没有渲染精灵。

这是包含代码的文件:https://github.com/Vynlar/HorseInvaders/blob/master/HorseInvaders/src/me/vynlar/HorseInvaders/world/World.java

感谢您的任何答案。

回答

2

我检查了你的代码并发现了问题。您要添加的敌人名单,但你还必须将它添加到舞台:当这个画面成为当前

for(Enemy enemy : world.getEnemies()) 
    { 
     stage.addActor(enemy); 
    } 

这是你的代码show()方法(GameScreen.java 58行),该方法是“叫屏幕上的游戏“。所以如果你将敌人加入敌人列表中,你必须全部呼叫stage.addActor()将它们加入等级。

PS。对不起我的英语不好。我希望这对你有所帮助。 :)

+0

哦,哇。我习惯于编写游戏,让敌人处理他们自己的渲染,所以我设法忘掉了舞台。非常感谢。 – Vynlar

+0

你应该完全检查,作为答案 – Lestat

相关问题