⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enemysprite.java

📁 用JavaME开发的手机版CS和射击飞机的游戏
💻 JAVA
字号:
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;


public class EnemySprite extends Sprite{
	public static final int ENEMY_NORMAL	= 0;	//正常状态
	public static final int ENEMY_FIRE	= 1;		//开火
	public static final int ENEMY_DEAD	= 2;		//被打死
	public static final int ENEMY_HIDE	= 3;		//消失
	public static final int ENEMY_STATE_NUM	= 4;	//状态总数
	private int m_nState = ENEMY_NORMAL;
	private int m_nTime;								//各种状态维持的时间
	public EnemySprite(Image image, int frameWidth, int frameHeight) {
		super(image, frameWidth, frameHeight);
		defineReferencePixel( frameWidth / 2, frameHeight / 2 );
		setVisible(false);
	}
	//获取当前状态
	public int getState(){
		return m_nState;
	}
	//设置当前状态
	public void setState(int state){
		if( state < 0 || state >= ENEMY_STATE_NUM )
			return;
		m_nState = state;
		switch( m_nState ){
		case ENEMY_NORMAL:
			m_nTime = 30;
		case ENEMY_DEAD:
			m_nTime = 30;
		}
	}
	//逻辑操作,自动开枪
	public void Logic(){
		switch( m_nState ){
		case ENEMY_NORMAL:
			setVisible(true);
			setFrame(0); //enemy.png图中间部分,开枪状态
			m_nTime --;
			if( m_nTime < 0 )
				setState(ENEMY_FIRE);
			break;
		case ENEMY_FIRE:
			setVisible(true);
			setFrame(1);//enemy.png图中靠左部分,初始状态
			setState(ENEMY_NORMAL);
			break;
		case ENEMY_DEAD:
			setVisible(true);
			setFrame(2);//enemy.png图中靠右部分,死亡状态
			m_nTime --;
			if( m_nTime < 0 )
				setState(ENEMY_HIDE);
			break;
		case ENEMY_HIDE:
			setVisible(false);
			break;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -