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

📄 cowboy.java

📁 J2ME核心类及MIDlet类 MIDP用户界面对象 图形处理及低级事件处理 多线程编程 I/O及网络编程 数据库RMS编程 浮点数编程 多媒体及GAME API编程 安全、加密及
💻 JAVA
字号:
import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;public class Cowboy extends Sprite {	static int WIDTH = 32;	static int HEIGHT = 48;	static int[] FRAME_SEQUENCE = { 3, 2, 1, 2 }; //图片序列		int myInitialX;	int myInitialY;	int myNoJumpInt = -6;	int myIsJumping = myNoJumpInt;  // 当前的跳动状态	int myScoreThisJump = 0; // 本次得分	/**	 * 构造方法	 */	public Cowboy(int initialX, int initialY) throws Exception {		super(Image.createImage("/icons/cowboy.png"), 		WIDTH, HEIGHT);		myInitialX = initialX;		myInitialY = initialY;		// 定义参考点在中间,以使得左右转向时显得自然		defineReferencePixel(WIDTH/2, 0);		setRefPixelPosition(myInitialX, myInitialY);		// 设定动画序列		setFrameSequence(FRAME_SEQUENCE);	}	/**	 * 根据是碰撞来判定是否得分	 */	int checkCollision(Tumbleweed tumbleweed) {		int retVal = 0;		if(collidesWith(tumbleweed, true)) {			retVal = 1;			tumbleweed.reset();		}		return(retVal);	}	/**	 * 重置	 */	void reset() {		myIsJumping = myNoJumpInt;		setRefPixelPosition(myInitialX, myInitialY);		setFrameSequence(FRAME_SEQUENCE);		myScoreThisJump = 0;		// 用设定变形的方式使其面向左		setTransform(TRANS_NONE);	}	/**	 * 步进,改变其变形及位置	 */	void advance(int tickCount, boolean left) {		if(left) {			setTransform(TRANS_MIRROR);			move(-1, 0);		} else {			setTransform(TRANS_NONE);			move(1, 0);		}		if(tickCount % 3 == 0) { // 使其略慢一些			if(myIsJumping == myNoJumpInt) {				nextFrame();			} else {				myIsJumping++;				if(myIsJumping < 0) {					setRefPixelPosition(getRefPixelX(), 						getRefPixelY() - (2<<(-myIsJumping)));				} else {					if(myIsJumping != -myNoJumpInt - 1) {						setRefPixelPosition(getRefPixelX(), 							getRefPixelY() + (2<<myIsJumping));					} else {						myIsJumping = myNoJumpInt;						setRefPixelPosition(getRefPixelX(), myInitialY);						setFrameSequence(FRAME_SEQUENCE);						myScoreThisJump = 0;					}				}			}		}	}	/**	 * 跳	 */	void jump() {		if(myIsJumping == myNoJumpInt) {			myIsJumping++;			// 从走的图形变为Jump的图形			setFrameSequence(null);			setFrame(0);		}	}	/**	 * 加分	 */	int increaseScoreThisJump() {		if(myScoreThisJump == 0) {			myScoreThisJump++;		} else {			myScoreThisJump *= 2;		}		return(myScoreThisJump);	}}

⌨️ 快捷键说明

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