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

📄 resource.java~2~

📁 物体做抛物线运动是游戏中基本运动物理模型之一! 在PC游戏中可以由重力公式 轻易模拟
💻 JAVA~2~
字号:
package paowuxian;



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 + -