📄 gamechar.java
字号:
import java.io.IOException;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class gameChar extends Sprite
{
public static final int GAME_STATUS_NORM=0;
public static final int GAME_STATUS_CONF=1;
public static final int GAME_STATUS_SPEEDUP=2;
private int gameStatus=GAME_STATUS_NORM;
private int state=0;
int x,y;
private int[] stand={0};
private int[] left={1,1,2,2,3,3,4,4};
private int[] right={5,5,6,6,7,7,8,8};
private int[] jump={9,9,10,10,11,11,12,12};
private int jump_distance=0;
private int gameCharLife=3;
private int statustime=0;
static Image img=null;
static
{
try
{
img=Image.createImage("/res/char.png");
}
catch (IOException e)
{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public gameChar(int X,int Y)
{
super(img,16,17);
this.x=X;
this.y=Y-17;
this.setPosition(x, y);
this.setFrameSequence(stand);
this.defineCollisionRectangle(1, 16, 15, 1);
}
public void setCharLife(boolean b)
{
if(b)
{
if(gameCharLife<3)
gameCharLife++;
}
else
gameCharLife--;
}
public int getCharLife(){return gameCharLife;}
public void statusTimeGo(){
if(statustime>0)
statustime--;
else
{statustime=0;
gameStatus=GAME_STATUS_NORM;
}
}
public void setGameStatus(int st){
switch(st){
case GAME_STATUS_NORM:
gameStatus=st;
break;
case GAME_STATUS_CONF:
gameStatus=st;
statustime=150;
break;
case GAME_STATUS_SPEEDUP:
gameStatus=st;
statustime=150;
break;
}
}
public int getGameStatus(){return gameStatus;}
public void Up(int Y)
{
y=Y-17;
this.setPosition(x,y);
}
public void Left()
{ //left
switch(gameStatus)
{
case GAME_STATUS_NORM:
x-=2;
break;
case GAME_STATUS_CONF:
x+=2;
break;
case GAME_STATUS_SPEEDUP:
x-=4;
break;
}
if(x<8)x=8;
if(x>148)x=148;
this.setPosition(x,y);
}
public void Right()
{ //right
switch(gameStatus)
{
case GAME_STATUS_NORM:
x+=2;
break;
case GAME_STATUS_CONF:
x-=2;
break;
case GAME_STATUS_SPEEDUP:
x+=4;
break;
}
if(x<8)x=8;
if(x>148)x=148;
this.setPosition(x,y);
}
public void roll(boolean b)
{
if(b)
x--;
else
x++;
this.setPosition(x,y);
}
//down
public void down()
{ //掉落
if(jump_distance<8)
{
jump_distance++;
y-=3;
}
else
{
y+=3;
}
this.setPosition(x,y);
}
public void jump()
{
//跳起
jump_distance=0;
y-=5;
this.setPosition(x,y);
}
public boolean isDead()
{
if(y<35||y>180||gameCharLife<1)
return true;
else
return false;
}
//设置人物的动画
public void setAct(int i,boolean isOnFlat)
{
switch(i)
{
case 0:
if(state!=i)
{
this.setFrameSequence(left);
state=i;
}
break;
case 1:
if(state!=i)
{
this.setFrameSequence(right);
state=i;
}
break;
case 2:
if(isOnFlat)
this.setFrameSequence(stand);
else
{
if(state!=i)
this.setFrameSequence(jump);
}
state=i;
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -