📄 herosprite.java
字号:
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
//Download by http://www.codefans.net
public class HeroSprite extends Sprite implements IData {
int aup[]={12,12,13,13,14,14,15};
int adown[]={0,1,2,3};
int aleft[]={4,4,5,5,6,6,7,7};
int aright[]={8,9,10,11};
int mDir=0;
int mSpeed=5;
int mLastD=0;
static Image mImgBullet;
static int mBulletW;
static int mBulletH;
public HeroSprite(Image img, int w, int h) {
super(img, w, h);
}
public void moveto(int dir){
switch(dir){
case UP:
if(dir!=mDir)
setFrameSequence(aup);
move(0,-mSpeed);
break;
case DOWN:
if(dir!=mDir)
setFrameSequence(new int[]{0,1,2,3});
move(0,mSpeed);
break;
case LEFT:
if(dir!=mDir)
setFrameSequence(aleft);
move(-mSpeed,0);
break;
case RIGHT:
if(dir!=mDir)
setFrameSequence(aright);
move(mSpeed,0);
break;
}
mDir=dir;
mLastD=mSpeed;
nextFrame();
}
public void undo(){
switch(mDir){
case UP:
move(0,mLastD);
break;
case DOWN:
move(0,-mLastD);
break;
case LEFT:
move(mLastD,0);
break;
case RIGHT:
move(-mLastD,0);
break;
}
mLastD=0;
}
public Bullet fire(){
Bullet b=new Bullet(mImgBullet,mBulletW,mBulletH);
int bx=0,by=0;
switch(mDir){
case UP:
bx=getWidth()/2;
by=0;
break;
case DOWN:
bx=getWidth()/2;
by=getHeight();
break;
case LEFT:
bx=0;
by=getHeight()/2;
break;
case RIGHT:
bx=getWidth();
by=getHeight()/2;
}
bx+=getX();
by+=getY();
b.setBullet(bx, by, mDir);
return b;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -