package org.test; import loon.LSystem; import loon.LTransition; import loon.Screen; import loon.action.sprite.WaitSprite; import loon.event.GameTouch; import loon.opengl.GLEx; import loon.utils.processes.RealtimeProcess; import loon.utils.timer.LTimerContext; public class CycleTest extends Screen { RealtimeProcess process; @Override public LTransition onTransition() { return LTransition.newEmpty(); } @Override public void draw(GLEx g) { } @Override public void onLoad() { // 添加等待特效1 add(new WaitSprite(0)); // 构建一个独立的游戏进程(内部不是线程,只是loon提供的独立循环结构) process = new RealtimeProcess() { private int count = 0; @Override public void run(LTimerContext time) { getSprites().removeAll(); // 添加一个循环等待的特效 add(new WaitSprite(count++)); // 总共只有11个特效…… if (count > 11) { count = 0; } // 如果Screen关闭,杀掉当前游戏进程 if (isClose()) { kill(); } } }; // 延迟5秒执行一次特效切换 process.setDelay(LSystem.SECOND * 5); // 注入进程 addProcess(process); add(MultiScreenTest.getBackButton(this,0)); } @Override public void alter(LTimerContext timer) { } @Override public void resize(int width, int height) { } @Override public void touchDown(GameTouch e) { } @Override public void touchUp(GameTouch e) { } @Override public void touchMove(GameTouch e) { } @Override public void touchDrag(GameTouch e) { } @Override public void resume() { } @Override public void pause() { } @Override public void close() { removeProcess(process); } }