📄 garage.java
字号:
package demo;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class Garage {
public static final int GARAGE_CLOSE = 0; //车库门已经关闭
public static final int GARAGE_CLOSING = 1; //车库门正在关闭
public static final int GARAGE_OPEN = 2; //车库门临时打开
public static final int GARAGE_OPEN_EVER = 3; //车库门永久打开
public static final int GARAGE_STATE_NUM = 4; //状态总数
private int m_nState = GARAGE_CLOSE;
private Sprite m_CarSp; //汽车精灵
private Image m_GarageImg; //车库图像
private int m_nX; //车库位置的X坐标
private int m_nY; //车库位置的Y坐标
private int m_nTime; //关闭库门时要先停留一会再关闭
//Garage类的构造方法
//参数garage为车库图像,x与y分别是车库的位置
public Garage( Image garage, int x, int y ){
m_GarageImg = garage;
m_nX = x;
m_nY = y;
}
//设置车库中的汽车
//参数car是汽车图像,type为汽车的类型,
//参数frameWidth与frameHeight分别是汽车精灵的宽和高
public void setCar( Image car, int type,
int frameWidth, int frameHeight ){
try{
m_CarSp = null;
if( car != null ){
m_CarSp = new Sprite(car, frameWidth, frameHeight);
m_CarSp.setFrame(type);
m_CarSp.setPosition(m_nX + 6, m_nY + 16);
}
}
catch (Exception ex){ }
}
//得到车库中汽车的类型
public int getCarType(){
if( m_CarSp == null )
return -1;
return m_CarSp.getFrame();
}
//获取当前车库的状态
public int getState(){
return m_nState;
}
//设置车库的状态
public void setState(int state){
if( state < 0 || state >= GARAGE_STATE_NUM )
return;
m_nState = state;
if( m_nState == GARAGE_CLOSING )
m_nTime = 5;
}
//获得车库左上角的X坐标
public int getX(){
return m_nX;
}
//获得车库左上角的Y坐标
public int getY(){
return m_nY;
}
//获得车库图像的宽度
public int getWidth(){
return m_GarageImg.getWidth();
}
//获得车库图像的高度
public int getHeight(){
return m_GarageImg.getHeight();
}
public void Logic(){
switch( m_nState ){
case GARAGE_CLOSING:
m_nTime --;
if( m_nTime < 0 ){
setState(GARAGE_CLOSE);
}
break;
}
}
//显示车库和汽车图像
public void Paint(Graphics g){
switch(m_nState){
case GARAGE_CLOSE:
g.drawImage(m_GarageImg, m_nX, m_nY, 0);
break;
case GARAGE_CLOSING:
case GARAGE_OPEN:
case GARAGE_OPEN_EVER:
g.drawImage(m_GarageImg, m_nX, m_nY, 0);
m_CarSp.paint(g);
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -