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

📄 resource.java

📁 手机游戏 泡泡龙 J2ME源代码+详细注释
💻 JAVA
字号:
package paopao;import javax.microedition.lcdui.*;import javax.microedition.rms.*;import java.util.Hashtable;import java.util.Random;public class Resource {  static Hashtable angleValue;  private static int imageNum = 0;  private static Image img[];  static String helpStr = "";  static RecordStore rs = null;  static final byte KEY_UP = -1;  static final byte KEY_DOWN = -2;  static final byte KEY_LEFT = -3;  static final byte KEY_RIGHT = -4;  static final byte KEY_FIRE = -5;  static final byte KEY_LS = -6; //左软件  static final byte KEY_RS = -7; //右软件  //static final byte KEY_LS=    42;     //左软件  // static final byte KEY_RS=    35;      //右软件  static byte[] key = new byte[] {      KEY_LEFT, KEY_RIGHT, KEY_LS, KEY_RS, 0, 0, 1  };  static String[] keyDes = new String[] {      "向左移动:", "向右移动:", "暂停游戏:", "重新开始:"  };  static final int setupKeyNum = 4;  static boolean isSoundOn = true;  static final String DIR = "/resource/";  //images  static final int BG        = 16;  static final int BALL      = 17;  static final int BALL_BOMB = 18;  static final int POINT     = 19;  static final int AID_LINE  = 20;  static final int PROPS     = 21;  static final int BBALL     = 22;  public static Random random = new Random();  static int tempAngle;  static int tempValue;  public static void init(int m_imageNum) {    imageNum = m_imageNum;    img = new Image[imageNum];  }  //从.PNG文件生成IMAGE  //参数 int m_imageId  图片id,例如 Resource.IMG_LOGO  //参数 String m_imageName  图片资源路径名称,例如 "/logo.png"  public static void setImage(int m_imageId, String m_imageName) {    img[m_imageId] = loadImage(m_imageName);  }  //从IMAGE生成IMAGE  public static void setImage(int m_imageId, Image m_image) {    img[m_imageId] = m_image;  }  public static Image getImage(int m_imageId) {    return img[m_imageId];  }  //释放所有图片资源  public static void releasAllImage() {    for (int i = 0; i < imageNum; i++) {      img[i] = null;    }    System.gc();  }  //释放指定id的图片资源  public static void releasImage(int ImageId) {    img[ImageId] = null;    System.gc();  }  private static Image loadImage(String m_imageName) {    Image img = null;    try {      img = Image.createImage(m_imageName);      return img;    }    catch (Exception e) {      System.out.println("Error: " + e.getMessage() + " - " + m_imageName);      return null;    }  }   static void loadAngleValue()  {  angleValue = new Hashtable();  angleValue.put(String.valueOf(0),new Integer(0));  angleValue.put(String.valueOf(3),new Integer(5236));  angleValue.put(String.valueOf(6),new Integer(10453));  angleValue.put(String.valueOf(9),new Integer(15643));  angleValue.put(String.valueOf(12),new Integer(20791));  angleValue.put(String.valueOf(15),new Integer(25882));  angleValue.put(String.valueOf(18),new Integer(30902));  angleValue.put(String.valueOf(21),new Integer(35837));  angleValue.put(String.valueOf(24),new Integer(40674));  angleValue.put(String.valueOf(27),new Integer(45400));  angleValue.put(String.valueOf(30),new Integer(50000));  angleValue.put(String.valueOf(33),new Integer(54464));  angleValue.put(String.valueOf(36),new Integer(58779));  angleValue.put(String.valueOf(39),new Integer(62932));  angleValue.put(String.valueOf(42),new Integer(66913));  angleValue.put(String.valueOf(45),new Integer(70711));  angleValue.put(String.valueOf(48),new Integer(74314));  angleValue.put(String.valueOf(51),new Integer(77715));  angleValue.put(String.valueOf(54),new Integer(80902));  angleValue.put(String.valueOf(57),new Integer(83867));  angleValue.put(String.valueOf(60),new Integer(86603));  angleValue.put(String.valueOf(63),new Integer(89101));  angleValue.put(String.valueOf(66),new Integer(91355));  angleValue.put(String.valueOf(69),new Integer(93358));  angleValue.put(String.valueOf(72),new Integer(95106));  angleValue.put(String.valueOf(75),new Integer(96593));  angleValue.put(String.valueOf(78),new Integer(97815));  angleValue.put(String.valueOf(81),new Integer(98769));  angleValue.put(String.valueOf(84),new Integer(99452));  angleValue.put(String.valueOf(87),new Integer(99863));  angleValue.put(String.valueOf(90),new Integer(100000));  }static int getSinAngleValue(int angle)  {tempAngle = (angle > 90 ? (180 - angle) : angle);tempValue = ((Integer)(angleValue.get(String.valueOf(tempAngle)))).intValue();return tempValue;  }static int getCosAngleValue(int angle)  {tempAngle = (angle > 90 ? angle - 90 : 90 - angle);tempValue = ((Integer)(angleValue.get(String.valueOf(tempAngle)))).intValue();return (angle <= 90 ? tempValue : (-tempValue));  }  public static String GetUserKeyName(int keycode) {    switch (keycode) {      case '0': // '0'        return "0";      case '1': // '1'        return "1";      case '2': // '2'        return "2";      case '3': // '3'        return "3";      case '4': // '4'        return "4";      case '5': // '5'        return "5";      case '6': // '6'        return "6";      case '7': // '7'        return "7";      case '8': // '8'        return "8";      case '9': // '9'        return "9";      case '#': // '#'        return "#";      case '*': // '*'        return "*";      case KEY_UP:        return "上";      case KEY_DOWN:        return "下";      case KEY_LEFT:        return "左";      case KEY_RIGHT:        return "右";      case KEY_FIRE:        return "中";      default:        return " ";    }  }  public static void initrecord() {    boolean existingOrNot = true;    try {      rs = RecordStore.openRecordStore("option", false);    }    catch (RecordStoreNotFoundException e) {      existingOrNot = false;      e.printStackTrace();    }catch (RecordStoreException e){      existingOrNot = false;      e.printStackTrace();    }    //	}    if (existingOrNot) {      try {       rs.closeRecordStore();     }     catch (Exception x) {     }      loadOption();    }    else {      try {        rs = RecordStore.openRecordStore("option", true);      }      catch (Exception e) {      }      try {        if (isSoundOn)          key[6] = 1;        else          key[6] = 0;        rs.addRecord(key, 0, key.length);      }      catch (Exception e) {      }    }    try {      rs.closeRecordStore();    }    catch (Exception x) {    }  }  public static void saveOption() {    try {//           rs.closeRecordStore();      rs.deleteRecordStore("option");      //          rs=null;      rs = RecordStore.openRecordStore("option", true);    }    catch (Exception e) {    }    try {      if (isSoundOn)        key[6] = 1;      else        key[6] = 0;      rs.addRecord(key, 0, key.length);    }    catch (Exception e) {    }    try {      rs.closeRecordStore();    }    catch (Exception x) {    }  }  public static void loadOption() {    boolean existingOrNot = true;    try {      rs = RecordStore.openRecordStore("option", false);    }    catch (Exception e) {      existingOrNot = false;    }    if (existingOrNot) {      try {        key = rs.getRecord(1);        if (key[6] == 1)          isSoundOn = true;        else          isSoundOn = false;      }      catch (Exception e) {        e.printStackTrace();      }    }    else { //not exist      System.out.println("not exist");    }    try {      rs.closeRecordStore();    }    catch (Exception x) {      x.printStackTrace();    }  }}

⌨️ 快捷键说明

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