monsterSprite.move(-5, 10);
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΏΡΠ°ΠΉΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° 5 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π²Π»Π΅Π²ΠΎ ΠΈ 10 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π²Π½ΠΈΠ·. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡ , Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ β Π²ΠΏΡΠ°Π²ΠΎ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ·. 3. ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ c ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Sprite Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ paint() ΡΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅:
monsterSprite.paint(g).
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Graphics Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ g, ΡΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΈΠ³ΡΠ΅.
ΠΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΠΏΡΠ°ΠΉΡΠΎΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² MIDP API. ΠΠ°ΠΌ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡ GameCanvas, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° GameCanvas
ΠΡΠ»ΠΈ Π±Ρ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΡΠ·Π½Π°Π»ΠΈ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΡΠ°ΠΉΡΠΎΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π±Ρ ΠΌΠΈΠ΄Π»Π΅Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Canvas,TO Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±Ρ ΠΏΡΠ΅ΡΡΠ²ΠΈΡΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. Π’Π°ΠΊΠΎΠΉ ΡΡΡΠ΅ΠΊΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠΊΡΠ°Π½ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΡΠ΅ΠΊΡ ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠ»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΡΠΈΠ»ΡΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ°Π΄ΡΠ°ΠΌΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π±Π΅Π»ΡΠΉ ΡΠΊΡΠ°Π½. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΈΠ»Π»ΡΠ·ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅ΠΉΠΌΠ°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠΊΡΠ°Π½.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΊΠ°ΠΊ Β«Π΄Π²ΠΎΠΉΠ½Π°Ρ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡΒ». ΠΡΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΡΠ°Π½Π΅. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΊΡΠ°Π½. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΠΈΠ΄ΠΈΠΌΠ°Ρ ΠΎΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π³Π»Π°Π΄ΠΊΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΠ° ΡΠΈΡ. 5.6 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ±ΡΡΠ΅ΡΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
Π ΠΈΡ. 5.6. ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡ ΠΏΡΠ΅ΡΡΠ²ΠΈΡΡΠΎΡΡΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ±ΡΡΠ΅ΡΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ...Π ΠΊΠΎΠΏΠΈΠ»ΠΊΡ ΠΠ³ΡΠΎΠΊΠ°
ΠΡΡΠ΅Ρ β ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ. Π ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±ΡΡΠ΅ΡΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠΎΠ»Ρ Π±ΡΡΠ΅ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΡΠ°Π½, Π° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊ ΡΠΊΡΠ°Π½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ° ΡΠΈΡ. 5.6 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΡΡΠ΅Ρ Π² ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Ρ ΠΈΡΡΡΠΌ ΠΏΡΠΈΠ΅ΠΌΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ (Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ MIDP 2.0 API).
ΠΡΠΎΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Canvas Π² MIDP API ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ GameCanvas, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊΡ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° GameCanvas, ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ Ρ ΠΎΠ»ΡΡΠ° ΠΎΡ ΠΊΠ»Π°ΡΡΠ° GameCanvas, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π² Π±ΡΡΠ΅ΡΠ΅. Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ flushGraphics().
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΠ΅Ρ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° GameCanvas. ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Graphics, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Ρ Ρ ΠΎΠ»ΡΡΠΎΠΌ, Π²ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π±ΡΡΠ΅ΡΠ΅, Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΠΈΠ΄Π½Ρ. ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° flushGraphic() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π²ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΡΠ΅ΡΠ° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ, Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½.
...Π ΠΊΠΎΠΏΠΈΠ»ΠΊΡ ΠΠ³ΡΠΎΠΊΠ°
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° GameCanvas, ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΡΠ΅Ρ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌΠΈ Π±Π΅Π»ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°.
ΠΠ»Π°ΡΡ GameCanvas ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ΄ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²ΠΎΠ΄Π°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅. Π ΠΏΠΎΠΊΠ° β Π²Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ»Π°Π²Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² ΠΌΠΈΠ΄Π»Π΅ΡΠ΅.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ UFO
Π₯ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΏΡΠ°ΠΉΡΠΎΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, UFO (ΠΠΠ) β Π°ΠΊΡΡΠ°Π»Π΅Π½ Π²ΡΠ΅Π³Π΄Π°. ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² Π²Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΠ΅ ΡΠ΅Π³ΠΎ-ΡΠΎ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π»Π΅ΡΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ β ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΠ΅Π³Π΄Π°! Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ MIDP Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ΄Π»Π΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π»Π΅ΡΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ. ΠΡΠΈΠΌΠ΅Ρ UFO Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΏΡΠ°ΠΉΡΠΎΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ MIDP.
ΠΡΠΈΠΌΠ΅Ρ UFO ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΡΠ°ΠΉΡ ΠΠΠ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π°ΠΎΡΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΊΡΠ°Π½Ρ. Π‘ΠΏΡΠ°ΠΉΡ ΠΠΠ β ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π»Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ° Sprite Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΏΡΠ°ΠΉΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ°ΠΌΡΠΉ Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ UFO β ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΡΠ°ΠΉΡ ΠΠΠ ΡΠ΅ΡΠ΅Π· Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡΠΎΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ β ΡΡΠΎ ΡΠ΅ΡΠ΄ΡΠ΅ ΠΈ Π΄ΡΡΠ° Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ°ΠΊ ΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ², ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Ρ ΠΎΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ UFOCanvas. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠ»Π΅Π½Ρ-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ° UFOCanvas:
private Display display;
private boolean sleeping;
private long frameDelay;
private Random rand;
private Sprite ufoSprite;
private int ufoXSpeed, ufoYSpeed;ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ display ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠ° Π²Π°ΠΌ ΠΏΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ, ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ sleeping ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π·Π°ΠΏΡΡΠ΅Π½ Π»ΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ frameDelay ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠ°ΡΡΠΎΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌ, ΡΠΎ ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΡΠ»ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΡΠΈΠΊΠ»Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅ΠΉΠΌΠΎΠ², Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π° Π½Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ 1. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π° framedelay ΡΠ°Π²Π½Π° 40 ΠΌΡ (ΠΈΠ»ΠΈ 0.04 Ρ), ΡΠΎ ΡΠ°ΡΡΠΎΡΠ° ΠΊΠ°Π΄ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° 25. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΊΠ°Π΄ΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ 1 Π½Π° ΡΠ°ΡΡΠΎΡΡ ΠΈ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° 1000. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
1/30 ΠΊΠ°Π΄Ρ/Ρ = 0.333333 Ρ = 33 ΠΌΡ
Π§Π»Π΅Π½-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠ»Π°ΡΡΠ° rand β ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» MIDP, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ. Π‘ΠΏΡΠ°ΠΉΡ ΠΠΠ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ufoSprite, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Sprite. Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΡΠ°ΠΉΡΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΏΡΠ°ΠΉΡΠ° β Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ufoSpeed.
...Π‘ΠΎΠ²Π΅Ρ Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ
Π‘ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΡΠ½ΠΎ Π»ΡΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΏΡΠ°ΠΉΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Sprite. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΏΡΠ°ΠΉΡ ΠΠΠ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΏΡΠ°ΠΉΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΎΡ Sprite.
Π§ΡΡΡ ΡΠ°Π½ΡΡΠ΅ Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ», ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ frameDelay ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°ΡΡΠΎΡΡ ΠΊΠ°Π΄ΡΠΎΠ² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΌΠΈΠ΄Π»Π΅ΡΠ° UFO. ΠΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΌΠΈΠ΄Π»Π΅ΡΠ°:
frameDelay = 33;
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π½Π΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΡΡΠΎΡΠ΅ 30 ΠΊΠ°Π΄ΡΠΎΠ²/Ρ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΎ ΡΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π² Π½Π°ΡΠ°Π»Π΅ Π³Π»Π°Π²Ρ, ΡΠΎ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ΡΠ°ΡΡΠΎΡΡ, ΠΎΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°Π²Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΡΠΎ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π²Π°ΠΆΠ½ΠΎ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΈΠ΄Π»Π΅ΡΠ° UFO ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ start(). ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠΏΡΠ°ΠΉΡ:
ufoXSpeed = ufoYSpeed = 3;
try {
ufoSprite = new Sprite(Image.createImage("/Saucer.png"));
ufoSprite.setPosition(0, 0);
}
catch (IOException e) {
System.err.println("Failed loading image!");
}ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ X ΠΈ Y ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠΏΡΠ°ΠΉΡΠ° ΡΠ°Π²Π½Ρ 3, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΏΡΠ°ΠΉΡ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΡΡΠΈ ΠΏΠΈΠΊΡΠ΅Π»Ρ Π²Π½ΠΈΠ· ΠΈ Π²ΠΏΡΠ°Π²ΠΎ Π·Π° ΠΎΠ΄Π½Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΏΡΠ°ΠΉΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²Π²Π΅ΡΡ ΠΈ Π²Π»Π΅Π²ΠΎ. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Sprite, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°ΠΉΡΠ° ΡΠ°Π²Π½ΠΎ (0,0) β Π²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΠΊΡΠ°Π½Π°. ΠΠΎΡΠΎΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ start():
sleeping = false;
Thread t = new Thread(this);
t.start();Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sleeping ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Thread, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Ρ ΠΎΠ»ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° this. ΠΠΎΡΠΎΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ start(), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ stop():
public void stop() {
// ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
sleeping = true;
}ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sleeping Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ run():
while (!sleeping) {
update();
draw(g);
try {
Thread.sleep(frameDelay);
}
catch (InterruptedException ie) {}
}ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» β ΡΡΠΎ ΡΠΈΠΊΠ» while, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sleeping Π»ΠΎΠΆΠ½ΠΎ. ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ update(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ draw(), ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΠΈΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ sleep() ΠΊΠ»Π°ΡΡΠ° Thread ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎΡΠΎΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ frameDelay. ΠΡΠ° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΌΠΈΠ΄Π»Π΅ΡΠ°. ΠΠ΅ΡΠΎΠ΄ update() Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΈΠΊΠ»Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠ΅ΡΠΎΠ΄ update() Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ 30 ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΡΠΎΡΠ° ΡΠΌΠ΅Π½Ρ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΠΌΠΈΠ΄Π»Π΅ΡΠ΅ UFO ΡΠ°Π²Π½Π° 30 ΠΊΠ°Π΄ΡΠΎΠ²/Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ΅ΡΠΎΠ΄ update() ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ Π»Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°: