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

📄 aboutscreen.java

📁 一款运行于手机的Java游戏神灯传奇源代码
💻 JAVA
字号:
/*
 * Created on 2006-5-22
 *
 */
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.ThreadCanvas;
import com.thinkenjoy.control.KeyMap;
import com.thinkenjoy.tools.Tools;

/**
 *
 * 关于
 */
public class AboutScreen extends ActorCanvas{
  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;

  /**
   * 装关于文字的容器
   */
  Vector sb;

  /**
   * 字体的高度,宽度
   */
  private byte fontHeight;
  private int textHeight;

  /**
   * 记录文字上下移动的距离
   */
  private int updowns;

  private String returnButton;

  private int flashArrowDelay;

  private int arrowColor;
  private int buttonWidth;

  public AboutScreen() {
        updowns = 0;
      sb = new Vector();
      Tools.divideString(sb,"版本:Version 1.0.0",TEXTBOX_WIDTH);
      Tools.divideString(sb,"Copy-right:",TEXTBOX_WIDTH);
      Tools.divideString(sb,"电话:",TEXTBOX_WIDTH);

      returnButton = "返回";
      buttonWidth = Font.getDefaultFont().stringWidth(returnButton);
      fontHeight = (byte) Font.getDefaultFont().getHeight();
      textHeight = fontHeight * sb.size() + 20;

      flashArrowDelay = 3;
      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("==关 于==",0,0,0);
    g.setClip(TEXTBOX_START_X,TEXTBOX_START_Y,TEXTBOX_WIDTH,TEXTBOX_HEIGHT);
    int j = 0;
    for (int index = 0; index < sb.size(); index++) {
      g.drawString((String) sb.elementAt(index), TEXTBOX_START_X, TEXTBOX_START_Y + fontHeight
          * j-updowns, 0);
      j++;
    }
    if (textHeight - updowns < TEXTBOX_HEIGHT) {
      updowns = textHeight - TEXTBOX_HEIGHT;
    }


    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);
    }

    g.setColor(0xffffff);
    //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
    //# g.drawString(returnButton,0,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
    //#else
    g.drawString(returnButton,ThreadCanvas.SCREEN_WIDTH - 40,ThreadCanvas.SCREEN_HEIGHT - fontHeight,0);
    //#endif
  }

  /**
   * 刷新
   *
   */
  public void cycle(){
    flashArrowDelay--;
    if (flashArrowDelay <= 0) {
      flashArrowDelay = 3;
      arrowColor = 0xff0000;
    } else {
      arrowColor = 0xffffff;
    }
  }

  /**
   * 回收资源
   *
   */
  public void reCycle(){
    sb = null;
    System.gc();
  }

  protected void keyPressed(int keycode){
    switch (keycode) {
    case KeyMap.DOWN:
      updowns += 10;
      if (textHeight - updowns < TEXTBOX_HEIGHT) {
        updowns = textHeight - TEXTBOX_HEIGHT;
      }
      break;
    case KeyMap.UP:
      updowns -= 10;
      if (updowns < 0) {
        updowns = 0;
      }
      break;
        //#if MOT_E398 || MOT_V600 || MOT_L7 || MOT_E2
    //# case KeyMap.LEFT_SOFT:
    //#else
    case KeyMap.RIGHT_SOFT:
    //#endif
      Control.returnOldFocus();
      break;

    default:
      break;
    }
  }

}

⌨️ 快捷键说明

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