📄 gameoptions.java
字号:
return GameLogic.m_gamePoints;
}
private void createTankChoice() {
try {
m_chooseTankImage = Image.createImage(
"/tank/map_res/choosetank_choice.png");
m_commanderIconImage = Image.createImage(
"/tank/map_res/choosetank_commander.png");
m_commanderIconImageSprite = new Sprite(m_commanderIconImage,
COMMANDER_ICON_WIDTH,
COMMANDER_ICON_HEIGHT);
m_focusedSprite = new Sprite(m_chooseTankImage, CHOOSE_TANK_IMAGE_WIDTH,
CHOOSE_TANK_IMAGE_HEIGHT);
m_focusedSprite.setFrame(TANK_CHOICE_INDEX_FOCUSED);
m_layerManager.insert(m_focusedSprite, 0);
m_chooseTankImageSprite = new Sprite[CHOOSE_TANK_SPRITE_COUNTS];
for (int i = 0; i < CHOOSE_TANK_SPRITE_COUNTS; i++) {
m_chooseTankImageSprite[i] = new Sprite(m_chooseTankImage,
CHOOSE_TANK_IMAGE_WIDTH,
CHOOSE_TANK_IMAGE_HEIGHT);
//display all the tanks
int points = getGamePoints();
if (points >= POINTS_FUTURE_TANK) {
m_chooseTankImageSprite[i].setFrame(TANK_CHOICE_INDEX_RETIRED + i);
}
else { //display only the retired tank
if (0 == i) {
m_chooseTankImageSprite[i].setFrame(TANK_CHOICE_INDEX_RETIRED);
}
else {
m_chooseTankImageSprite[i].setFrame(i);
}
}
m_layerManager.insert(m_chooseTankImageSprite[i], 0);
}
//draw choice icon
m_chooseTankImageSprite[0].setRefPixelPosition(CHOICE_ONE_X, CHOICE_ONE_Y);
m_focusedSprite.setRefPixelPosition(CHOICE_ONE_X, CHOICE_ONE_Y);
m_chooseTankImageSprite[1].setRefPixelPosition(CHOICE_TWO_X, CHOICE_TWO_Y);
m_chooseTankImageSprite[2].setRefPixelPosition(CHOICE_THREE_X,
CHOICE_THREE_Y);
m_chooseTankImageSprite[3].setRefPixelPosition(CHOICE_FOUR_X,
CHOICE_FOUR_Y);
m_commanderIconImageSprite.setRefPixelPosition(COMMANDER_ICON_X,
COMMANDER_ICON_Y);
m_layerManager.insert(m_commanderIconImageSprite, 0);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void displayTankChoice(){
try {
if (null == m_focusedSprite) {
return;
}
if(m_currentFocusSprite>=CHOOSE_TANK_SPRITE_COUNTS){
m_currentFocusSprite=CHOOSE_TANK_SPRITE_COUNTS-1;
}
if(m_currentFocusSprite<=0){
m_currentFocusSprite=0;
}
switch(m_currentFocusSprite){
case 0:
m_focusedSprite.setRefPixelPosition(CHOICE_ONE_X,CHOICE_ONE_Y);
m_tankType=GameLogic.TANK_RETIRED;
break;
case 1:
m_focusedSprite.setRefPixelPosition(CHOICE_TWO_X,CHOICE_TWO_Y);
m_tankType=GameLogic.TANK_FUTURE;
break;
case 2:
m_focusedSprite.setRefPixelPosition(CHOICE_THREE_X,CHOICE_THREE_Y);
m_tankType=GameLogic.TANK_TIP_LORRY;
break;
case 3:
m_focusedSprite.setRefPixelPosition(CHOICE_FOUR_X,CHOICE_FOUR_Y);
m_tankType=GameLogic.TANK_BABY;
break;
default:
break;
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private static void releaseTankParam(){
try {
m_chooseTankWordImage=null;
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private static void createTankParam(){
try {
m_chooseTankWordImage=Image.createImage("/tank/map_res/choosetank_word.png");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void displayTankWord() {
try {
if(null ==m_chooseTankWordImage){
return;
}
int points = getGamePoints();
Graphics g = m_graphics;
//display 退伍坦克
//退伍
DrawTools.XDrawImage(g, m_chooseTankWordImage, WORD_RETIRED_TANK_X,
WORD_RETIRED_TANK_Y,
80, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH * 2,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//坦克
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_RETIRED_TANK_X +
2 * CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_RETIRED_TANK_Y,
144, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH * 2,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//display all the tank params,bullet &blood
if (points >= POINTS_FUTURE_TANK) {
m_currentMaxSprite=3;
//display word,e.g 退伍坦克
//未来坦克
DrawTools.XDrawImage(g, m_chooseTankWordImage, WORD_FUTURE_TANK_ONE_X,
WORD_FUTURE_TANK_ONE_Y,
112, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH * 2,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_FUTURE_TANK_ONE_X +
2 * CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_RETIRED_TANK_Y,
144, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH * 2,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//翻斗车
DrawTools.XDrawImage(g, m_chooseTankWordImage, WORD_FUTURE_TANK_TWO_X,
WORD_FUTURE_TANK_TWO_Y,
192, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH * 3,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//娃娃车
DrawTools.XDrawImage(g, m_chooseTankWordImage, WORD_FUTURE_TANK_THREE_X,
WORD_FUTURE_TANK_THREE_Y,
176, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_FUTURE_TANK_THREE_X + CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_FUTURE_TANK_THREE_Y,
176, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_FUTURE_TANK_THREE_X +
2 * CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_FUTURE_TANK_THREE_Y,
224, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
}
else { //only display the bullet/blood param of retired tank,display ?for others
m_currentMaxSprite=0;
for (int i = 0; i < QUESTION_MARK_COUNTS; i++) {
//未来坦克
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_FUTURE_TANK_ONE_X +
i * CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_FUTURE_TANK_ONE_Y,
240, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//翻斗车
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_FUTURE_TANK_TWO_X +
i * CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_FUTURE_TANK_TWO_Y,
240, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
// //娃娃车
DrawTools.XDrawImage(g, m_chooseTankWordImage,
WORD_FUTURE_TANK_THREE_X +
i * CHOOSE_TANK_WORD_IMAGE_WIDTH,
WORD_FUTURE_TANK_THREE_Y,
240, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
}
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void displayTankParam(){
try {
if(null ==m_chooseTankWordImage){
return;
}
Graphics g=m_graphics;
//display bullet symbol & : &bullet num
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_ONE_X,BULLET_ONE_Y,
0,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_ONE_X+BULLET_COLON_GAP,BULLET_ONE_Y,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//retired tank
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_ONE_X+BULLET_LEVEL_GAP,BULLET_ONE_Y,
ATTACK_LEVEL_X,ATTACK_LEVEL_Y,BULLET_WIDTH,BULLET_HEIGHT);
DrawTools.XDrawImage(g, m_chooseTankWordImage, BULLET_TWO_X, BULLET_TWO_Y,
0, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_TWO_X + BULLET_COLON_GAP, BULLET_TWO_Y,
32, 0, CHOOSE_TANK_WORD_IMAGE_WIDTH,
CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//ATTACK OF future tank one
for (int i = 0; i < ATTACK_FUTURE_TANK_ONE; i++) {
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_TWO_X + BULLET_LEVEL_GAP+i*BULLET_GAP, BULLET_TWO_Y,
ATTACK_LEVEL_X, ATTACK_LEVEL_Y,
BULLET_WIDTH,
BULLET_HEIGHT);
}
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_THREE_X,BULLET_THREE_Y,
0,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_THREE_X+BULLET_COLON_GAP,BULLET_THREE_Y,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//future tank two
for (int i = 0; i < ATTACK_FUTURE_TANK_TWO; i++) {
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_THREE_X + BULLET_LEVEL_GAP + i * BULLET_GAP,
BULLET_THREE_Y,
ATTACK_LEVEL_X, ATTACK_LEVEL_Y,
BULLET_WIDTH,
BULLET_HEIGHT);
}
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_FOUR_X,BULLET_FOUR_Y,
0,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_FOUR_X+BULLET_COLON_GAP,BULLET_FOUR_Y,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//future tank three
for (int i = 0; i < ATTACK_FUTURE_TANK_THREE; i++) {
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_FOUR_X + BULLET_LEVEL_GAP + i * BULLET_GAP,
BULLET_FOUR_Y,
ATTACK_LEVEL_X, ATTACK_LEVEL_Y,
BULLET_WIDTH,
BULLET_HEIGHT);
}
//display blood symbol& :
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_ONE_X,BULLET_ONE_Y+BULLET_BLOOD_GAP,
16,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_ONE_X+BULLET_COLON_GAP,BULLET_ONE_Y+BULLET_BLOOD_GAP,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//blood of retired tank
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_ONE_X+BULLET_COLON_GAP,BULLET_ONE_Y+BULLET_BLOOD_GAP,
BLOOD_LEVEL_X,BLOOD_LEVEL_Y,BULLET_WIDTH,BULLET_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_TWO_X,BULLET_TWO_Y+BULLET_BLOOD_GAP,
16,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_TWO_X+BULLET_COLON_GAP,BULLET_TWO_Y+BULLET_BLOOD_GAP,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
//BLOOD OF future tank one
for (int i = 0; i < BLOOD_FUTURE_TANK_ONE; i++) {
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_TWO_X + BULLET_LEVEL_GAP+i*BULLET_GAP, BULLET_TWO_Y+BULLET_BLOOD_GAP,
BLOOD_LEVEL_X, BLOOD_LEVEL_Y,
BULLET_WIDTH,
BULLET_HEIGHT);
}
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_THREE_X,BULLET_THREE_Y+BULLET_BLOOD_GAP,
16,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_THREE_X+BULLET_COLON_GAP,BULLET_THREE_Y+BULLET_BLOOD_GAP,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
for (int i = 0; i < BLOOD_FUTURE_TANK_TWO; i++) {
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_THREE_X + BULLET_LEVEL_GAP+i*BULLET_GAP, BULLET_THREE_Y+BULLET_BLOOD_GAP,
BLOOD_LEVEL_X, BLOOD_LEVEL_Y,
BULLET_WIDTH,
BULLET_HEIGHT);
}
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_FOUR_X,BULLET_FOUR_Y+BULLET_BLOOD_GAP,
16,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
DrawTools.XDrawImage(g,m_chooseTankWordImage,BULLET_FOUR_X+BULLET_COLON_GAP,BULLET_FOUR_Y+BULLET_BLOOD_GAP,
32,0,CHOOSE_TANK_WORD_IMAGE_WIDTH,CHOOSE_TANK_WORD_IMAGE_HEIGHT);
for (int i = 0; i < BLOOD_FUTURE_TANK_THREE; i++) {
DrawTools.XDrawImage(g, m_chooseTankWordImage,
BULLET_FOUR_X + BULLET_LEVEL_GAP+i*BULLET_GAP, BULLET_FOUR_Y+BULLET_BLOOD_GAP,
BLOOD_LEVEL_X, BLOOD_LEVEL_Y,
BULLET_WIDTH,
BULLET_HEIGHT);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void createBackground() {
try {
m_backgroundImg = Image.createImage("/tank/map_res/tank_factory.png");
m_panel = Image.createImage("/tank/map_res/bottom.png");
m_backgroundImgSprite = new Sprite(m_backgroundImg, BACKGROUND_WIDTH,
BACKGROUND_HEIGHT);
m_backgroundImgSprite.setRefPixelPosition(0, PANEL_HEIGHT);
m_layerManager.insert(m_backgroundImgSprite, 0);
m_panelSprite = new Sprite[PANEL_COUNTS];
for (int i = 0; i < PANEL_COUNTS; i++) {
m_panelSprite[i] = new Sprite(m_panel, PANEL_WIDTH, PANEL_HEIGHT);
m_panelSprite[i].setFrame(i);
m_layerManager.insert(m_panelSprite[i], 0);
}
m_panelSprite[0].setRefPixelPosition(0, 0);
m_panelSprite[1].setRefPixelPosition(0, BACKGROUND_HEIGHT + PANEL_HEIGHT);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void createButton() {
try {
m_buttonImage = Image.createImage("/tank/map_res/factory_bottom_word.png");
//button,确定/返回
m_buttonSprite = new Sprite[BUTTON_SPRITE_COUNTS];
for (int i = 0; i < BUTTON_SPRITE_COUNTS; i++) {
m_buttonSprite[i] = new Sprite(m_buttonImage, BUTTON_IMAGE_WIDTH,
BUTTON_IMAGE_HEIGHT);
m_layerManager.insert(m_buttonSprite[i], 0);
}
m_buttonSprite[0].setFrame(BUTTON_INDEX_CONFIRM);
m_buttonSprite[0].setRefPixelPosition(LEFT_SOFTKEY_X, LEFT_SOFTKEY_Y);
m_buttonSprite[1].setFrame(BUTTON_INDEX_BACK);
m_buttonSprite[1].setRefPixelPosition(RIGHT_SOFTKEY_X, RIGHT_SOFTKEY_Y);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public void createTitle(int titleIndex) {
try {
m_titleImage = Image.createImage("/tank/map_res/factory_icon_word.png");
m_factoryIconImage=Image.createImage("/tank/map_res/factory_icon.png");
//工厂ICON
m_factoryIconImageSprite = new Sprite(m_factoryIconImage,
TITLE_ICON_IMAGE_WIDTH,
TITLE_ICON_IMAGE_HEIGHT);
m_factoryIconImageSprite.setRefPixelPosition(TITLE_ICON_X,
TITLE_ICON_Y);
m_layerManager.insert(m_factoryIconImageSprite, 0);
m_titleImageSprite = new Sprite(m_titleImage, TITLE_IMAGE_WIDTH,
TITLE_IMAGE_HEIGHT);
m_titleImageSprite.setFrame(titleIndex);
m_titleImageSprite.setRefPixelPosition(TITLE_X, TITLE_Y);
m_layerManager.insert(m_titleImageSprite, 0);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
protected void keyPressed(int keyCode){
//System.out.println(keyCode);
String cmd = null;
if (KEY_CODE_LSK == keyCode || DrawTools.KEY_CODE_SELECT == keyCode) {
cmd = "进入战斗";
stop();
//update tank type
GameLogic.updateGameInfo(-1,-1,-1,m_tan
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -