📄 planesbomb.java
字号:
package src;
import javax.microedition.lcdui.Graphics;
public class PlaneSbomb {
KingCanvas KC;
int PlaneX, PlaneY;
int PlaneWidth, PlaneHeight;
boolean bFlaySbombPlaneDisplay, bFlagSbombPlaneArticleDisplay,
bFlaySbombPlaneExplosionDisplay;
int ExplosionNumber, PlaneArticleNumber;
int randomStem;
int BombIntervalCounter;
int TempY;
int Explosion_X, Explosion_Y, PlaneArticle_X, PlaneArticle_Y;
public PlaneSbomb(KingCanvas KC, int PlaneSbombStem) {
this.KC = KC;
InitPlane(PlaneSbombStem);
}
/**
* 初始化友军轰炸相关属性以及加载相关图片处理方法
*/
public void InitPlane(int PlaneSbombStem) {
PlaneX = KC.GetRandom(144);
PlaneY = KingCanvas.SCREEN_HEIGHT + PlaneSbombStem;
PlaneWidth = 32;
PlaneHeight = 25;
}
/**
* 移动友军轰炸处理方法
*/
public void MoveOtherPlane() {
if (bFlagSbombPlaneArticleDisplay == false)
randomStem = KC.GetRandom(3);
if (PlaneY + PlaneHeight >= 0) {
PlaneY -= 8;
if (randomStem == 1) {
bFlagSbombPlaneArticleDisplay = true;
PlaneArticle_X = PlaneX + 13;
PlaneArticle_Y = PlaneY + 6;
TempY = PlaneArticle_Y;
randomStem = 0;
}
if (PlaneArticleNumber == 3) {
Explosion_X = PlaneArticle_X - 8;
Explosion_Y = PlaneArticle_Y - 4;
bFlaySbombPlaneExplosionDisplay = true;
KC.SbombCollide();
}
} else {
if (KC.bFlagArticle == 1) {
PlaneX = KC.GetRandom(144);
PlaneY = KingCanvas.SCREEN_HEIGHT + PlaneHeight;
}
}
}
/**
* 友军轰炸掉落炸弹移动处理方法
*/
public void MovePlaneArticle() {
if (bFlagSbombPlaneArticleDisplay == true) {
PlaneArticle_Y++;
}
}
// -------------------------------------- 画笔
/**
* 友军轰炸画笔
*/
public void drawSbombPlane(Graphics g) {
KingCanvas.Brush(g, KingCanvas.Plane, PlaneX, PlaneY, PlaneWidth,
PlaneHeight, 0, 0);
}
/**
* 友军轰炸掉落炸弹爆炸画笔
*/
public void drawOtherPlaneExplosion(Graphics g) {
KingCanvas.Brush(g, KingCanvas.PlaneExplosion, Explosion_X,
Explosion_Y, KingCanvas.PlaneExplosion.getWidth(),
KingCanvas.PlaneExplosion.getWidth(), ExplosionNumber, 0);
}
/**
* 友军轰炸掉落炸弹画笔
*/
public void drawPlaneSmbombArticle(Graphics g) {
KingCanvas.Brush(g, KingCanvas.PlaneArticle, PlaneArticle_X,
PlaneArticle_Y, KingCanvas.PlaneArticle.getWidth(),
KingCanvas.PlaneArticle.getHeight() / 3, PlaneArticleNumber, 0);
}
// -------------------------------------------------
/**
* 友军轰炸相关处理方法
*/
public void PlaneSbombPacket() {
MoveOtherPlane();
MovePlaneArticle();
}
/**
* 友军轰炸相关画笔
*/
public void drawPlaneSbomb(Graphics g) {
if (KC.bFlagArticle == 0)
return;
if (bFlaySbombPlaneDisplay == false) {
if (bFlagSbombPlaneArticleDisplay == true) {
drawPlaneSmbombArticle(g);
if (PlaneArticleNumber < 3) {
BombIntervalCounter++;
if (BombIntervalCounter % 10 == 0)
PlaneArticleNumber++;
} else {
PlaneArticleNumber = 0;
bFlagSbombPlaneArticleDisplay = false;
}
}
drawSbombPlane(g);
}
if (bFlaySbombPlaneExplosionDisplay == true) {
drawOtherPlaneExplosion(g);
bFlagSbombPlaneArticleDisplay = true;
if (ExplosionNumber < 5) {
ExplosionNumber++;
} else {
ExplosionNumber = 0;
bFlaySbombPlaneExplosionDisplay = false;
}
bFlagSbombPlaneArticleDisplay = false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -