📄 canvas1.java~351~
字号:
hero.move(); //英雄移動
this.heroShot(); //發射子彈
enemy_count++;
if (enemy_count == 100) {
enemy = new Enemy(this, 1); //生成敵人
enemy.setPosition(80, 0);
} //生成敵人
if (enemy != null) {
enemy.move(); //敵人移動
for (int i = 0; i < this.bullets1.length; i++) {
if (tool.inRect(enemy.x, enemy.y, 39, 30, bullets1[i].x,
bullets1[i].y, 15, 24)) {
bullets1[i].setVisble(false);
blast.setPosition( bullets1[i].x, bullets1[i].y);
this.blast.move();//动//////////////////////////////////////////////
enemy.hp -= 1;
if (enemy.hp <= 0) {
enemy.y = 1000;
}
}
}
}
break;
}
}
////////////////////////////////////////////////////////////////////////////////
//打印
public void paintLogo1(Graphics g) {
g.setColor(0xfff);
g.drawImage(img_Logo1, 2, 0, g.TOP | g.LEFT);
}
public void paintMenu(Graphics g) {
g.drawImage(img_Menu, 2, 0, g.TOP | g.LEFT);
g.setColor(0xffffff);
switch (iSel_Menu) {
case 0:
g.fillRect(2, 60, img_Logo1.getWidth(), 18);
break;
case 1:
g.fillRect(2, 88, img_Logo1.getWidth(), 18); ;
break;
case 2:
g.fillRect(2, 116, img_Logo1.getWidth(), 18);
break;
case 3:
g.fillRect(2, 144, img_Logo1.getWidth(), 18);
break;
}
g.setColor(0x0);
g.setFont(font);
g.drawString("开始游戏", 22, 60, g.LEFT | g.TOP);
g.drawString("音乐: 開", 22, 88, g.LEFT | g.TOP);
g.drawString("帮助", 22, 116, g.LEFT | g.TOP);
g.drawString("退出游戏", 22, 144, g.LEFT | g.TOP);
}
public void paintChoice(Graphics g) {
g.drawImage(img_Menu, 2, 0, g.LEFT | g.TOP);
switch (Hero.type) {
//3種飛機
case 0:
g.setColor(0xffffff);
g.setFont(font);
g.drawImage(img_plane1, planeX, 80, g.LEFT | g.TOP);
g.drawString("<- 獵虎戰机 ->", 40, 165, g.LEFT | g.TOP);
break;
case 1:
g.setColor(0xffffff);
g.setFont(font);
g.drawImage(img_plane2, planeX, 80, g.LEFT | g.TOP);
g.drawString("<- 幻影戰机 ->", 40, 165, g.LEFT | g.TOP);
break;
case 2:
g.setColor(0xffffff);
g.setFont(font);
g.drawImage(img_plane3, planeX, 70, g.LEFT | g.TOP);
g.drawString("<- 天堂戰机 ->", 40, 165, g.LEFT | g.TOP);
break;
}
}
public void paintBullets(Graphics g) {
switch (bullet_type) {
case 1:
for (int i = 0; i < this.bullets1.length; i++) {
this.bullets1[i].move();
this.bullets1[i].paint(g);
}
break;
case 2:
for (int i = 0; i < this.bullets1.length; i++) {
this.bullets1[i].move();
this.bullets1[i].paint(g);
this.bullets2[i].move();
this.bullets2[i].paint(g);
this.bullets3[i].move();
this.bullets3[i].paint(g);
}
break;
case 3:
for (int i = 0; i < this.bullets1.length; i++) {
this.bullets1[i].move();
this.bullets1[i].paint(g);
}
break;
}
}
public void paintMap1(Graphics g) {
try {
map1.paintMap(g);
} catch (Exception e) {}
hero.paint(g);
}
public void setWindows() { //地圖滾動
this.viewY -= 2;
if (this.viewY < 0) {
viewY = 0;
}
}
//////////////////////////////////////////////////////////////////////////////////
//按鍵操作
public void key_play() {
switch (key) {
case KEY_NUM2:
case UP:
key2 = true;
break;
case KEY_NUM4:
case LEFT:
key4 = true;
break;
case KEY_NUM6:
case RIGHT:
key6 = true;
break;
case KEY_NUM8:
case DOWN:
key8 = true;
break;
case FIRE:
break;
}
}
public void key_menu() {
switch (key) {
case UP:
if (iSel_Menu != 0) {
iSel_Menu--;
}
break;
case DOWN:
if (iSel_Menu != 3) {
iSel_Menu++;
}
break;
case FIRE:
switch (this.iSel_Menu) {
case 0: //游戲開始
this.chageMission(GAME_CHOICE);
break;
case 1: //音樂開關
break;
case 2: //音樂開關
break;
case 3: //退出游戏
break;
}
break;
}
}
public void key_choice() {
switch (key) {
case LEFT:
if (choice_RIGHT == false) {
choice_LEFT = true;
}
;
break;
case RIGHT:
if (choice_LEFT == false) {
choice_RIGHT = true;
}
;
break;
case FIRE:
hero = new Hero(this, Hero.type); //生成飛機
this.bullet_construct(); //生成子弹
this.chageMission(GAME_PLAY);
break;
}
}
protected void keyPressed(int keyCode) {
//標題畫面操作
key = keyCode;
switch (mission) {
case GAME_LOGO1:
break;
case GAME_MENU:
key_menu();
break;
case GAME_CHOICE:
key_choice();
break;
case GAME_PLAY:
key_play();
break;
case GAME_HELP:
break;
}
}
protected void keyReleased(int keyCode) {
switch (keyCode) {
case KEY_NUM2:
case UP:
key2 = false;
key = 0;
break;
case KEY_NUM4:
case LEFT:
key4 = false;
key = 0;
break;
case KEY_NUM6:
case RIGHT:
key6 = false;
key = 0;
break;
case KEY_NUM8:
case DOWN:
key8 = false;
key = 0;
break;
}
}
protected void paint(Graphics g) {
Graphics gg = g;
g = Dg;
switch (mission) {
case GAME_LOGO1:
paintLogo1(g);
break;
case GAME_HELP:
break;
case GAME_MENU:
paintMenu(g);
break;
case GAME_CHOICE:
paintChoice(g);
break;
case GAME_PLAY:
paintMap1(g);
this.paintBullets(g);
if (enemy != null) {
enemy.paint(g);
}
blast.paint(g);
break;
}
g = gg;
g.drawImage(img_buffer, 0, 0, g.TOP | g.LEFT);
}
public void run() {
while (title) {
long start = System.currentTimeMillis();
try {
this.logic();
this.repaint();
this.serviceRepaints();
} catch (Exception e) {
e.printStackTrace();
}
;
long end = System.currentTimeMillis();
if ((70 - (end - start)) > 0) {
try {
thread1.sleep(70 - (end - start));
} catch (InterruptedException ex) {
}
}
}
}
private void jbInit() throws Exception {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -