📄 spriterandom.java
字号:
package demo;import javax.microedition.lcdui.game.GameCanvas;import javax.microedition.lcdui.game.Sprite;public class SpriteRandom implements Runnable { private static final int SPEED = 3; private TankCanvas canvas; private Sprite sprite; private byte preDirect = GameCanvas.DOWN; private byte direction = GameCanvas.DOWN; private boolean interrupted; private int[] downSeq; private int downTrans; private int[] upSeq; private int upTrans; private int[] leftSeq; private int leftTrans; private int[] rightSeq; private int rightTrans; public SpriteRandom(TankCanvas canvas, Sprite sprite) { this.canvas = canvas; this.sprite = sprite; } public void setSequences(int[] downSeq, int downTrans, int[] upSeq, int upTrans, int[] leftSeq, int leftTrans, int[] rightSeq, int rightTrans) { this.downSeq = downSeq; this.downTrans = downTrans; this.upSeq = upSeq; this.upTrans = upTrans; this.leftSeq = leftSeq; this.leftTrans = leftTrans; this.rightSeq = rightSeq; this.rightTrans = rightTrans; } public void stop() { this.interrupted = true; } public void run() { while (!this.interrupted) { if (this.direction == GameCanvas.DOWN) { if (this.preDirect != this.direction) { this.sprite.setFrameSequence(this.downSeq); this.sprite.setTransform(this.downTrans); this.preDirect = this.direction; } this.sprite.move(0, SPEED); } else if (this.direction == GameCanvas.UP) { if (this.preDirect != this.direction) { this.sprite.setFrameSequence(this.upSeq); this.sprite.setTransform(this.upTrans); this.preDirect = this.direction; } this.sprite.move(0, -SPEED); } else if (this.direction == GameCanvas.LEFT) { if (this.preDirect != this.direction) { this.sprite.setFrameSequence(this.leftSeq); this.sprite.setTransform(this.leftTrans); this.preDirect = this.direction; } this.sprite.move(-SPEED, 0); } else if (this.direction == GameCanvas.RIGHT) { if (this.preDirect != this.direction) { this.sprite.setFrameSequence(this.rightSeq); this.sprite.setTransform(this.rightTrans); this.preDirect = this.direction; } this.sprite.move(SPEED, 0); } try { Thread.sleep(300); } catch (InterruptedException ex) { ex.printStackTrace(); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -