首页 > 代码库 > Libgdx学习笔记:使用Action做定时器

Libgdx学习笔记:使用Action做定时器

在Gdx中,定时器可以使用Timer来实现,如:

 Timer timer = new Timer();

        Task timerTask = new Task() {

         @Override

            public void run() {

               

            }

        };

    timer.scheduleTask(timerTask, 0, 1, 20);// 0s之后执行,每次间隔1s,执行20次。


下面我们使用Action来实现上面的效果:

   Action[] sAction = new Action[20];// 一共执行20次

        // 使用action实现定时器

        for (int i = 0; i < sAction.length; i++) {

            Action delayedAction = Actions.run(new Runnable() {


                @Override

                public void run() {

                    System.out.println("time:" + (System.currentTimeMillis() / 1000) + ",执行something");

                }

            });

            // 延迟1s后执行delayedAction

            Action action = Actions.delay(1f, delayedAction);

            sAction[i] = action;

        }

        // 将Action加到Stage中进行执行

        getStage().addAction(Actions.sequence(sAction));




Libgdx学习笔记:使用Action做定时器