📄 aganimationcanvas.java
字号:
} else
if(bomb2DisplaySwitch)
{
g.drawImage(colBomb1, enemyBomb2X, enemyBomb2Y, 3);
bomb2DisplaySwitch = false;
} else
if(!bomb2DisplaySwitch)
{
g.drawImage(colBomb2, enemyBomb2X, enemyBomb2Y, 3);
bomb2DisplaySwitch = true;
}
if(displayBullet)
{
if(swapBullets == 1)
{
if(planePosition == 1)
{
g.drawImage(bulletExp1, 35, 85, 3);
g.drawImage(bulletExp1, 63, 75, 3);
} else
if(planePosition == 2)
{
g.drawImage(bulletExp1, 38, 77, 3);
g.drawImage(bulletExp1, 67, 87, 3);
} else
{
g.drawImage(bulletExp1, 35, 82, 3);
g.drawImage(bulletExp1, 65, 82, 3);
}
} else
if(swapBullets == 2)
if(planePosition == 1)
{
g.drawImage(bulletExp2, 35, 85, 3);
g.drawImage(bulletExp2, 63, 75, 3);
} else
if(planePosition == 2)
{
g.drawImage(bulletExp2, 38, 77, 3);
g.drawImage(bulletExp2, 67, 87, 3);
} else
{
g.drawImage(bulletExp2, 35, 82, 3);
g.drawImage(bulletExp2, 65, 82, 3);
}
displayBullet = false;
}
g.drawImage(im4, 85, 90, 3);
if(enemyPosX1 > 100)
g.drawImage(dotEnemy1, 90, 90, 3);
else
if(enemyPosX1 < 0)
g.drawImage(dotEnemy1, 80, 90, 3);
else
if((enemyPosX1 > 0) & (enemyPosX1 < 100) & (enemyPosY1 <= 70))
g.drawImage(dotEnemy1, 85, 85, 3);
else
if((enemyPosX1 > 0) & (enemyPosX1 < 100) & (enemyPosY1 > 70))
g.drawImage(dotEnemy1, 85, 95, 3);
if(enemyPosX2 > 100)
g.drawImage(dotEnemy1, 90, 90, 3);
else
if(enemyPosX2 < 0)
g.drawImage(dotEnemy1, 80, 90, 3);
else
if((enemyPosX2 > 0) & (enemyPosX2 < 100) & (enemyPosY2 <= 70))
g.drawImage(dotEnemy1, 85, 85, 3);
else
if((enemyPosX2 > 0) & (enemyPosX2 < 100) & (enemyPosY2 > 70))
g.drawImage(dotEnemy1, 85, 95, 3);
g.setColor(0, 0, 0);
if(changeDisplay)
{
totalDestroyedString = Integer.toString(totalDestroyed);
changeDisplay = false;
}
if(damageChanged)
{
damageTakenString = Integer.toString(damageTaken);
damageChanged = false;
}
g.drawString("S :", 0, -4, 20);
g.drawString(totalDestroyedString, 15, -4, 20);
g.drawString("Life %:", 40, -4, 20);
g.drawString(damageTakenString, 75, -4, 20);
if(outOfBounds)
{
g.setColor(255, 0, 0);
g.drawString("No Fly Zone", 20, 40, 20);
g.drawString("Change Direction", 10, 60, 20);
}
if(damageTaken <= 0)
{
g.drawImage(bck_bottom, planeX, planeY, 3);
g.drawImage(planeExplode, planeX, planeY, 3);
g.setColor(255, 0, 0);
g.drawString("Game Over !", 20, 20, 20);
}
repaint();
}
public void paint(Graphics g)
{
g.drawImage(buffer, 0, 0, 0);
if(damageTaken <= 0)
gameOver();
}
public void reStartAG()
{
enemyPosX1 = -40;
enemyPosY1 = 50;
enemyPosX2 = 140;
enemyPosY2 = 40;
flagToDisplay1 = true;
flagToDisplay2 = true;
flagEX1 = false;
flagEX2 = false;
totalDestroyed = 0;
totalDestroyedString = "0";
changeDisplay = false;
displayBullet = false;
swapBullets = 1;
bckgrndX = 50;
bckgrndY = 50;
planePosition = 0;
outOfBounds = false;
dropBomb1E1 = true;
dropBomb2E1 = true;
dropBomb1E2 = true;
dropBomb2E2 = true;
displayBomb1 = false;
displayBomb2 = false;
damageTaken = 100;
damageTakenString = "100";
damageChanged = false;
gamefinished = false;
tm = new Timer();
tt = new AGAnimateTimerTask(this);
tm.schedule(tt, 0L, 100L);
}
public void gameOver()
{
tt.cancel();
tm.cancel();
tm = new Timer();
tt = new AGAnimateTimerTask(this);
gamefinished = true;
tm.schedule(tt, 10000L);
}
public void commandAction(Command command, Displayable displayable)
{
if(command == cmClose)
{
tt.cancel();
tm.cancel();
midlet.RRScore(totalDestroyed);
midlet.RMSScore();
}
}
protected void keyRepeated(int i)
{
if(hasRepeatEvents())
performAction(getGameAction(i));
}
protected void keyPressed(int i)
{
if(!hasRepeatEvents())
tt.startRepeat(getGameAction(i));
}
protected void keyReleased(int i)
{
if(!hasRepeatEvents())
tt.stopRepeat(getGameAction(i));
planePosition = 0;
outOfBounds = false;
}
public void performAction(int i)
{
switch(i)
{
case 3: // '\003'
case 4: // '\004'
case 7: // '\007'
default:
break;
case 8: // '\b'
displayBullet = true;
if(swapBullets == 2)
swapBullets = 1;
else
swapBullets = swapBullets + 1;
break;
case 1: // '\001'
if(bckgrndY > 145)
{
bckgrndY = bckgrndY;
outOfBounds = true;
} else
{
bckgrndY += 5;
enemyPosY1 += 6;
enemyPosY2 += 6;
enemyBomb1Y += 6;
enemyBomb2Y += 6;
}
planePosition = 3;
break;
case 6: // '\006'
if(bckgrndY < -45)
{
bckgrndY = bckgrndY;
outOfBounds = true;
} else
{
bckgrndY -= 5;
enemyPosY1 -= 6;
enemyPosY2 -= 6;
enemyBomb1Y -= 6;
enemyBomb2Y -= 6;
}
planePosition = 4;
break;
case 5: // '\005'
if(bckgrndX < -45)
{
bckgrndX = bckgrndX;
outOfBounds = true;
} else
{
bckgrndX -= 5;
enemyPosX1 -= 6;
enemyPosX2 -= 6;
enemyBomb1X -= 6;
enemyBomb2X -= 6;
}
planePosition = 2;
break;
case 2: // '\002'
if(bckgrndX > 145)
{
bckgrndX = bckgrndX;
outOfBounds = true;
} else
{
bckgrndX += 5;
enemyPosX1 += 6;
enemyPosX2 += 6;
enemyBomb1X += 6;
enemyBomb2X += 6;
}
planePosition = 1;
break;
}
}
public Image selectPlanePosition(int i)
{
Image image = null;
if(i == 0)
image = planeNorm;
else
if(i == 1)
image = planeLeft;
else
if(i == 2)
image = planeRight;
else
if(i == 3)
image = planeUp;
else
if(i == 4)
image = planeDown;
return image;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -