📄 kingcanvas.java
字号:
}
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
Font.SIZE_MEDIUM));
switch (OptionMenu1) {
case 0:
g.setColor(255, 0, 0);
g.drawString(" 声音开关 ", 12, 60, 0);
g.setColor(255, 255, 255);
g.drawString(" 适应机型 ", 12, 85, 0);
g.drawString(" 游戏难度 ", 12, 110, 0);
break;
case 1:
g.setColor(255, 255, 255);
g.drawString(" 声音开关 ", 12, 60, 0);
g.setColor(255, 0, 0);
g.drawString(" 适应机型 ", 12, 85, 0);
g.setColor(255, 255, 255);
g.drawString(" 游戏难度 ", 12, 110, 0);
break;
case 2:
g.setColor(255, 255, 255);
g.drawString(" 声音开关 ", 12, 60, 0);
g.drawString(" 适应机型 ", 12, 85, 0);
g.setColor(255, 0, 0);
g.drawString(" 游戏难度 ", 12, 110, 0);
break;
}
switch (OptionMenu2) {
case 1:
g.setColor(ColorCounter, ColorCounter, ColorCounter);
if (ColorCounter <= 240) {
ColorCounter += 15;
} else {
ColorCounter = 0;
}
if (TimeOrderCounter < 35) {
TimeOrderCounter += 2;
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 60,
TimeOrderCounter << 1, SCREEN_HEIGHT >> 1);
g.setColor(0, 0, 0);
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 70,
TimeOrderCounter << 1, (SCREEN_HEIGHT >> 1) - 20);
g.setColor(255, 255, 255);
switch (OptionMenu3) {
case 0:
g.setColor(255, 0, 0);
g.drawString(" 声音开 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 82, 0);
g.setColor(255, 255, 255);
g.drawString(" 声音关 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 122, 0);
break;
case 1:
g.setColor(255, 255, 255);
g.drawString(" 声音开 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 82, 0);
g.setColor(255, 0, 0);
g.drawString(" 声音关 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 122, 0);
break;
}
} else {
TimeOrderCounter = 35;
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 60,
TimeOrderCounter << 1, SCREEN_HEIGHT >> 1);
g.setColor(0, 0, 0);
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 70,
TimeOrderCounter << 1, (SCREEN_HEIGHT >> 1) - 20);
g.setColor(255, 255, 255);
switch (OptionMenu3) {
case 0:
g.setColor(255, 0, 0);
g.drawString(" 声音开 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 82, 0);
g.setColor(255, 255, 255);
g.drawString(" 声音关 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 122, 0);
isMusic = true;
bFlagMusic = false;
break;
case 1:
g.setColor(255, 255, 255);
g.drawString(" 声音开 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 82, 0);
g.setColor(255, 0, 0);
g.drawString(" 声音关 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 122, 0);
isMusic = false;
bFlagMusic = true;
MusicTest = 0;
break;
}
}
break;
case 2:
g.setColor(ColorCounter, ColorCounter, ColorCounter);
if (ColorCounter <= 240) {
ColorCounter += 15;
} else {
ColorCounter = 0;
}
if (TimeOrderCounter < 35) {
TimeOrderCounter += 2;
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 60,
TimeOrderCounter << 1, SCREEN_HEIGHT >> 1);
g.setColor(0, 0, 0);
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 70,
TimeOrderCounter << 1, (SCREEN_HEIGHT >> 1) - 20);
g.setColor(255, 255, 255);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
Font.SIZE_LARGE));
switch (OptionMenu3) {
case 1:
g.setColor(255, 0, 0);
g.drawString(" S - 40 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 255, 255);
g.drawString(" S - 60 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 102, 0);
g.drawString(" S - 80 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 127, 0);
break;
case 0:
g.setColor(255, 255, 255);
g.drawString(" S - 40 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 0, 0);
g.drawString(" S - 60 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 255, 255);
g.drawString(" S - 80 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 127, 0);
break;
case 2:
g.setColor(255, 255, 255);
g.drawString(" S - 40 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 77, 0);
g.drawString(" S - 60 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 0, 0);
g.drawString(" S - 80 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 127, 0);
break;
}
} else {
TimeOrderCounter = 35;
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 60,
TimeOrderCounter << 1, SCREEN_HEIGHT >> 1);
g.setColor(0, 0, 0);
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 70,
TimeOrderCounter << 1, (SCREEN_HEIGHT >> 1) - 20);
g.setColor(255, 255, 255);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
Font.SIZE_LARGE));
switch (OptionMenu3) {
case 1:
g.setColor(255, 0, 0);
g.drawString(" S - 40 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 255, 255);
g.drawString(" S - 60 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 102, 0);
g.drawString(" S - 80 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 127, 0);
break;
case 0:
g.setColor(255, 255, 255);
g.drawString(" S - 40 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 0, 0);
g.drawString(" S - 60 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 255, 255);
g.drawString(" S - 80 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 127, 0);
break;
case 2:
g.setColor(255, 255, 255);
g.drawString(" S - 40 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 77, 0);
g.drawString(" S - 60 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 0, 0);
g.drawString(" S - 80 ", SCREEN_WIDTH - temp2
- (TimeOrderCounter << 1), 127, 0);
break;
}
}
break;
case 3:
g.setColor(ColorCounter, ColorCounter, ColorCounter);
if (ColorCounter <= 240) {
ColorCounter += 15;
} else {
ColorCounter = 0;
}
if (TimeOrderCounter < 35) {
TimeOrderCounter += 2;
g.fillRect((SCREEN_WIDTH - 12) - (TimeOrderCounter << 1), 60,
TimeOrderCounter << 1, SCREEN_HEIGHT >> 1);
g.setColor(0, 0, 0);
g.fillRect((SCREEN_WIDTH - 12) - (TimeOrderCounter << 1), 70,
TimeOrderCounter << 1, (SCREEN_HEIGHT >> 1) - 20);
g.setColor(255, 255, 255);
switch (OptionMenu3) {
case 0:
g.setColor(255, 0, 0);
g.drawString(" 新手级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 255, 255);
g.drawString(" 普通级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 102, 0);
g.drawString(" 疯狂级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 127, 0);
break;
case 1:
g.setColor(255, 255, 255);
g.drawString(" 新手级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 0, 0);
g.drawString(" 普通级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 255, 255);
g.drawString(" 疯狂级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 127, 0);
break;
case 2:
g.setColor(255, 255, 255);
g.drawString(" 新手级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 77, 0);
g.drawString(" 普通级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 0, 0);
g.drawString(" 疯狂级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 127, 0);
break;
}
} else {
TimeOrderCounter = 35;
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 60,
TimeOrderCounter << 1, SCREEN_HEIGHT >> 1);
g.setColor(0, 0, 0);
g.fillRect((SCREEN_WIDTH - 15) - (TimeOrderCounter << 1), 70,
TimeOrderCounter << 1, (SCREEN_HEIGHT >> 1) - 20);
g.setColor(255, 255, 255);
switch (OptionMenu3) {
case 0:
g.setColor(255, 0, 0);
g.drawString(" 新手级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 255, 255);
g.drawString(" 普通级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 102, 0);
g.drawString(" 疯狂级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 127, 0);
SmallPlaneNumber = 5;
SmallPlaneSpeed = 6;
break;
case 1:
g.setColor(255, 255, 255);
g.drawString(" 新手级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 77, 0);
g.setColor(255, 0, 0);
g.drawString(" 普通级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 255, 255);
g.drawString(" 疯狂级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 127, 0);
SmallPlaneNumber = 10;
SmallPlaneSpeed = 7;
break;
case 2:
g.setColor(255, 255, 255);
g.drawString(" 新手级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 77, 0);
g.drawString(" 普通级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 102, 0);
g.setColor(255, 0, 0);
g.drawString(" 疯狂级 ", SCREEN_WIDTH - temp6
- (TimeOrderCounter << 1), 127, 0);
SmallPlaneNumber = 15;
SmallPlaneSpeed = 8;
}
}
break;
}
}
public void drawResourceload(Graphics g) {
clearScreen(g, 0, 0, 0);
g.setColor(255, 255, 255);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
Font.SIZE_LARGE));
g.drawString("装 载 中.....", (SCREEN_WIDTH - font
.stringWidth("装 载 中.....")) / 2 + 10, SCREEN_HEIGHT / 2 - 25,
Graphics.LEFT | Graphics.TOP);
g.setColor(255, 255, 255);
g.fillRect(10, SCREEN_HEIGHT / 2, SCREEN_WIDTH - 20, 20);
g.setColor(ColorCounter, 0, 0);
if (ColorCounter <= 240) {
ColorCounter += 15;
} else {
ColorCounter = 0;
}
g.fillRect(10 + 1, SCREEN_HEIGHT / 2 + 1, gaugeCnt
* (SCREEN_WIDTH - 20) / MAINCANVAS_END - 1, 18);
}
// --------------------------------------------------------------- 方法过程
// ------------------------------------- 判断方法
/**
* 判断友军轰炸状态处理方法
*/
public void bFlagSbombState() {
if (bFlagArticle > 0) {
if (SbombtimeCounter < 200) {
SbombtimeCounter++;
} else {
bFlagSbombDouble = false;
SbombtimeCounter = 0;
bFlagArticle = 3;
}
boolean isOut = true;
for (byte i = 0; i < PS.length; i++) {
PS[i].PlaneSbombPacket();
if (bFlagArticle == 3) {
if (PS[i].PlaneY > -25) {
isOut = false;
}
}
}
if (bFlagArticle == 3) {
if (isOut) {
bFlagArticle = 0;
}
}
}
}
/**
* 判断主角飞机是否死亡处理方法
*/
public void bFlagLeadingPlaneDie() {
if (LeadingPlaneHP < 0) {
bFlagLeadingPlaneDisplay = false;
LeadingPlane_X = tempX;
LeadingPlane_Y = SCREEN_HEIGHT;
bFlagLeadingPlaneDieMove = true;
bFlagLeadingPlaneCollide = true;
leadingPlaneIconCounter--;
BombCounter = 3;
if (leadingPlaneIconCounter == -1) {
TimeOrderCounter = 0;
gameState = GS_GAMEOVER;
}
LeadingPlaneHP = 24;
BulletsPowerCounter = 0;
}
}
/**
* 判断Boss是否死亡处理方法
*/
public void bFlagBossDie() {
if (BS.bFlagBossDie == true) {
TimeOrderCounter = 0;
gameState = GS_GAMEOVER;
}
}
/**
* 判断主角飞机血量状态处理方法
*/
public void bFlagLeadingPlaneHPstate() {
if (bFlagLeadingPlaneHPfill == true) {
LeadingPlaneHP = 24;
bFlagLeadingPlaneHPfill = false;
}
}
/**
* 判断BOSS是否显示过程处理方法
*/
public void bFlagBossDisplayAction() {
if (BS.BossY + Boss.Boss.getHeight() >= -SCREEN_HEIGHT >> 1) {
bFlagIslandAndWarshipDisplay = true;
} else {
bFlagIslandAndWarshipDisplay = false;
timeCounter = 0;
}
}
/**
* 判断主角飞机复位过程处理方法
*/
public void bFlagLeadintPlaneRestartAction() {
if (bFlagLeadingPlaneDieMove == true) {
if (LeadingPlane_Y > 155 && bFlagLeadingPlaneCollide == true) {
for (byte i = 0; i < 7; i++) {
bulletsUP[i].Bullets_X += SCREEN_WIDTH;
bulletsUP[i].Bullets_Y += SCREEN_HEIGHT;
if (LeadingPlaneType == 1 || LeadingPlaneType == 2) {
bulletsLEFTUP[i].Bullets_X += SCREEN_WIDTH;
bulletsLEFTUP[i].Bullets_Y += SCREEN_HEIGHT;
bulletsRIGHTUP[i].Bullets_X += SCREEN_WIDTH;
bulletsRIGHTUP[i].Bullets_Y += SCREEN_HEIGHT;
}
}
LeadingPlane_Y -= 2;
bFlagLeadingPlaneBulletsDisplay = false;
} else {
bFlagLeadingPlaneDieMove = false;
bFlagLeadingPlaneCollide = false;
}
}
}
// ------------------------------------- 键控方法
/**
* 游戏主菜单键控处理方法
*/
public void MainKeyOption() {
switch (keyCode) {
case KB_UP:
if (MainOptionCounter == 90) {
MainOptionCounter = 160;
}
MainOptionCounter -= 14;
keyCode = KB_NONE;
break;
case KB_DOWN:
if (MainOptionCounter == 146) {
MainOptionCounter = 76;
}
MainOptionCounter += 14;
keyCode = KB_NONE;
break;
case KB_CENTER:
switch (StateCounter) {
case 1:
SP = new SmallPlane[SmallPlaneNumber];
for (byte i = 0; i < SP.length; i++) {
SP[i] = new SmallPlane(this, PlanedefaultStem);
PlanedefaultStem += 16;
}
LP.timeCounterInit = true;
imagelogo1 = null;
imagelogo2 = null;
gameState = GS_MAIN;
break;
case 2:
gameState = GS_OPTION;
break;
case 3:
Txt = "/res/doc/Help.txt";
AT = new Help(Txt, SCREEN_WIDTH, SCREEN_HEIGHT);
gameState = GS_HELP;
break;
case 4:
Txt = "/res/doc/About.txt";
AT = new Help(Txt, SCREEN_WIDTH, SCREEN_HEIGHT);
gameState = GS_ABOUT;
break;
case 5:
gameState = GS_EXIT;
break;
}
keyCode = KB_NONE;
break;
}
}
/**
* 游戏功能选项菜单键控处理方法
*/
public void OptionKeyOption() {
switch (keyCode) {
case KB_UP:
if (OptionMenu1 > 0) {
OptionMenu1--;
} else {
OptionMenu1 = 2;
}
MenuKeyCompare();
keyCode = KB_NONE;
break;
case KB_DOWN:
if (OptionMenu1 < 2) {
OptionMenu1++;
} else {
OptionMenu1 = 0;
}
MenuKeyCompare();
keyCode = KB_NONE;
break;
case KB_LEFT:
if (OptionMenu2 == 1) {
if (OptionMenu3 > 0) {
OptionMenu3--;
} else {
OptionMenu3 = 1;
}
}
if (OptionMenu2 == 2 || OptionMenu2 == 3) {
if (OptionMenu3 > 0) {
OptionMenu3--;
} else {
OptionMenu3 = 2;
}
}
keyCode = KB_NONE;
break;
case KB_RIGHT:
if (OptionMenu2 == 1) {
if (OptionMenu3 < 2) {
OptionMenu3++;
} else {
OptionMenu3 = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -