📄 spritegame.java
字号:
package game;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class SpriteGame extends GameCanvas implements Runnable {
private LayerManager lm;
private Sprite c1;
private Sprite c2;
public SpriteGame(){
super(true);
lm=new LayerManager();
c1=this.CreateFrames("/game/frames.png");
c2=this.CreateFrames("/game/frames.png");
int seq[]=new int[]{0,0,1,1,1,2,2,1,1};
c1.setFrameSequence(seq);
c2.setFrameSequence(seq);
c2.setPosition(48,48);
lm.append(c1);
lm.append(c2);
}
private Sprite CreateFrames(String picurl){
Image img=null;
try{
img=Image.createImage(picurl);
}catch(Exception e){
System.out.println(e);
}
return new Sprite(img,32,14);
}
boolean flag=true;
int rate=100;
public void run() {
long st=0;
long et=0;
Graphics g=getGraphics();
while(flag){
st=System.currentTimeMillis();
input();
if(c1.collidesWith(c2,true)){
int s[]=new int[]{3};
c1.setFrameSequence(s);
c2.setFrameSequence(s);
render(g);
break;
}
render(g);
et=System.currentTimeMillis();
if((et-st)<rate){
try{
Thread.sleep(rate-(et-st));
}catch(Exception e){}
}
}
}
int x=0;
int y=0;
public void input(){
int keystate=this.getKeyStates();
if((keystate & UP_PRESSED)!=0){
c1.move(x,-2);
if(c1.getY()<=0){
c1.setPosition(c1.getX(),0);
}
}else if((keystate & DOWN_PRESSED)!=0){
c1.move(x,2);
if(c1.getY()>(128-c1.getHeight())){
c1.setPosition(c1.getX(),(128-c1.getHeight()));
}
}else if((keystate & LEFT_PRESSED)!=0){
c1.move(-2,0);
if(c1.getX()<=0){
c1.setPosition(0,c1.getY());
}
}else if((keystate & RIGHT_PRESSED)!=0){
c1.move(2,0);
if(c1.getX()>(128-c1.getWidth())){
c1.setPosition((128-c1.getWidth()),c1.getY());
}
}
}
public void render(Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
c1.nextFrame();
c2.nextFrame();
lm.setViewWindow(0,0,this.getWidth(),this.getHeight());
lm.paint(g,10,10);
g.setColor(0,0,0);
g.drawRect(10,10,128,128);
flushGraphics();
}
public void start(){
Thread t=new Thread(this);
t.start();
}
public void exit(){
flag=false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -