playerplane.java

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

JAVA
43
字号
package demo;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;

public class PlayerPlane extends PlaneSprite{
	PlayerPlane( Image img, int nWidth, int nHeight ){
		super( img, nWidth, nHeight );
		m_nSpeedY = 2;			//玩家飞机的速度
		m_nSpeedX = 2;
	}
	//输入操作
	public void Input( int keyStates ){
		if( isVisible() == false )
			return;
		int nX = getRefPixelX();
		int nY = getRefPixelY();
		//移动玩家飞机
		if( ( keyStates & GameCanvas.UP_PRESSED ) != 0 )
			nY -= m_nSpeedY;        		
        if( ( keyStates & GameCanvas.LEFT_PRESSED ) != 0 )
        	nX -= m_nSpeedX;
        if( ( keyStates & GameCanvas.RIGHT_PRESSED ) != 0 )
        	nX += m_nSpeedX;  
        if( ( keyStates & GameCanvas.DOWN_PRESSED ) != 0 )
        	nY += m_nSpeedY;   
        setRefPixelPosition( nX, nY );
        
        //发射炮弹
        if( ( keyStates & GameCanvas.FIRE_PRESSED ) != 0 )
        	CreateMissile();
	}
	//发射炮弹
	private void CreateMissile(){
		//如果已经发射了炮弹,则暂时不能发射
		if( m_Missile.isVisible() )
			return;
		m_Missile.setRefPixelPosition( 
					getRefPixelX(), getRefPixelY() );
		m_Missile.SetSpeed( 0, -3 );
		m_Missile.setVisible(true);
	}
}

⌨️ 快捷键说明

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