ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ΄Π°Π»Π΅Π½ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ writeHiScores() ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π²ΡΠΎΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° openRecordStore() ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ true. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° hiScores, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΠ΅ΠΊΠΎΡΠ΄Ρ Π·Π°ΠΏΠΈΡΠ°Π½Ρ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ closeRecordStore().
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠΎΠ΄, ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ³ΡΡ, ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΈΠ³ΡΡ. ΠΠΎ Ρ Π½Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΠ» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΡΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΈΠ³ΡΡ ΠΌΠ΅ΡΠΎΠ΄ update() Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ updateHiScores(), ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²:if (carsLeftβ == 0) {
// ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΡΠ·ΡΠΊΡ
try {
musicPlayer.stop();
}
catch (MediaException me) {
}
// Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π·Π²ΡΠΊ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΈΠ³ΡΡ
try {
gameoverPlayer.start();
}
catch (MediaException me) {
}
// ΡΠΏΡΡΡΠ°ΡΡ ΡΠΏΡΠ°ΠΉΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ
playerSprite.setVisible(false);
// ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
updateHiScores(); //ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° updateHiScores() β ΡΡΠΎ Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
gameOver = true;
return;
}ΠΠ΅ΡΠΎΠ΄ updateHiScores() β ΡΡΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΠ΄Π°Π»ΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ΅ΠΊΠΎΡΠ΄. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 19.3 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠΈΡΡΠΈΠ½Π³ 19.3. ΠΠ΅ΡΠΎΠ΄ updateHiScores() ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
private void updateHiScores() {
// ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
int i;
for (i = 0; i < 5; i++)
if (score > hiScores[i]) //ΠΡΠ»ΠΈ ΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΠΊΠΎΡΠ΄, ΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΠ³ΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
break;
// ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ².
if (i < 5) {
for (int j = 4; j > i; jβ) { //Π¦ΠΈΠΊΠ» ΡΠΌΠ΅ΡΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
hiScores[j] = hiScores[j β 1];
}
hiScores[i] = score;
}
}ΠΠ΅ΡΠΎΠ΄ updateHiScores() ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½Π°Π±ΡΠ°Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ, Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 5 Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠ΅ ΡΠ΅ΠΊΠΎΡΠ΄Ρ ΡΡΡΡΠΏΠ°ΡΡ ΠΌΠ΅ΡΡΠΎ Π½ΠΎΠ²ΡΠΌ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΠΏΠΎΠΊΠ° ΠΈΠ³ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ stop().
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ³ΡΡ Space Out 2 ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° draw(), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π·Π°ΡΡΠ°Π²ΠΊΠ΅. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 19.4 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° draw().
ΠΠΈΡΡΠΈΠ½Π³ 19.4. ΠΠ΅ΡΠΎΠ΄ draw() Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π°ΡΡΠ°Π²ΠΊΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΈΠ³ΡΡprivate void draw(Graphics g) {
// Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π²Π΅Π·Π΄Π½ΠΎΠ³ΠΎ Π½Π΅Π±Π°
g.drawImage(background, 0, 0, Graphics.TOP | Graphics.LEFT);
// Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ»ΠΎΠΈ
layers.paint(g, 0, 0);
if (gameOver) {
// Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ²
g.drawImage(splash, 90, 10, Graphics.TOP | Graphics.HCENTER);
g.setColor(255, 255, 255); // white
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
Font.SIZE_LARGE));
for (int i = 0; i < 5; i++)
g.drawString(Integer.toString(hiScores[i]), 90, 90 + (i * 15),
Graphics.TOP | Graphics.HCENTER);
}
else {
// Π²ΡΠ²Π΅ΡΡΠΈ ΠΎΡΡΠ°Π²ΡΠ΅Π΅ΡΡ ΡΠΈΡΠ»ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ ΡΡΠ΅Ρ
for (int i = 0; i < carsLeft; i++)
g.drawImage(smallCar, 2 + (i * 20), 2, Graphics.TOP | Graphics.LEFT);
g.setColor(255, 255, 255); // white
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
Font.SIZE_MEDIUM));
g.drawString(Integer.toString(score), 175, 2, Graphics.TOP |
Graphics.RIGHT);
}
// Π²ΡΠ²Π΅ΡΡΠΈ Π³ΡΠ°ΡΠΈΠΊΡ Π½Π° ΡΠΊΡΠ°Π½
flushGraphics();
}ΠΠ΅ΡΠΎΠ΄ draw() ΠΈΠ³ΡΡ Space Out 2 ΡΡΡΡΠΎΠ΅Π½ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΈΠ³ΡΡ. ΠΡΠ»ΠΈ ΠΈΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°, ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ draw() Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ Π·Π°ΡΡΠ°Π²ΠΊΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΡΠ»ΠΈ ΠΈΠ³ΡΠ° Π½Π΅ ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°, ΡΠΎ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΎΡΡΠ°Π²ΡΠ΅Π΅ΡΡ ΡΠΈΡΠ»ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ ΡΡΠ΅Ρ Π² ΠΈΠ³ΡΠ΅. Π‘Π»ΠΎΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ°ΡΡΡΠ° ΠΈΠ³ΡΡ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΡ
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΡ, ΠΈΠ³ΡΡ Space Out 2 Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π²Π΅ΡΠ΅Π»ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΠ° ΡΠΈΡ. 19.5 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π·Π°ΡΡΠ°Π²ΠΊΠ° ΠΈΠ³ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΡΠ»ΠΈ ΠΈΠ³ΡΠ° Π·Π°ΠΏΡΡΠ΅Π½Π° Π²ΠΏΠ΅ΡΠ²ΡΠ΅, ΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΠΏΡΡΡ.
Π ΠΈΡ. 19.5. ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ³ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΡΡΠ°Π²ΠΊΠ°, ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ Π½ΡΠ»Π΅ΠΉΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΈΠ³ΡΠ° ΠΏΡΡΠ°Π΅ΡΡΡ ΡΡΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΠΈΠ· Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΡΠ°Π²Π½Ρ 0. ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠΎΠΈΠ³ΡΠ°Π΅ΡΠ΅ Π² Space Out 2, Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π±ΡΠ΄ΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΉΠ΄Π΅ΡΠ΅ ΠΈΠ· ΠΈΠ³ΡΡ, ΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠ³Π΄Π° ΠΈΠ³ΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π°, ΡΠ΅ΠΊΠΎΡΠ΄Ρ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΠ° ΡΠΈΡ. 19.6 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ², Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ.
Π ΠΈΡ. 19.6. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΡ Space Out 2, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π°ΡΠΈ Π»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
...Π ΠΊΠΎΠΏΠΈΠ»ΠΊΡ ΠΠ³ΡΠΎΠΊΠ°
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ ΡΡΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠ³ΠΎ ΠΎ ΠΌΠΎΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ³ΡΠΎΠΊΠ° ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π½Π° ΡΠΈΡ. 19.6. Π₯ΠΎΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π²Π·ΠΎΠΉΡΠΈ ΠΌΠΎΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΡΠ΅ΡΡΠΈΡΡΡ ΠΈΠ³ΡΡ, Ρ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΡ Π½Π° Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΈΠ³ΡΡ Space Out. ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΠΈ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ!
Π Π΅Π·ΡΠΌΠ΅
Π₯ΠΎΡΡ ΡΠΏΠΈΡΠΊΠΈ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π½Π΅ ΡΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ, ΠΊΠ°ΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π°ΡΠΊΠ°Π΄, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΈΡ ΡΠΎ ΡΡΠ΅ΡΠΎΠ². ΠΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²Π°ΡΠΈ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ. Π‘ΠΏΠΈΡΠΊΠΈ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² β Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΠ΅ ΠΈΠ³ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ ΡΡΠΈΠΌΡΠ»ΠΎΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ². ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΏΠΈΡΠΊΠΈ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ² Π½Π΅ ΡΡΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³ΡΠ°Ρ , Π½ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΡ , Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ. ΠΠ³ΡΠ° Space Out β Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ³ΡΡ.
ΠΡΠ° Π³Π»Π°Π²Π° Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΊΠ½ΠΈΠ³Ρ, Ρ Π½Π°Π΄Π΅ΡΡΡ, ΠΎΠ½Π° ΠΏΠΎΡΠ»ΡΠΆΠΈΠ»Π° Π²Π°ΠΌ Π½Π°ΡΠ°Π»ΠΎΠΌ Π΄ΠΎΡΠΎΠ³ΠΈ Π² ΠΌΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ. ΠΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ³Ρ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². Π― ΠΆΠ΅Π»Π°Ρ Π²Π°ΠΌ ΡΡΠΏΠ΅Ρ ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ³ΡΠ°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΉΡΠΈ Π½Π° ΠΌΠΎΠΉ ΡΠ°ΠΉΡ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠ΄Π΅ΡΠΌΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³Ρ Π½Π° ΡΠΎΡΡΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅(http://www.michaelmorrison.com/).
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΠΆΠΎΡΠ΄ΠΆΡ ΠΠ°ΡΡΠ°Π½ΡΠ° (George Cantanza) ΠΈΠ· ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΠ·ΠΎΠ΄Π° Β«Π‘Π΅ΠΉΠ½ΡΠ΅Π»Π΄Π°Β» (Seinfeld), Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ³Ρ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠ»Π΅Π΄ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ². ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΈΠ³ΡΡ, Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡΠΊΠΎΠ² ΠΈ Π²Π½Π΅ΡΠΈΡΠ΅ ΡΠ΅Π±Ρ Π² ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΈΡΡΠΎΡΠΈΡ. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ°ΠΌ ΠΈ Π΄ΡΡΠ·ΡΡΠΌ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΠΏΠΎΠ΄ΡΠΎΠ»ΠΊΠ½Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ², ΠΊΡΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π Java Game API
Java β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ; ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΈΡΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΆΠ΅ ΡΠ·ΡΠΊ MIDP API, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ Java, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ , ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π΅ΡΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π MIDP API ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ. ΠΠ°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ javax.microedition.lcdui.game. ΠΠ½ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Π²Π΅ΡΡΠΈΠΈ 2.0 MIDP API Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ.
ΠΠ»Π°ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ javax.microedition.lcdui.game ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«API Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³ΡΒ»; ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ MIDP 1.0 ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ³ΡΡ Π² MIDP 2.0 API. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ°ΠΌΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π² API ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΠ°ΡΠΈΠΊΠΈ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΠ³Ρ Ρ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, API ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠΏΡΠ°ΠΉΡΠΎΠ², Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠΈ, ΠΏΠΎΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
API Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ Π² MIDP 2.0 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²:
βΊ GameCanvas;
βΊ Layer;
βΊ LayerManager;
βΊ Sprite;
βΊ TiledLayer.
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ API Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² MIDP 2.0, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ.
ΠΠ»Π°ΡΡ GameCanvas
ΠΠ»Π°ΡΡ GameCanvas ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Canvas; ΠΎΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡ Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΡΠ°ΡΠΈΠΊΡ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ»Π°ΡΡ GameCanvas Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅ΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Π°ΠΌ ΡΡΡΠ°Π½Π½ΡΠΌ, Π½ΠΎ ΠΊΠ»Π°ΡΡ GameCanvas ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π² ΠΈΠ³ΡΠ°Ρ . ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ J2ME, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ GameCanvas Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π»ΡΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅ΠΌΡΠΌ ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΠΈΠ³ΡΠ°ΠΌ.
ΠΠΎΠ½ΡΡΠ°Π½ΡΡ
Π ΠΊΠ»Π°ΡΡΠ΅ GameCanvas Π·Π°Π΄Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅:
βΊ LEFT_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° β;
βΊ RIGHT_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° β;
βΊ UP_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° β;
βΊ DOWN_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° β;
βΊ FIRE_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° Primary Fire;
βΊ GAME_A_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° Game A (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ);
βΊ GAME_B_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° Game B (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ);
βΊ GAME_C_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° Game C (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ);
βΊ GAME_D_PRESSED β ΠΊΠ»Π°Π²ΠΈΡΠ° Game D (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ).
ΠΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΎΠΉ getKeyStates(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ΅ΡΠΎΠ΄ΡΒ» ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° GameCanvas. ΠΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΡΠΊΠ°ΠΌΠΈ Π±ΠΈΡΠ°, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ.