亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? helpscreen.java

?? 基于java的一款游戲的故事。基于java的一款游戲的故事。基于java的一款游戲的故事。
?? JAVA
字號:
/*
 * Created on 2006-5-20
 *
 */
package com.thinkenjoy.feitian.screen;

import java.util.Vector;

import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;

import com.thinkenjoy.control.ActorCanvas;
import com.thinkenjoy.control.Control;
import com.thinkenjoy.control.KeyMap;
import com.thinkenjoy.control.ThreadCanvas;
import com.thinkenjoy.tools.Tools;

/**
 *
 * 幫助界面
 */
public class HelpScreen extends ActorCanvas {

  private static final byte MAIN_STAGE = 0;

  private static final byte GAME_INFO_STAGE = 1;

  private static final byte CONTROL_INFO_STAGE = 2;

  private static final byte MUSIC_STAGE = 3;

  private static final int TEXTBOX_START_X = 10;
  private static final int TEXTBOX_START_Y = 25;
  private static final int TEXTBOX_WIDTH = ThreadCanvas.SCREEN_WIDTH - 20;
  private static final int TEXTBOX_HEIGHT = ThreadCanvas.SCREEN_HEIGHT - 50;

  private String stageStringSet[];

  private String mainStringSet[];

  private String gameInfo;

  private String musicStringSet[];

  private String leftButton;

  private String rightButton;

  private int mainStartX;

  private int mainStartY;

  private int musicStartY;

  private byte gameStage;

  private byte selectIndex;

  private boolean newStage;

  //	/**
  //	 * 裝主界面文字的容器
  //	 */
  //	private Vector mainVector;

  /**
   * 裝游戲介紹界面文字的容器
   */
  private Vector gameInfoVector;

  private Vector controlInfoVector;

  private byte fontHeight;

  private boolean right = true;

  /**
   * 記錄文字上下移動的距離
   */
  private int updowns;

  //private Vector sb;

  private int textHeight;

  private int flashArrowDelay;

  private int arrowColor;

  private int buttonWidth;

  private boolean tempMusic;

  private int tempVolumn;

  //	/**
  //	 * 裝聲音控制界面文字的容器
  //	 */
  //	private Vector musicVector;

  /**
   *
   */
  public HelpScreen() {
    gameStage = MAIN_STAGE;

    gameInfo = "在古老的阿可巴拉城里,住著一個美貌的公主。她的美麗遠近聞名,同時又心地善良。所以得到了全城人民的喜愛。在城里有個賣地毯的小子:阿辛,他雖然是處在社會底層,并且是個窮光蛋。但是他也被公主的美貌所打動,深深的愛著公主。公主也有個調皮的弟弟:法里赫,這個小子雖然出生在皇家,但是卻為人豪邁,完全沒有王子的架子。在一次偶然的出行中,結識了阿辛,也就是因為他,阿辛才見到了公主的美貌,并為之打動。阿可巴拉城的衛隊長:杜阿是個堅強的男人,擁有鋼鐵般的意志與身體,并為人公正無私,他一直在恪盡職守的完成著自己的使命。魔術師:賽西斯,擁有最強大的魔法的宮廷魔法師,也愛慕著公主,但為人小氣,心胸狹窄。有一天,魔神卡巴特突然出現在阿可巴拉城,并且偽裝成一個賣鸚鵡的人混進宮中,劫走了美麗的公主,并要娶她為妻。于是上述的4人為了救出公主而展開了冒險。當然最終公主是被救回,并且魔王卡巴特也被封印在了神燈里。";

    stageStringSet = new String[] { "==游 戲 幫 助==", "==游 戲 簡 介==",
        "==操 作 說 明==", "==聲 音 控 制==" };
    mainStringSet = new String[] { "游 戲 說 明"};//, "聲 音 控 制" };
    musicStringSet = new String[] { "音 樂", "音 量", "開", "關" };

    mainStartX = ThreadCanvas.SCREEN_WIDTH / 2
                 - Font.getDefaultFont().stringWidth(mainStringSet[0]) / 2;
    mainStartY = ThreadCanvas.SCREEN_HEIGHT / 2 - fontHeight - 20;
    musicStartY = mainStartY;

    gameInfoVector = new Vector();
    Tools.divideString(gameInfoVector, gameInfo, TEXTBOX_WIDTH);

    controlInfoVector = new Vector();
    Tools.divideString(controlInfoVector, "方向鍵控制角色移動", TEXTBOX_WIDTH);
    Tools.divideString(controlInfoVector, "2/上,4/左,8/下,6/右", TEXTBOX_WIDTH);
    Tools.divideString(controlInfoVector, "0鍵切換普通子彈發射/終止", TEXTBOX_WIDTH);
    Tools.divideString(controlInfoVector, "1,3鍵釋放大絕招", TEXTBOX_WIDTH);

    leftButton = "返回";
    rightButton = "確定";

    buttonWidth = Font.getDefaultFont().stringWidth(leftButton);
    fontHeight = (byte) Font.getDefaultFont().getHeight();

    flashArrowDelay = 3;
    arrowColor = 0xffffff;

  }

  /**
   * 刷新
   *
   */
  public void cycle() {
    switch (gameStage) {
    case MAIN_STAGE:
      if (newStage) {
        newStage = false;
        selectIndex = 0;
      }
      break;
    case GAME_INFO_STAGE:
      if (newStage) {
        newStage = false;
        selectIndex = 0;
        updowns = 0;
        textHeight = fontHeight * gameInfoVector.size() + 20;
      }
      break;
    case CONTROL_INFO_STAGE:
      if (newStage) {
        newStage = false;
        selectIndex = 0;
        updowns = 0;
        textHeight = fontHeight * controlInfoVector.size() + 20;
      }
      break;
    case MUSIC_STAGE:
      if (newStage) {
        newStage = false;
        selectIndex = 0;
      }
      break;
    }
    flashArrowDelay--;
    if (flashArrowDelay <= 0) {
      flashArrowDelay = 3;
      arrowColor = 0xff0000;
    } else {
      arrowColor = 0xffffff;
    }
  }

  public void paint(Graphics g) {
    g.setColor(0);
    g.fillRect(0, 0, ThreadCanvas.SCREEN_WIDTH, ThreadCanvas.SCREEN_HEIGHT);

    g.setColor(0xffffff);
    g.drawString(stageStringSet[gameStage], 0, 0, 0);

    switch (gameStage) {
    case MAIN_STAGE:
      for (int index = 0; index < mainStringSet.length; index++) {
        if (index == selectIndex) {
          Tools.drawArtString(g, 0xffffff, 0xe9ff13, 0xe9ff13,
              mainStringSet[index], mainStartX, mainStartY
                  + index * (fontHeight + 20), 0);
        } else {
          g.drawString(mainStringSet[index], mainStartX, mainStartY
              + index * (fontHeight + 20), 0);
        }
      }
      g.setColor(0xffffff);
      //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
      //# g.drawString(leftButton,0,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //# g.drawString(rightButton,ThreadCanvas.SCREEN_WIDTH - 40,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //#else
      g.drawString(leftButton,ThreadCanvas.SCREEN_WIDTH - 40,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      g.drawString(rightButton, 0,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //#endif

      break;
    case GAME_INFO_STAGE:
      g.setClip(TEXTBOX_START_X, TEXTBOX_START_Y, TEXTBOX_WIDTH,
          TEXTBOX_HEIGHT);
      int j = 0;
      for (int index = 0; index < gameInfoVector.size(); index++) {
        g.drawString((String) gameInfoVector.elementAt(index), TEXTBOX_START_X, TEXTBOX_START_Y + fontHeight * j - updowns, 0);
        j++;
      }

      g.setClip(0, 0, ThreadCanvas.SCREEN_WIDTH,
          ThreadCanvas.SCREEN_HEIGHT);
      g.setColor(arrowColor);
      if (textHeight - updowns > TEXTBOX_HEIGHT) {
        Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH / 2,
            ThreadCanvas.SCREEN_HEIGHT - 14, Tools.ARROW_DOWN);
      }
      if (updowns > 0) {
        Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH / 2, 14,
            Tools.ARROW_UP);
      }
      Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH - 14,
          ThreadCanvas.SCREEN_HEIGHT / 2, Tools.ARROW_RIGHT);
      g.setColor(0xffffff);
      //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
      //# g.drawString(leftButton,0,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //#else
      g.drawString(leftButton,ThreadCanvas.SCREEN_WIDTH - 40,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //#endif
      break;
    case CONTROL_INFO_STAGE:
      g.setClip(TEXTBOX_START_X, TEXTBOX_START_Y, TEXTBOX_WIDTH,
          TEXTBOX_HEIGHT);
      j = 0;
      for (int index = 0; index < controlInfoVector.size(); index++) {
        g.drawString((String) controlInfoVector.elementAt(index),
            TEXTBOX_START_X, TEXTBOX_START_Y + fontHeight * j
                - updowns, 0);
        j++;
      }
      g.setClip(0, 0, ThreadCanvas.SCREEN_WIDTH,
          ThreadCanvas.SCREEN_HEIGHT);
      g.setColor(arrowColor);
      if (textHeight - updowns > TEXTBOX_HEIGHT) {
        Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH / 2,
            ThreadCanvas.SCREEN_HEIGHT - 14, Tools.ARROW_DOWN);
      }
      if (updowns > 0) {
        Tools.drawArrow(g, ThreadCanvas.SCREEN_WIDTH / 2, 14,
            Tools.ARROW_UP);
      }
      Tools.drawArrow(g, 14, ThreadCanvas.SCREEN_HEIGHT / 2,
          Tools.ARROW_LEFT);

      g.setColor(0xffffff);
      //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
      //# g.drawString(leftButton,0,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //#else
      g.drawString(leftButton,ThreadCanvas.SCREEN_WIDTH - 40,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
      //#endif
      break;
    //#if NOK_7210 || NOK_QD
    //#else
    case MUSIC_STAGE:
      for (int index = 0; index < 2; index++) {
        if (index == selectIndex) {
          Tools.drawArtString(g, 0xffffff, 0xe9ff13e, 0xe9ff13e,
              musicStringSet[index], 25, musicStartY + index
                  * (fontHeight + 20), 0);
        } else {
          g.drawString(musicStringSet[index], 25, musicStartY + index
              * (fontHeight + 20), 0);
        }
      }
      if (Control.music) {
        if (selectIndex == 0) {
          Tools.drawArtString(g, 0xffffff, 0xe9ff13e, 0xe9ff13e,
              musicStringSet[2], ThreadCanvas.SCREEN_WIDTH - 55,
              musicStartY, 0);
        } else {
          g.drawString(musicStringSet[2],
              ThreadCanvas.SCREEN_WIDTH - 55, musicStartY, 0);
        }
      } else {
        if (selectIndex == 0) {
          Tools.drawArtString(g, 0xffffff, 0xe9ff13e, 0xe9ff13e,
              musicStringSet[3], ThreadCanvas.SCREEN_WIDTH - 55,
              musicStartY, 0);
        } else {
          g.drawString(musicStringSet[3],
              ThreadCanvas.SCREEN_WIDTH - 55, musicStartY, 0);
        }
      }

      if (selectIndex == 0) {
        g.setColor(0xffffff);
        drawTriangle(g, ThreadCanvas.SCREEN_WIDTH - 55, musicStartY
            + fontHeight * 3 / 2 + 20, true);

        g.setColor(0xffffff);
        drawTriangle(g, ThreadCanvas.SCREEN_WIDTH - 30, musicStartY
            + fontHeight * 3 / 2 + 20, false);
      } else {
        if (right) {
          g.setColor(0xffffff);
          drawTriangle(g, ThreadCanvas.SCREEN_WIDTH - 55, musicStartY
              + fontHeight * 3 / 2 + 20, true);

          g.setColor(0xff0000);
          drawTriangle(g, ThreadCanvas.SCREEN_WIDTH - 30, musicStartY
              + fontHeight * 3 / 2 + 20, false);
        } else {
          g.setColor(0xff0000);
          drawTriangle(g, ThreadCanvas.SCREEN_WIDTH - 55, musicStartY
              + fontHeight * 3 / 2 + 20, true);

          g.setColor(0xffffff);
          drawTriangle(g, ThreadCanvas.SCREEN_WIDTH - 30, musicStartY
              + fontHeight * 3 / 2 + 20, false);
        }
      }
      g.setColor(0xffffff);
      g.drawString(leftButton, 0,
          ThreadCanvas.SCREEN_HEIGHT - fontHeight, 0);
      g.drawString(rightButton, ThreadCanvas.SCREEN_WIDTH - buttonWidth,
          ThreadCanvas.SCREEN_HEIGHT - fontHeight, 0);
      break;
    //#endif
    }
  }

  /**
   * 回收資源
   *
   */
  public void reCycle() {
    System.gc();
  }

  protected void keyPressed(int keycode) {
    switch (keycode) {
    case KeyMap.UP:
      switch (gameStage) {
      case GAME_INFO_STAGE:
      case CONTROL_INFO_STAGE:
        updowns -= 10;
        if (updowns < 0) {
          updowns = 0;
        }
        break;
      case MUSIC_STAGE:
        selectIndex--;
        if (selectIndex < 0) {
          selectIndex = 1;
        }
        break;
      }
      break;
    case KeyMap.DOWN:
      switch (gameStage) {
//			case MAIN_STAGE:
//				selectIndex++;
//				if (selectIndex > 1) {
//					selectIndex = 0;
//				}
//				break;
      case GAME_INFO_STAGE:
      case CONTROL_INFO_STAGE:
        updowns += 10;
        if (textHeight - updowns < TEXTBOX_HEIGHT) {
          updowns = textHeight - TEXTBOX_HEIGHT;
        }
        break;
      case MUSIC_STAGE:
        selectIndex++;
        if (selectIndex > 1) {
          selectIndex = 0;
        }
        break;
      }
      break;
    case KeyMap.LEFT:
      switch (gameStage) {
      case MUSIC_STAGE:
        if (selectIndex == 1) {
          if (right) {
            right = false;
          } else {
            Control.downMusic();
          }
        }
        break;
      case CONTROL_INFO_STAGE:
        changeStage(GAME_INFO_STAGE);
        break;
      }
      break;
    case KeyMap.RIGHT:
      switch (gameStage) {
      case MUSIC_STAGE:
        if (selectIndex == 1) {
          if (!right) {
            right = true;
          } else {
            Control.upMusic();
          }
        }
        break;
      case GAME_INFO_STAGE:
        changeStage(CONTROL_INFO_STAGE);
        break;
      }
      break;

    //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
    //# case KeyMap.RIGHT_SOFT:
    //#else
    case KeyMap.LEFT_SOFT:
    //#endif
    case KeyMap.FIRE:
      switch (gameStage) {
      case MAIN_STAGE:
        switch (selectIndex) {
        case 0:
          changeStage(GAME_INFO_STAGE);
          break;
        case 1:
          tempMusic = Control.music;
          tempVolumn = Control.musicVolumn;
          changeStage(MUSIC_STAGE);
          break;
        }
        break;
      }
      break;
      //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
      //# case KeyMap.LEFT_SOFT:
      //#else
      case KeyMap.RIGHT_SOFT:
      //#endif
      switch (gameStage) {
      case MAIN_STAGE:
        Control.returnOldFocus();
        break;
      case MUSIC_STAGE:
        if (tempMusic != Control.music || tempVolumn != Control.musicVolumn) {
          Control.setMusic();
        }
        changeStage(MAIN_STAGE);
        break;
      default:
        changeStage(MAIN_STAGE);
        break;
      }

      break;
    }

  }

  public void changeStage(byte newStage) {
    gameStage = newStage;
    this.newStage = true;
  }

  /**
   * draw the triangle for control the music voice
   *
   * @param posx
   * @param posy
   * @param flag
   */
  public void drawTriangle(Graphics g, int posx, int posy, boolean flag) {
    for (int i = 0; i < 8; i++) {
      if (flag) {
        g.drawLine(posx + i, posy - i, posx + i, posy + i);
      } else {
        g.drawLine(posx - i, posy - i, posx - i, posy + i);
      }
    }
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区乱视频| 成人丝袜视频网| 五月婷婷色综合| 亚洲制服丝袜av| 亚洲精品五月天| ...xxx性欧美| 亚洲欧美日韩精品久久久久| 中文字幕一区二区三区四区不卡 | 欧美曰成人黄网| 在线一区二区视频| 欧美主播一区二区三区美女| 91成人免费在线| 欧美日韩国产综合草草| 欧美精品第一页| 日韩欧美一级二级三级久久久| 日韩精品自拍偷拍| 久久久亚洲精华液精华液精华液 | 欧美激情一区三区| 国产精品久久久久影院老司 | 日韩成人精品在线| 激情欧美一区二区| 丁香啪啪综合成人亚洲小说| 成人av免费在线播放| 91在线一区二区| 9191成人精品久久| 2021国产精品久久精品| 久久精品视频免费观看| 亚洲色图色小说| 午夜激情久久久| 国产在线观看一区二区| 成人性生交大片| 91电影在线观看| 日韩色在线观看| 中文字幕国产一区二区| 一区二区三区在线看| 日日夜夜精品视频免费| 国产剧情一区二区三区| 色婷婷av久久久久久久| 日韩欧美激情一区| 国产精品久久久久久亚洲伦| 亚洲已满18点击进入久久| 久久超级碰视频| 色哟哟一区二区在线观看 | 国产精品另类一区| 风间由美一区二区三区在线观看| 成人av在线一区二区三区| 欧美在线观看18| 欧美精品一区二| 一区二区三区精品| 国内精品免费在线观看| 在线观看日韩国产| 国产偷国产偷亚洲高清人白洁| 亚洲精品一二三四区| 精品一区二区三区免费| 一本大道久久a久久综合| 精品国产乱码久久久久久浪潮| 亚洲乱码中文字幕| 狠狠色丁香婷综合久久| 色偷偷一区二区三区| 久久精品欧美一区二区三区麻豆| 一区二区三区在线不卡| 极品少妇xxxx精品少妇偷拍| 欧美性色黄大片| 欧美激情综合网| 久久精品99久久久| 欧美亚洲综合色| 欧美激情一区二区三区不卡| 青椒成人免费视频| 欧洲人成人精品| 国产精品免费久久久久| 麻豆91小视频| 欧美日高清视频| 中文字幕一区二区日韩精品绯色| 蜜桃视频一区二区三区在线观看| 91色婷婷久久久久合中文| 2020国产精品| 日本午夜精品一区二区三区电影 | 欧美精品一区二区三区在线| 亚洲成av人片| 一本一道久久a久久精品综合蜜臀| 国产视频一区二区在线观看| 裸体健美xxxx欧美裸体表演| 欧美日韩免费观看一区二区三区 | 亚洲h动漫在线| 91视频com| 国产精品久久久久婷婷| 高清不卡一二三区| 精品国产1区2区3区| 视频一区在线视频| 欧洲日韩一区二区三区| 亚洲欧美色一区| 大尺度一区二区| 一本色道亚洲精品aⅴ| 久久久久久黄色| 日本不卡在线视频| 欧亚洲嫩模精品一区三区| 日韩午夜av一区| 日本不卡中文字幕| 欧美裸体一区二区三区| 亚洲精品亚洲人成人网 | 91在线丨porny丨国产| 久久精品亚洲麻豆av一区二区| 青青草97国产精品免费观看| 欧美午夜一区二区三区| 自拍偷拍欧美激情| 国产成人综合在线观看| 精品久久久久一区二区国产| 麻豆freexxxx性91精品| 91精品国产色综合久久不卡电影 | 成人自拍视频在线| www国产精品av| 伦理电影国产精品| 欧美成人免费网站| 奇米影视一区二区三区| 色综合久久久久久久久久久| 一区二区在线看| 国产精品66部| 精品欧美乱码久久久久久1区2区| 美女国产一区二区三区| 91麻豆精品国产91久久久| 日韩精品三区四区| 久久婷婷成人综合色| 极品少妇xxxx偷拍精品少妇| 欧美精品一区二区三区久久久| 国产在线观看一区二区| 国产性天天综合网| 成人精品国产福利| 成人欧美一区二区三区视频网页 | 欧美精品tushy高清| 亚洲国产婷婷综合在线精品| 欧美三级视频在线| 偷拍日韩校园综合在线| 日韩一区二区三免费高清| 精品一区二区三区在线视频| 欧美经典一区二区三区| 成人sese在线| 亚洲精品免费在线观看| 欧美亚洲日本一区| 天天综合网 天天综合色| 91精品啪在线观看国产60岁| 极品尤物av久久免费看| 国产精品久久久久影视| 日本乱码高清不卡字幕| 首页亚洲欧美制服丝腿| 精品国产乱码久久久久久久| 国产高清亚洲一区| 亚洲欧洲制服丝袜| 91精品国产色综合久久| 九九国产精品视频| 欧美国产激情二区三区| 不卡av在线网| 日韩综合在线视频| 久久蜜桃av一区精品变态类天堂 | 欧美精品一区二区三区视频| 色偷偷88欧美精品久久久| 日韩不卡一区二区| 国产亚洲婷婷免费| 色婷婷亚洲一区二区三区| 日韩电影在线一区二区三区| 7777女厕盗摄久久久| 懂色一区二区三区免费观看| 亚洲一区二区3| 精品人在线二区三区| 91啪亚洲精品| 奇米色一区二区| 日韩一卡二卡三卡| 日本道免费精品一区二区三区| 天天色 色综合| 国产欧美综合色| 欧美视频在线观看一区二区| 精品亚洲porn| 亚洲精品国久久99热| 亚洲精品一区二区三区香蕉 | 精品盗摄一区二区三区| 9l国产精品久久久久麻豆| 天堂久久一区二区三区| 久久在线观看免费| 欧美巨大另类极品videosbest | 一区二区三区不卡在线观看 | 久久亚洲精品小早川怜子| 国产91丝袜在线播放九色| 久久精品72免费观看| 亚洲女与黑人做爰| 精品国产亚洲一区二区三区在线观看| 99久久婷婷国产综合精品| 欧美96一区二区免费视频| 国产精品青草综合久久久久99| 精品蜜桃在线看| 欧美日韩一区不卡| 色综合久久中文综合久久97| 黄色日韩网站视频| 午夜精品福利一区二区蜜股av | 欧美乱妇一区二区三区不卡视频| 波多野结衣在线一区| 精彩视频一区二区| 污片在线观看一区二区| 亚洲精品视频在线看| 久久久久免费观看| 欧美日韩在线不卡| 91国偷自产一区二区三区成为亚洲经典 |