explosionsprite.java

来自「欢迎使用蓝牙联网坦克大战」· Java 代码 · 共 51 行

JAVA
51
字号
package newpackagetank;
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 + =
减小字号Ctrl + -
显示快捷键?