📄 resource.java
字号:
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));
}
public static int getSinAngleValue(int angle)
{
tempAngle = (angle > 90 ? (180 - angle) : angle);
tempValue = ((Integer)(angleValue.get(String.valueOf(tempAngle)))).intValue();
return tempValue;
}
public 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 + -