hammersprite.java
来自「J2ME编程的50个例子,适合掌上系统的编程」· Java 代码 · 共 62 行
JAVA
62 行
package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class HammerSprite extends Sprite{
public static final int HAMMER_UP = 0; //锤子被举起
public static final int HAMMER_DOWN = 1; //锤子落下
public static final int HAMMER_HIDE = 2; //锤子隐藏
public static final int HAMMER_STATE_NUM = 3;
private int m_nState = HAMMER_HIDE;
private int m_nTime = 0; //控制各种状态的保持时间
public HammerSprite( 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 >= HAMMER_STATE_NUM )
return;
m_nState = state;
switch( m_nState ){
case HAMMER_UP:
setFrame( 0 );
setVisible(true);
m_nTime = 2;
break;
case HAMMER_DOWN:
setFrame( 1 );
setVisible(true);
m_nTime = 2;
break;
case HAMMER_HIDE:
setVisible(false);
break;
}
}
//逻辑操作,产生并控制锤子各种状态的动画
public void Logic(){
switch( m_nState ){
case HAMMER_UP:
m_nTime --;
if( m_nTime < 0 )
setState( HAMMER_DOWN );
break;
case HAMMER_DOWN:
m_nTime --;
if( m_nTime < 0 )
setState( HAMMER_HIDE );
break;
case HAMMER_HIDE:
break;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?