⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavesprite.java

📁 J2ME编程的50个例子,适合掌上系统的编程
💻 JAVA
字号:
package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;


public class WaveSprite extends Sprite{
	private int m_nSpeed		= 0;			//冲击波的速率(注意速率和速度的区别)
	private boolean m_bRight	= true;			//是否是向右发射的
	public WaveSprite(Image image, int frameWidth, int frameHeight){
		super(image, frameWidth, frameHeight);
		defineReferencePixel( frameWidth / 2, frameHeight / 2 );
		setVisible(false);
	}
	//发射冲击波,参数nX、nY分别是导弹初始的横纵坐标
	//参数bRight为true表示向右发射,反之向左发射
	//参数nSpeed为冲击波的速率
	public void Start( int nX, int nY, boolean bRight, int nSpeed ) {
		m_nSpeed 	= nSpeed;
		m_bRight	= bRight;
		if( m_bRight )
			this.setTransform(Sprite.TRANS_NONE);
		else
			this.setTransform(Sprite.TRANS_MIRROR);
		setRefPixelPosition( nX, nY );
		setVisible(true);
	}
	//逻辑操作,控制冲击波的运动
	//参数scrWidth、scrHeight分别是屏幕的宽和高
	public void Logic( int scrWidth, int scrHeight ) {
		if( !isVisible() )
			return;
		int nX = getRefPixelX();
		int nY = getRefPixelY();
		if( m_bRight ){
			nX += m_nSpeed;
			//如果飞出屏幕,则冲击波消失
			if( nX > scrWidth )
				setVisible(false);
		}
		else{
			nX -= m_nSpeed;
			//如果飞出屏幕,则冲击波消失
			if( nX < 0 )
				setVisible(false);
		}
		setRefPixelPosition( nX, nY );		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -