📄 cowboy.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 + -