📄 explosionsprite.java
字号:
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
public class ExplosionSprite extends Sprite{
private Player m_Player; //爆炸声音对象
ExplosionSprite(Image image, int frameWidth, int frameHeight) {
super(image, frameWidth, frameHeight);
defineReferencePixel( frameWidth / 2, frameHeight / 2 );
setVisible( false );
try
{
//读取声音文件
InputStream is = this.getClass().getResourceAsStream("/demo/Explosion.wav");
m_Player = Manager.createPlayer(is,"audio/x-wav");
}
catch (IOException e){}
catch (MediaException e){}
}
//开起爆炸
//参数nX、nY分别是爆炸位置的横纵坐标
public void Start( int nX, int nY ){
setRefPixelPosition( nX, nY );
setVisible(true);
setFrame(0);
try
{
m_Player.start(); //播放爆炸声音
}
catch (MediaException e){}
}
//逻辑操作,产生爆炸动画
public void Logic(){
if( !isVisible() )
return;
int nFrame = getFrame();
nFrame ++;
if( nFrame >= getFrameSequenceLength() ){
setVisible( false );
return;
}
setFrame( nFrame );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -