📄 enemy.java
字号:
package com.j2medev.chapter5;
import javax.microedition.lcdui.*;
public class Enemy
implements MyGameInterface {
private byte enemyType = ENEMY_PIG;
public Imagex imgxEnemy;
private int enemyX = 0, enemyY = 0;
private int tmpEnemyX = 0;
private int timer = 1;
private int AOGFrog = 1;
private int SpeedFrog = -5;
private int frogY;
/**
* 构造函数
*/
public Enemy(Imagex imgxEnemy, byte enemyType, int enemyX, int enemyY) {
this.imgxEnemy = imgxEnemy;
this.enemyType = enemyType;
this.tmpEnemyX = enemyX * 16;
this.enemyX = this.tmpEnemyX;
this.enemyY = enemyY * 16;
this.frogY = this.enemyY;
}
/**
* 得到X值
*/
public int getEnemyX() {
return enemyX;
}
/**
* 得到Y值
*/
public int getEnemyY() {
return enemyY;
}
/**
* 得到宽度
* @return int
*/
public int getEnemyWidth() {
return imgxEnemy.getFrameWidth();
}
/**
* 得到高度
* @return int
*/
public int getEnemyHeight() {
return imgxEnemy.getFrameHeight();
}
/**
* 得到敌人的类型
* @return int
*/
public byte getEnemyType() {
return enemyType;
}
public void setEnemyType(byte enemyType) {
this.enemyType = enemyType;
}
public void setEnemyImagex(Imagex imgxEnemy) {
this.imgxEnemy = imgxEnemy;
}
public Imagex getEnemyImagex() {
return imgxEnemy;
}
/**
* paint函数
*/
public void paint(Graphics g, int offsetX) {
if (enemyType == ENEMY_PANDA || enemyType == ENEMY_PANDA_DEAD) {
imgxEnemy.draw(g, tmpEnemyX + offsetX - timer * 2, enemyY);
if (enemyType == ENEMY_PANDA) {
if (timer % 3 == 0) {
imgxEnemy.setFrame(1);
}
if (timer % 6 == 0) {
imgxEnemy.setFrame(0);
}
timer++;
}
enemyX = tmpEnemyX + offsetX - timer * 2;
}
else if (enemyType == ENEMY_PIG || enemyType == ENEMY_PIG_DEAD) {
imgxEnemy.draw(g, tmpEnemyX + offsetX, enemyY);
if (enemyType == ENEMY_PIG) {
if (timer == 3) {
imgxEnemy.setFrame(1);
}
if (timer == 6) {
imgxEnemy.setFrame(0);
timer = 1;
}
else {
timer++;
}
}
enemyX = tmpEnemyX + offsetX;
}
else if (enemyType == ENEMY_FROG || enemyType == ENEMY_FROG_DEAD) {
imgxEnemy.draw(g, tmpEnemyX + offsetX, enemyY);
if (enemyType == ENEMY_FROG) {
if (timer == 4) {
enemyY += SpeedFrog;
SpeedFrog += AOGFrog;
imgxEnemy.setFrame(1);
if (SpeedFrog >= 5) {
SpeedFrog = -5;
timer = 1;
}
}
else {
imgxEnemy.setFrame(0);
enemyY = frogY;
timer++;
}
enemyX = tmpEnemyX + offsetX;
}
else {
enemyX = tmpEnemyX + offsetX;
if (SpeedFrog < 6) {
enemyY += SpeedFrog;
SpeedFrog += AOGFrog;
if (SpeedFrog >= 6) {
SpeedFrog = 7;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -