package loon.test.stggame; import loon.LTransition; import loon.canvas.LColor; import loon.component.LButton; import loon.event.GameTouch; import loon.event.SysKey; import loon.opengl.GLEx; import loon.stg.STGScreen; public class Test extends STGScreen { public LTransition onTransition() { return LTransition.newEmpty(); } public Test(String path) { // 需要读取的脚本文件 super(path); } public void loadDrawable(DrawableVisit bitmap) { // 注入图像到STGScreen(内部会形成单幅纹理,ID即插入顺序) bitmap.add("assets/hero0.png"); bitmap.add("assets/hero1.png"); bitmap.add("assets/hero2.png"); bitmap.add("assets/shot.png"); bitmap.add("assets/boom.png"); bitmap.add("assets/ghost.png"); bitmap.add("assets/boss.png"); bitmap.add("assets/greenfire.png"); bitmap.add("assets/bee.png", 48, 48); bitmap.add("assets/moon1.png"); bitmap.add("assets/moon2.png"); bitmap.add("assets/moon3.png"); bitmap.add("assets/moon4.png"); // 设定背景为星空图(绘制产生) setStarModeBackground(LColor.white); // 设定滚屏背景图片 // setScrollModeBackground("assets/background.png"); // 设定无背景(无设定时默认为此) //setNotBackground(); } /** * 游戏脚本监听(返回true时强制中断脚本,也可于此自定义游戏脚本) */ public boolean onCommandAction(String cmd) { return false; } /** * 指定的图像ID监听(用于渲染指定ID对应的图像) */ public boolean onDrawPlane(GLEx g, int id) { return false; } /** * 游戏主循环(位于循环线程中) */ public void onGameLoop() { } /** * 当脚本读取完毕时,将触发此函数 */ public void onCommandAchieve() { } /** * 当主角死亡时 */ public void onHeroDeath() { System.out.println("over"); } /** * 当敌兵被清空时 */ public void onEnemyClear() { } public void onLoading() { LButton btn = new LButton("assets/button.png") { public void downClick() { setKeyDown(SysKey.ENTER); } public void upClick() { setKeyUp(SysKey.ENTER); } }; bottomOn(btn); btn.setLocation(getWidth() - btn.getHeight() - 25, btn.getY() - 25); add(btn); // 禁止此按钮影响STG触屏事件 addTouchLimit(btn); } @Override public void resize(int width, int height) { } @Override public void update(long elapsedTime) { } @Override public void onDown(GameTouch e) { } @Override public void onMove(GameTouch e) { } @Override public void onUp(GameTouch e) { } @Override public void touchDrag(GameTouch e) { } }