📄 hammersprite.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -