📄 enemysprite.java
字号:
package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class EnemySprite extends Sprite{
private int m_nSpeedX; //X方向运动的速度
private int m_nLastMovX; //X方向上次移动的距离
private boolean m_bTran; //控制移动动画
EnemySprite(Image image, int frameWidth, int frameHeight) {
super(image, frameWidth, frameHeight);
defineReferencePixel( frameWidth / 2, frameHeight / 2 );
setFrame(1);
setVisible(false);
}
//开起敌人
//参数nX、nY分别是敌人位置的横纵坐标
//nSpeedX是X方向的速度
public void Start( int nX, int nY, int nSpeedX ){
setRefPixelPosition( nX, nY );
m_nSpeedX = nSpeedX;
m_nLastMovX = 0;
setVisible(true);
}
//反弹
public void Rebound( ){
m_nSpeedX = - m_nSpeedX;
}
//逻辑操作,产生运动动画
public void Logic(){
if( !isVisible() )
return;
//沿速度方向前移动
int x = getRefPixelX();
int y = getRefPixelY();
setRefPixelPosition(x+m_nSpeedX, y);
m_nLastMovX = m_nSpeedX;
if( m_bTran )
setTransform(Sprite.TRANS_MIRROR);
else
setTransform(Sprite.TRANS_NONE);
m_bTran = !m_bTran;
}
//向后移动
public void MoveBack(){
int x = getRefPixelX();
int y = getRefPixelY();
setRefPixelPosition(x-m_nLastMovX, y);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -