📄 enemysprite.java
字号:
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class EnemySprite extends Sprite{
private boolean m_bRight = true; //敌人是否向左移动的标志
private int m_nSpeed = 1; //敌人的移动速率(注意不是速度)
public EnemySprite(Image image, int frameWidth, int frameHeight) {
super(image, frameWidth, frameHeight);
defineReferencePixel(frameWidth / 2, frameHeight / 2);
setVisible(false);
}
//产生敌人
//参数nX、nY分别是敌人位置的横纵坐标
//参数bLeft指定敌人方向,参数nSpeed指定敌人速率
public void Start( int nX, int nY, boolean bRight, int nSpeed ){
m_bRight = bRight;
if( bRight )
setTransform(Sprite.TRANS_MIRROR);
else
setTransform(Sprite.TRANS_NONE);
setRefPixelPosition( nX, nY );
m_nSpeed = nSpeed;
setVisible( true );
}
//逻辑操作
public void Logic( int srcWidth, int scrHeight ){
if( !isVisible() )
return;
int x = getRefPixelX();
int y = getRefPixelY();
if( m_bRight ){
x += m_nSpeed;
if( x > srcWidth + getWidth()/2 )
setVisible(false);
}
else{
x -= m_nSpeed;
if( x < - getWidth()/2 )
setVisible(false);
}
setRefPixelPosition(x, y);
//产生跑步动画
int n = getFrame();
if( n == 0 )
setFrame(1);
else
setFrame(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -