mousesprite.java

来自「J2ME编程的50个例子,适合掌上系统的编程」· Java 代码 · 共 67 行

JAVA
67
字号
package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;


public class MouseSprite extends Sprite{
	public static final int MOUSE_SHOW 	= 0;		//地鼠出现
	public static final int MOUSE_HIDE 	= 1;		//地鼠隐藏
	public static final int MOUSE_INJURE	= 2;		//地鼠被打
	public static final int MOUSE_STATE_NUM 	= 3;	//状态总数
	private int m_nState = MOUSE_HIDE;	
	private int m_nTime = 0;			//控制各种状态的保持时间
	public MouseSprite( 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 ){
		switch( state ){
		case MOUSE_SHOW:
			setFrame( 2 );
			m_nTime = 10;
			break;
		case MOUSE_HIDE:
			setFrame( 1 );
			break;
		case MOUSE_INJURE:
			setFrame( 3 );
			m_nTime = 5;
			break;
		default:
			return;
		}
		setVisible(true);
		m_nState = state;
	}
	//逻辑操作,产生并控制地鼠各种状态的动画
	public void Logic(){
		int n = getFrame();
		switch( m_nState ){
		case MOUSE_SHOW:
			if( n > 0 )
				setFrame( n - 1 );
			m_nTime --;
			if( m_nTime < 0 )
				setState( MOUSE_HIDE );
			break;
		case MOUSE_HIDE:
			if( n < 2 )
				setFrame( n + 1 );
			else
				setVisible(false);
			break;
		case MOUSE_INJURE:
			m_nTime --;
			if( m_nTime < 0 )
				setState( MOUSE_HIDE );
			break;
		}
	}
}

⌨️ 快捷键说明

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