Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 21

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

На рисункС ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ области Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, насколько Π½Π΅Ρ‚ΠΎΡ‡Π΅Π½ этот ΠΌΠ΅Ρ‚ΠΎΠ΄, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ эту Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ρ‚Π΅ΠΌ самым сниТая ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π°Π΅Ρ‚ нСбольшоС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ Π·Π° собой появлСниС Π΄Ρ€ΡƒΠ³ΠΎΠΉ ошибки, Π½Π΅ опрСдСляя истинноС столкновСниС спрайтов. На рис. 5.4 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ опрСдСлСния столкновСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ эффСктивСн Ρ€ΠΎΠ²Π½ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, насколько эффСктивСн ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΎΠ±ΠΎΠΈΡ… случаях провСряСтся Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

Рис. 5.4. Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ столкновСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

Π‘ΠΎΠ»Π΅Π΅ точная Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° дСтСктирования столкновСний основана Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… изобраТСния спрайта. Π’ Π΅Π΅ основС Π»Π΅ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° пСрСкрытия ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ… частСй спрайтовых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сообщСниС ΠΎ столкновСнии Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли спрайтовыС изобраТСния ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ дСтСктирования столкновСний, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ позволяСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° Π±Π΅Π· ошибок. На рис. 5.5 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ столкновСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ… спрайтовых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Рис. 5.5. Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ столкновСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ… спрайтовых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ провСряСт ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ особых пиксСлСй Π΄Π²ΡƒΡ… спрайтов

К соТалСнию, Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, показанная Π½Π° рис. 5.5, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… рСсурсов мобильного устройства ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΎΠΉ опрСдСлСния столкновСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΈΠ³Ρ€Ρ‹. Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ опрСдСлСния столкновСний Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹, насколько Π² Π½Π΅ΠΉ Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ объСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… рСсурсов Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ³Ρ€ цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ столкновСний с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

ИспользованиС спрайтовой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΎΠ±Ρ‰Π΅Π΅ прСдставлСниС ΠΎΠ± основных Ρ‚ΠΈΠΏΠ°Ρ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π²Ρ‹, вСроятно, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…. Π― ΡƒΠΆΠ΅ нСсколько прСдвосхитил события, сказав, Ρ‡Ρ‚ΠΎ композиционная анимация Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивна ΠΈ Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ свободу дСйствий, Ρ‡Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Но Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ³Ρ€ примСняСтся комбинация Π΄Π²ΡƒΡ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ. КаТдая ΠΈΠ· этих Ρ‚Π΅Ρ…Π½ΠΈΠΊ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… Π² совокупности.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ³Ρ€Π°Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ имитация Ρ…ΠΎΠ΄ΡŒΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ пСрСдвиТСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΎ Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Ρƒ потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Ρ‚Π΅Π»Π°. Однако Ссли Π²Ρ‹ большС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сдСлаСтС, создастся ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΊΠΎΠ»ΡŒΠ·ΠΈΡ‚ вдоль экрана, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ…ΠΎΠ΄ΡŒΠ±Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠ΄ΠΊΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€ΡƒΠΊΠΈ ΠΈ Π½ΠΎΠ³ΠΈ, ΠΊΠ°ΠΊ это происходит Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого эффСкта, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ²ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ряд Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ², ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… двиТСния Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΈ Π½ΠΎΠ³Π°ΠΌΠΈ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ свой Π²ΠΈΠ΄. ΠŸΡ€ΠΈ этом ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΏΡ€Π°ΠΉΡ‚Ρ‹ нСвСроятно Π²Π°ΠΆΠ½Ρ‹ практичСски Π²ΠΎ всСх Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ простыС, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ эффСктивныС срСдства ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ двиТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ спрайтами, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрСсныС ΠΈΠ³Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ³Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ спрайты, β€“ это ΠΈΠ³Ρ€Π° Pong, состоящая ΠΈΠ· Ρ‚Ρ€Π΅Ρ… спрайтов: мяча ΠΈ Π΄Π²ΡƒΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… полос) вдоль Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сторон экрана. ВсС эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ спрайтами, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠœΡΡ‡ Π»Π΅Ρ‚Π°Π΅Ρ‚ ΠΏΠΎ полю ΠΈ ударяСтся ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, управляСмыС двумя ΠΈΠ³Ρ€ΠΎΠΊΠ°ΠΌΠΈ.

Π‘ услоТнСниСм ΠΈΠ³Ρ€ Ρ€ΠΎΠ»ΡŒ спрайтов нСсколько измСнилась, Π½ΠΎ ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ возросла. НапримСр, Π² Ρ‚Π°Π½ΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ³Ρ€Π΅ спрайты цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для модСлирования Ρ‚Π°Π½ΠΊΠΎΠ² ΠΈ выпускаСмых снарядов. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спрайты ΠΈ для модСлирования Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, стСн ΠΈ Π·Π΄Π°Π½ΠΈΠΉ. НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ статичны, ΠΎΠ½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ спрайтами, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ столкновСниС Ρ‚Π°Π½ΠΊΠ° с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ пСрСмСщСния Ρ‚Π°Π½ΠΊΠ°. Аналогично, Ссли пуля ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π·Π΄Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΎ, ΠΈΠ»ΠΈ пуля ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€ΠΈΠΊΠΎΡˆΠ΅Ρ‚ΠΎΠΌ ΠΎΡ‚Π»Π΅Ρ‚Π΅Ρ‚ΡŒ ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΡƒΠ³Π»ΠΎΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, модСлируя Π·Π΄Π°Π½ΠΈΠ΅ спрайтом, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΠΏΡƒΠ»ΠΈ Π² Π·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.

Π Π°Π±ΠΎΡ‚Π° с классами Layer ΠΈ Sprite

Π― ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π», Ρ‡Ρ‚ΠΎ MIDP 2.0 API Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ спрайтовой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π”Π²Π° основных класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΡΠΏΡ€Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, β€“ это Layer ΠΈ Sprite. Класс Layer ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Π»Π°Π²Π½Ρ‹ΠΉ графичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – слой (layer), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит основой для спрайтов ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ³Ρ€Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ элСмСнт ΠΈΠ³Ρ€Ρ‹ – это слой. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования, класс Layer отслСТиваСт Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ элСмСнта.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ класс Layer – это абстрактный класс, поэтому Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляры этого класса нСльзя. Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляры классов, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΡ‚ Layer, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Sprite, ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ классы ΠΎΡ‚ Layer Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ свой собствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ.

...

Π‘ΠΎΠ²Π΅Ρ‚ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ

ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ слоя – (0,0), ΠΎΠ½ΠΎ задаСтся Π² систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Graphics, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ paint().

НиТС пСрСчислСны ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Layer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со спрайтами ΠΈ слоями:

β–Ί getX() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ X Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° слоя;

β–Ί getY() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Y Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° слоя;

β–Ί getWidth() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ слоя;

β–Ί getHeight() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ высоты слоя;

β–Ί setPosition() β€“ устанавливаСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ XY Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° слоя;

β–Ί move() β€“ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ слой Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ расстояниС Π² осях XY;

β–Ί isVisible() β€“ провСряСт, Π²ΠΈΠ΄ΠΈΠΌ Π»ΠΈ слой;

β–Ί setVisible() β€“ устанавливаСт свойства видимости;

β–Ί paint() β€“ пСрСопрСдСляСтся Π² классах-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ….

Класс Sprite построСн Π½Π° классС Layer, ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ класс Sprite Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

β–Ί спрайты основаны Π½Π° изобраТСниях, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ²;

β–Ί изобраТСния спрайта ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ (ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈ Ρ‚. ΠΏ.);

β–Ί для спрайтов, состоящих ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ отобраТСния Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ²;

β–Ί столкновСния спрайтов ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π’Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ класс Sprite ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ массу возмоТностСй для программирования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…. Π’ этой Π³Π»Π°Π²Π΅ Π²Ρ‹ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚Π΅ всС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ аспСкты, Π½ΠΎ вскорС восполнитС этот ΠΏΡ€ΠΎΠ±Π΅Π». Пока ΠΌΡ‹ сосрСдоточимся Π½Π° создании ΠΈ основах Ρ€Π°Π±ΠΎΡ‚Ρ‹ со спрайтом. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ спрайт ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Image конструктору класса Sprite:

Sprite monsterSprite = new Sprite(Image createImage(Β«/monster.pngΒ»));

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ монстра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ основа для создания спрайта. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ помСститС этот ΠΊΠΎΠ΄ Π² ΠΌΠΈΠ΄Π»Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС компилятора ΠΎΠ± ошибкС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, Π½Π΅ обрабатываСтся. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° createImage() Π² случаС ошибки Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ изобраТСния. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ структуры try-catch, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ это:

try {

monterSprite = new Sprite(image.createImage("/Monster.png");

monsterSprite.setPosition(0,0);

}

catch (IOException e) {

System.err.println("Failed loading image!");

}

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ класс Layer ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слоя Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (0,0), ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ спрайта, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅. Когда Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ спрайт ΠΈ ΠΎΠ½ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ экрану, вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ setPosition() ΠΈΠ»ΠΈ move(). НиТС ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ: 1. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setPosition() для цСнтрирования спрайта Π½Π° экранС:

monterSprite.setPosition((getWidth – monsterSprite.getWidth()) / 2, (getHeight – monsterSprite.getHeight()) / 2);

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ для вычислСния полоТСния Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ высоту ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ холста ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ спрайта. 2. ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ спрайта Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько ΠΈΠ½Π°Ρ‡Π΅ – Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ расстояния вдоль осСй, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ спрайт: