enemyplane.java

来自「J2ME编程的50个例子,适合掌上系统的编程」· Java 代码 · 共 41 行

JAVA
41
字号
package demo;
import java.util.Random;
import javax.microedition.lcdui.Image;

public class EnemyPlane extends PlaneSprite{
	private Random 		m_Random;
	EnemyPlane( Image img, int nWidth, int nHeight ){
		super( img, nWidth, nHeight );
		m_Random 		= new Random();
	}
	//逻辑操作
	public void Logic( int scrWidth, int scrHeight ){
		super.Logic(scrWidth, scrHeight);
		if( isVisible() == false )
			return;
		int nX = getRefPixelX() + m_nSpeedX;
		int nY = getRefPixelY() + m_nSpeedY;
		setRefPixelPosition( nX, nY );
		if( getRefPixelX() < -getWidth() || 
			getRefPixelX() > scrWidth + getWidth() ||
			getRefPixelY() < -getHeight()|| 
			getRefPixelY() > scrHeight + getHeight() )
				setVisible(false);
		CreateMissile();
	}
	//发射炮弹
	private void CreateMissile(){
		//如果已经发射了炮弹,则暂时不能发射
		if( m_Missile.isVisible() )
			return;
		int RS = Math.abs(m_Random.nextInt() % 30 );
		if( RS != 0 )
			return;
		int nSpeedX = m_Random.nextInt() % 2;
		int nSpeedY = Math.abs(m_Random.nextInt() % 2 ) + 1;
		m_Missile.SetSpeed( nSpeedX, nSpeedY );
		m_Missile.setRefPixelPosition( 
				getRefPixelX(), getRefPixelY() );
		m_Missile.setVisible(true);
	}
}

⌨️ 快捷键说明

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