Как мне упорядочить методы в libgdx

Я использую libgdx, и у меня есть несколько игровых объектов с разными методами, я хочу, чтобы методы в моем таймере происходили один за другим, но в libgdx они происходят одновременно, я не знаю, как это исправить

    timer.scheduleTask( task = new Task(){ public void run(){
    rando =rn.nextInt(8);
    Gdx.app.log("the num is", Integer.toString(rando));
    if(rando == 0){
        bush.rustle();
        bush2.rustle2();
        bush3.dontrustle3();
        bush4.dontrustle4();
        enemy.shoot();
        enemy2.shoot();
        enemy3.godown();
        enemy4.godown();


    }
     if(rando == 1){
        bush.dontrustle();
        bush2.rustle2();
        bush3.rustle3();
        bush4.dontrustle4();
        enemy.godown();
        enemy2.shoot();
        enemy3.shoot();
        enemy4.godown();

    }
    if(rando == 2){
        bush.rustle();
        bush2.dontrustle2();
        bush3.rustle3();
        bush4.rustle4();
        enemy2.godown();
        enemy.shoot();
        enemy4.shoot();
        enemy3.shoot();


    }

    if(rando == 3){
        bush.rustle();
        bush2.rustle2();
        bush3.rustle3();
        bush4.rustle4();
        enemy.shoot();
        enemy2.goup();
        enemy4.goup();
        enemy3.shoot();

    }

    if(rando == 4){
        bush.rustle();
        bush2.rustle2();
        bush3.rustle3();
        bush4.rustle4();
        enemy2.godown();
        enemy.godown();
        enemy4.shoot();
        enemy3.shoot();


    }

Как это работает, каждый раз, когда число называется набором запущенных методов, но они запускаются сразу, я хочу, чтобы они запускались один за другим

1 ответ

Вы можете посмотреть на расширение libgdx-ai. Он имеет несколько утилит для создания и реагирования на события. Конечный автомат, вероятно, излишним для того, что вы хотите, но могут быть идеи, которые вы можете использовать.

Смотрите также https://gamedev.stackexchange.com/questions/14568/integrating-an-ai-state-machine-with-actions-that-take-more-than-1-tick

Облегченный подход может выглядеть примерно так: http://vanillajava.blogspot.com/2011/06/java-secret-using-enum-as-state-machine.html (хотя я рекомендую делать это в основном как способ чтобы понять более сложный ИИ библиотеки конечного автомата).

Другие вопросы по тегам