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

📄 deck.java

📁 在学校时写的一个游戏DEMO
💻 JAVA
字号:
import javax.microedition.lcdui.Graphics;

public class Deck {
	static byte curStatus; /*的状态表示,如同程序基本状态一样*/
    static final byte STATE1=0;//闪烁
    static final byte STATE2=1;//消失
    int frameIndex;
    int actionIndex;
    public Deck(){
    	setStatus(STATE1);
    }
	public void drawDeck(Graphics g,int x,int y){
		Tools.drawNpcItemData(g,1,actionIndex,frameIndex,x,y,false);
	}
	public void setStatus(byte status){
    	if(curStatus == status){
            return;
    	}
    	aniIndex = 0;
    	frameIndex = 0;
    	switch (status){
    	case STATE1:
    		actionIndex=0;
    		break;
    	case STATE2:
    		actionIndex=1;
    		break;
    	}
	}
	public void DeckLogic(){
		switch (curStatus){
    	case STATE1:
    		changeRoleFrameIndex(-1);
    		break;
    	case STATE2:
    		
    		break;
		}
	}
	/**
     * nextState > 0 切换状态
     * nextState  = -1 循环播放
     * nextState < -1 停留在最后一帧
     * @param nextState byte
     */
    private int aniIndex; //切换帧使用到的中间过渡变量
    private final void changeRoleFrameIndex(int nextState)
    {
           if (aniIndex >= Data.frameItemIndex[1][actionIndex].length)
           {
                  if (nextState >= 0)
                  {
                         aniIndex = 0;
                         frameIndex = Data.frameItemIndex[1][actionIndex][aniIndex];
                         setStatus((byte)nextState);
                         return;
                  }
                  else if (nextState == -1)
                  {
                         aniIndex = 0;
                  }
                  else
                  {
                         return;
                  }
           }
           frameIndex = Data.frameItemIndex[1][actionIndex][aniIndex];
           aniIndex++;
    }
}

⌨️ 快捷键说明

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