Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

4 способа ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Mario Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅

Пока сущСствовал Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π±Ρ‹Π»ΠΈ ΠΈΠ³Ρ€Ρ‹ ΠΎΡ‚ ΠœΠ°Ρ€ΠΈΠΎ, сдСланныС Ρ„Π°Π½Π°Ρ‚Π°ΠΌΠΈ. Из слоТных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΠ³Ρ€

кроссовСры с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ пСрсонаТами Nintendo

Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° Π—Π΅ΠΌΠ»Π΅ Π½Π΅Ρ‚ ΠΈΠ³Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΠ»ΠΈ Π±Ρ‹ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ фанатских Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠœΠ°Ρ€ΠΈΠΎ.

Π’Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ β€” ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Nintendo надССтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Super Mario Maker, своСй Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³Ρ€Π΅ для Wii U, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΡƒΡ€ΠΎΠ²Π½ΠΈ.

Но Π²ΠΎΡ‚ Π² Ρ‡Π΅ΠΌ Π΄Π΅Π»ΠΎ: Super Mario Maker β€” Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ уровня Mario. НСсколько фанатских инструмСнтов ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС прямо Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π•ΡΡ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹Π΅ Nintendo, Π½ΠΎ всС ΠΆΠ΅ это вСсСло. Π’ΠΎΡ‚ нСсколько стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ.

Super Mario NES Builder: воссоздайтС ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»

ПослС 30 Π΄ΠΎΠ»Π³ΠΈΡ… Π»Π΅Ρ‚, ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Super Mario Bros остаСтся ΠΊΡƒΠ»ΡŒΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½. Π‘ Super Mario NES Builder Ρƒ вас Π΅ΡΡ‚ΡŒ шанс ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ.

Super Mario NES Builder β€” это созданная Ρ„Π°Π½Π°Ρ‚Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания собствСнных ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Mario Π² стилС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ Super Mario. Π•Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅: ΠΎΠ½ поставляСтся с ΠΏΠΎΠ»Π½Ρ‹ΠΌ воссозданиСм этой ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π² качСствС ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ.

Как ΠΈ всС, Ρ‡Ρ‚ΠΎ позволяСт людям ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ использовал это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ:

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ нСсколько Π½Π°Π±ΠΎΡ€ΠΎΠ² ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ² Π½Π° Π²Π΅Π±-сайтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°ΠΌ нравится большС, Ρ…ΠΎΡ€ΠΎΡˆΠΎ?

Mario Builder: Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ

Mario Builder ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Super Mario NES Builder, Π½ΠΎ содСрТит Π±ΠΎΠ»ΡŒΡˆΠ΅β€¦ Π²Π΅Ρ‰Π΅ΠΉ. Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ элСмСнты ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ³Ρ€ Mario, всС Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ хаос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Π΄ΡƒΡ…Ρƒ Mario Maker Π½Π° Wii U.

Π’ΠΎΠΊΡ€ΡƒΠ³ этой ΠΈΠ³Ρ€Ρ‹ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ сообщСство, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈ ΠΈΠ΄Π΅ΠΉ.

Лунная магия: Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ Π‘ΡƒΠΏΠ΅Ρ€ ΠœΠ°Ρ€ΠΈΠΎ

Π’Π·Π»ΠΎΠΌ ROM, для мСня, являСтся Π·Π°Π³Π°Π΄ΠΊΠΎΠΉ. Π’Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Ρ€Π΅Π²Π½ΠΈΡ… ΠΈΠ³Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΡƒΡ€ΠΎΠ²Π½ΠΈ, β€” это гСроичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ усилий, Π½ΠΎ люди Π΄Π΅Π»Π°ΡŽΡ‚ это. Π”Ρ€ΡƒΠ³ΠΈΠ΅ люди тратят Π΅Ρ‰Π΅ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° созданиС инструмСнтов, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π²Π·Π»ΠΎΠΌ, ΠΈ Lunar Magic β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… инструмСнтов.

Π­Ρ‚ΠΎΡ‚ инструмСнт, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² 2000 Π³ΠΎΠ΄Ρƒ, Π±Ρ‹Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ совсСм Π½Π΅Π΄Π°Π²Π½ΠΎ, Π² 2012 Π³ΠΎΠ΄Ρƒ, ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя встроСнный эмулятор для тСстирования Π²Π°ΡˆΠΈΡ… Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ROM-Ρ…Π°ΠΊΠ΅Ρ€, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ всСвозмоТныС Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚.

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный взгляд Π½Π° Super Mario World, это инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

К соТалСнию, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Π΅ ΠŸΠ—Π£ для коммСрчСских ΠΈΠ³Ρ€ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, поэтому эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсполСзна. (НС ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π² коммСнтариях: я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ. Если Π±Ρ‹ Π±Ρ‹Π» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, способный Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поиск Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ).

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π Π΅Π΄ΠΆΠΈ-уровня: создай свой собствСнный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Wii

Если Π²Ρ‹ Ρ„Π°Π½Π°Ρ‚ Mario ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Wii, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Π² Newer Super Mario Bros, ΡΠ°ΠΌΡƒΡŽ Π»ΡƒΡ‡ΡˆΡƒΡŽ Ρ„Π°Π½Π°Ρ‚ΡΠΊΡƒΡŽ ΠΈΠ³Ρ€Ρƒ для Wii

, Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π²Π·Π»ΠΎΠΌ Nintendo New Super Mario Bros Wii с ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ с собствСнными Nintendo).

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ…Π°ΠΊΠΈ Mario Π±Ρ‹Π»ΠΈ созданы с использованиСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π Π΅Π΄ΠΆΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΌ инструмСнтом для создания собствСнных ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π² New Super Mario Bros.

Π’Π°ΠΌ понадобится розничная копия New Super Mario Bros для Wii, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Reggie ΠΈΠ»ΠΈ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Π»ΡŽΠ±Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹, созданныС с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Wii для HomeBrew

для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² ΠΈΠ³Ρ€Ρ‹ Π½Π° своСм Wii, Ρ‡Ρ‚ΠΎ являСтся ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½Ρ‹ΠΌ процСссом.

Π§Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π° свой ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠœΠ°Ρ€ΠΈΠΎ?

это Π΄ΠΎΠ»Π³ΠΎ, Π½ΠΎ это Ρ‚Π°ΠΊΠΆΠ΅ ряд Π±Π΅Π·ΡƒΠΌΠ½ΠΎ популярных ΠΈΠ³Ρ€. Как Π΄Π°Π²Π½ΠΈΠΉ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ Nintendo, я надСюсь, Ρ‡Ρ‚ΠΎ Super Mario Maker станСт большим Ρ…ΠΈΡ‚ΠΎΠΌ для ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ β€” хотя Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ бСсконСчный ΠΏΠΎΡ‚ΠΎΠΊ Π½ΠΎΠ²Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Mario для Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² Wii U.

Но для Ρ‚Π΅Ρ… ΠΈΠ· нас, ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дизайнСрскиС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π° столом ΠΈΠ»ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ инструмСнт для создания ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ всС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, сдСланныС Ρ„Π°Π½Π°Ρ‚Π°ΠΌΠΈ.

Π― Ρ…ΠΎΡ‡Ρƒ Π·Π½Π°Ρ‚ΡŒ: ΠΊΠ°ΠΊΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ создадитС? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² коммСнтариях Π½ΠΈΠΆΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм ΠΈΠ³Ρ€Ρƒ-ΠΊΠ»ΠΎΠ½ Super Mario Brothers (Ρ‡Π°ΡΡ‚ΡŒ 1)

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самомуДля ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· нас Super Mario Brothers Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΉ, которая ΠΏΠΎ-настоящСму Π·Π°Π²ΠΎΡ€Π°ΠΆΠΈΠ²Π°Π»Π° своим ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ процСссом.
Π˜Π½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ SMB ΠΈ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΎΡ‚ Nintendo заставляли ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ часы Π½Π°ΠΏΡ€ΠΎΠ»Π΅Ρ‚ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ всСлСнной сантСхника ΠΈ Π΅Π³ΠΎ Π½Π°ΠΏΠ°Ρ€Π½ΠΈΠΊΠ°.

Π’ этом чудСсном Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅ ΠΎΡ‚ Π”ΠΆΠ΅ΠΉΠΊΠΎΠ±Π° ГандСрсСна ΠΌΡ‹ создадим собствСнный ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Ρ€; Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Ρ‹ΠΌ Π³Π΅Ρ€ΠΎΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Коала, ΠΌΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π½Π°ΡˆΡƒ ΠΈΠ³Ρ€Ρƒ Β«Super Koalio Brothers!Β» ;]
Π’Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ, ΠΌΡ‹ Π·Π°Π±ΡƒΠ΄Π΅ΠΌ ΠΎ двиТущихся Π²Ρ€Π°Π³Π°Ρ…. ВмСсто Π½ΠΈΡ… ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΠΏΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, встроСнныС Π² ΠΏΠΎΠ». Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° сСрдцС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Ρ€Π° β€” физичСском Π΄Π²ΠΈΠΆΠΊΠ΅.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Под ΠΊΠ°Ρ‚ΠΎΠΌ нСвСроятноС количСство ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ тСкста, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, ΠΊΠΎΠ΄Π° (ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½) ΠΈ руководство ΠΏΠΎ созданию собствСнного физичСского Π΄Π²ΠΈΠΆΠΊΠ°!

Π­Ρ‚ΠΎΡ‚ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π’Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с основами программирования Π½Π° Cocos2D. Π˜Π½Π°Ρ‡Π΅, я Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ сначала ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΠ°Ρ€ΠΎΠΉ-Ρ‚Ρ€ΠΎΠΉΠΊΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€ΠΎΠΊΠΎΠ² Π½Π° сайтС РСя.

НачнСм

Для Π½Π°Ρ‡Π°Π»Π° скачайтС стартовый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для этого Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°. РаспакуйтС Π΅Π³ΠΎ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Xcode, запуститС. На экранС эмулятора Π΄ΠΎΠ»ΠΆΠ½ΠΎ появится Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

ВсС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ β€” просто скучный пустой экран! :] ΠœΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ прохоТдСния Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°
Π’ стартовый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈ Π·Π²ΡƒΠΊΠΈ. ΠŸΡ€ΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ ΠΏΠΎ содСрТимому ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ΠžΡΠ½ΠΎΠ²Ρ‹ физичСских Π΄Π²ΠΈΠΆΠΊΠΎΠ²

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡ‚ Π½Π° основС физичСских Π΄Π²ΠΈΠΆΠΊΠΎΠ², ΠΈ Π² этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅ ΠΌΡ‹ напишСм собствСнный физичСский Π΄Π²ΠΈΠΆΠΎΠΊ.
Π•ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнный Π΄Π²ΠΈΠΆΠΎΠΊ, Π° Π½Π΅ Π±Ρ€Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Box2D ΠΈΠ»ΠΈ Chipmink:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ физичСского Π΄Π²ΠΈΠΆΠΊΠ°

Π’ физичСском Π΄Π²ΠΈΠΆΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ создадим, Ρƒ ΠšΠΎΠ°Π»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ двиТСния: ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ускорСниС ΠΈ позиция. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° TMXTiledMap

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Tile Maps. Если Π½Π΅Ρ‚, Ρ‚ΠΎ я ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΎ Π½ΠΈΡ… Π² этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅.
Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. ЗапуститС ваш Tiled map editor (Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ссли Π²Ρ‹ Π½Π΅ сдСлали этого Ρ€Π°Π½ΡŒΡˆΠ΅) ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ level1.tmx ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

Если Π²Ρ‹ посмотритС Π½Π° Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… слоя:

ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ map класса CCTMXTiledMap для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ячСистыми ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ Π² наш Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ класс.
Π”Π°Π»Π΅Π΅ ΠΌΡ‹ помСстим ΡΡ‡Π΅ΠΈΡΡ‚ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ Π½Π° наш слой прямо Π²ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слоя. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ init:

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π°Π΄Π½ΠΈΠΊ (CCLayerColor) Ρ†Π²Π΅Ρ‚Π° синСго Π½Π΅Π±Π°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ строки ΠΊΠΎΠ΄Π° это просто ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ map (CCTMXTiledMap) ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π΅ Π½Π° слой.

Π”Π°Π»Π΅Π΅, Π² GameLevelLayer.m ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Player.h:

ВсС Π΅Ρ‰Π΅ Π² GameLevelLayer.m Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ @ interface :

Π”Π°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠšΠΎΠ°Π»Ρƒ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ init:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ спрайт-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠšΠΎΠ°Π»Ρ‹, Π·Π°Π΄Π°Π΅Ρ‚ Π΅ΠΌΡƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ добавляСт Π΅Π³ΠΎ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ нашСй ΠΊΠ°Ρ€Ρ‚Ρ‹.
Π’Ρ‹ спроситС, Π·Π°Ρ‡Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ°Π»Ρ‹ Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° слой? ВсС просто. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ нСпосрСдствСнно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ слой Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Коалой, Π° ΠΊΠ°ΠΊΠΎΠΉ Π·Π° Π½Π΅ΠΉ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠšΠΎΠ°Π»Ρƒ Ρ€Π΅Π±Π΅Π½ΠΊΠΎΠΌ ΠΊΠ°Ρ€Ρ‚Ρ‹, Π° Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ слоя. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Коала Π±Ρ‹Π»Π° спСрСди, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π΅ΠΌ Π΅ΠΉ Z-порядок, Ρ€Π°Π²Π½Ρ‹ΠΉ 15. Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΊΠ°Ρ€Ρ‚Ρƒ, Коала всС Π΅Ρ‰Π΅ находится Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°Ρ€Ρ‚Ρ‹, Π° Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ слоя.
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ! ЗапуститС ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

Выглядит ΠΊΠ°ΠΊ ΠΈΠ³Ρ€Π°, Π½ΠΎ Коалио ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΡŽ! ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с нСбСс Π½Π° зСмлю β€” ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ физичСского Π΄Π²ΠΈΠΆΠΊΠ° :]

Битуация с Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠ΅ΠΉ Коалио

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

Π˜Π³Ρ€Π°Π΅ΠΌ Π² Π±ΠΎΠ³Π°

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому
Π’ Π»ΠΎΠ³ΠΈΠΊΠ΅ нашСго Π΄Π²ΠΈΠΆΠΊΠ° Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ дСйствуСт сила, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΊΠ° другая сила Π½Π° ΠΏΡ€Π΅Π²Π·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ. Когда Коалио спрыгиваСт с уступа, ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²Π½ΠΈΠ· с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ускорСниСм, ΠΏΠΎΠΊΠ° Π½Π΅ встрСтит прСпятствиС Π½Π° своСм ΠΏΡƒΡ‚ΠΈ. Когда ΠΌΡ‹ Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Коалио, ΠΎΠ½ Π½Π΅ пСрСстанСт Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ пСрСстанСм ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ силу двиТСния; Ρ‚Ρ€Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Коалио, ΠΏΠΎΠΊΠ° Ρ‚ΠΎΡ‚ Π½Π΅ остановится.
По ΠΌΠ΅Ρ€Π΅ создания физичСского Π΄Π²ΠΈΠΆΠΊΠ° Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ простая игровая Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ слоТныС физичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: лСдяной ΠΏΠΎΠ» ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ со скалы. Π­Ρ‚Π° повСдСнчСская модСль позволяСт ΠΈΠ³Ρ€Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ динамичСски.
Π’Π°ΠΊ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ…ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ постоянно ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ состояниС нашСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ просто Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Π°ΠΌ Ρ„ΠΈΠ·ΠΈΠΊΠΈ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°.
Иногда Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Π±ΠΎΠ³Π°! :]

Π—Π°ΠΊΠΎΠ½Ρ‹ ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹ ЗСмля: CGPoint’Ρ‹ ΠΈ Π‘ΠΈΠ»Ρ‹

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ понятия:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ссли Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π²Ρ‹ΡˆΠ΅Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ вас Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ прСкрасный Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Daniel Shiffman написал Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹ΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» Π½Π° Ρ‚Π΅ΠΌΡƒ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ дСйствия сил Π½Π°Π΄ структурами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠ΅ΠΉ. НапишСм Ρ†ΠΈΠΊΠ» run, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ силы. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ init Ρ„Π°ΠΉΠ»Π° GameLevelLayer.m ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ прямо ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ условного Π±Π»ΠΎΠΊΠ° if:

Π”Π°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² класс:

Π”Π°Π»Π΅Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Player.h ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ выглядил Ρ‚Π°ΠΊ:

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Player.m:

Π”Π°Π²Π°ΠΉΡ‚Π΅ пройдСмся ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ΅ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ Π·Π° ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒΡŽ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

Уууууупс β€” Коалио ΠΏΠ°Π΄Π°Π΅Ρ‚ сквозь ΠΏΠΎΠ»! Π”Π°Π²Π°ΠΉΡ‚Π΅ это ΠΏΠΎΡ‡ΠΈΠ½ΠΈΠΌ.

Π£Π΄Π°Ρ€Ρ‹ Π² Π½ΠΎΡ‡ΠΈ – ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ столкновСний

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ столкновСний это основа любого физичСского Π΄Π²ΠΈΠΆΠΊΠ°. Π•ΡΡ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² опрСдСлСния столкновСний, ΠΎΡ‚ простого использования Ρ€Π°ΠΌΠΎΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π΄ΠΎ комплСксных столкновСний 3D ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ для нас, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Ρ€ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТных структур.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния ΠšΠΎΠ°Π»Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TMXTileMap для ячССк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпосрСдствСнно ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‚ ΠšΠΎΠ°Π»Ρƒ. Π”Π°Π»Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСсколько встроСнных Π² iOS Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ пСрСсСкаСт Π»ΠΈ спрайт ΠšΠΎΠ°Π»Ρ‹ спрайт ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ячСйки.
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ CGRectIntersectsRect ΠΈ CGRectIntersection Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ простыми. CGRectIntersectsRect провСряСт, ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ Π»ΠΈ Π΄Π²Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π° CGRectIntersection Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ пСрСсСчСния.
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°ΠΌΠΊΡƒ нашСй ΠšΠΎΠ°Π»Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ спрайт ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΠΌΠΊΡƒ, которая являСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ тСкстуры ΠΈ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ boundingBox.
Π—Π°Ρ‡Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°ΠΌΠΊΡƒ, Ссли ΠΎΠ½Π° ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² boundingBox? ВСкстура ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ сСбя ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Π΅ края, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ совсСм Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ столкновСний.
Иногда Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΏΠ°Ρ€Ρƒ-Ρ‚Ρ€ΠΎΠΉΠΊΡƒ пиксСлСй Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ изобраТСния спрайта (Π½Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ). Когда ΠΌΠ°Ρ€ΠΈΠΎ врСзаСтся Π² стСну, Ρ€Π°Π·Π²Π΅ ΠΎΠ½ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ касаСтся Π΅Π΅, ΠΈΠ»ΠΈ Π΅Π³ΠΎ нос слСгка ΡƒΡ‚ΠΎΠΏΠ°Π΅Ρ‚ Π² Π±Π»ΠΎΠΊΠ΅?
Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Player.h:

И Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Player.m:

CGRectInset сТимаСт CGRect Π½Π° количСство пиксСлов ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ нашСм случаС, ΡˆΠΈΡ€ΠΈΠ½Π° нашСй Ρ€Π°ΠΌΠΊΠΈ столкновСний Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° ΡˆΠ΅ΡΡ‚ΡŒ пиксСлов мСньшС β€” Ρ‚Ρ€ΠΈ пиксСла с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ стороны.

ΠŸΠΎΠ΄Π½ΡΡ‚ΠΈΠ΅ тяТСстСй

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ тяТСсти. (Β«Π­ΠΉ, Ρ‚Ρ‹ сСйчас Π½Π°Π·Π²Π°Π» мСня толстым?Β» β€” Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Коалио).
Нам потрСбуСтся ряд ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² нашСм GameLevelLayer для опрСдСлСния столкновСний. Π’ частности:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячСйки, находящСйся Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… Π² пиксСлях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ячСйки, ΠΌΡ‹ просто Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ячССк.
Нам Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ высоты, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ систСмы Cocos2D/OpenGL Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π»Π΅Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π°, Π° систСмныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ β€” Π½Ρƒ Ρ€Π°Π·Π²Π΅ это Π½Π΅ ΠΊΡ€ΡƒΡ‚ΠΎ?
Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ‚ всС Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Он ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ ячСйки Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ячССк ΠΈ Π²ΠΎΠ²Π·Ρ€Π°Ρ‰Π°Π΅Ρ‚ CGRect Π΄Π°Π½Π½ΠΎΠΉ ячСйки. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ высоту.
Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΊ y-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅ высоты? Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячССк Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с нуля, Ρ‚Π°ΠΊ 20 ячСйка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ 19. Если ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΊ высотС, Ρ‚ΠΎΡ‡ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ 19 * tileHeight.

Π― ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ ячСйками!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠšΠΎΠ°Π»Ρƒ ячСйки. Π’ этом ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΌΡ‹ создадим массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ массив Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ GID ячСйки, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячСйки ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ CGRect этой ячСйки.
ΠœΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ этот массив Π² порядкС ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния. НапримСр, ΠΌΡ‹ вСдь Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния свСрху, слСва, справа, снизу ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅. Π’Π°ΠΊΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ столкновСниС ΠšΠΎΠ°Π»Ρ‹ с Π½ΠΈΠΆΠ½Π΅ΠΉ ячСйкой ΠΌΡ‹ выставляСм Ρ„Π»Π°Π³ касания Π·Π΅ΠΌΠ»ΠΈ.
Π”ΠΎΠ±Π°Π²ΠΈΠΌ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² GameLevelLayer.m:

ΠŸΡ„Ρ„ β€” цСлая Ρ‚ΡƒΡ‡Π° ΠΊΠΎΠ΄Π°. НС Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ, ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎ Π½Π΅ΠΌΡƒ пройдСмся.
Но ΠΏΠ΅Ρ€Π΅Π΄ этим Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ слоя Π½Π° нашСй ΠΊΠ°Ρ€Ρ‚Π΅.
НаличиС Ρ€Π°Π·Π½Ρ‹Ρ… слоСв позволяСт Π½Π°ΠΌ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слоя.

1. Для Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячСйки для Π²Π²ΠΎΠ΄Π° (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠšΠΎΠ°Π»Ρ‹).
2. Π”Π°Π»Π΅Π΅, ΠΌΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ячСйкС.
3. Π”Π°Π»Π΅Π΅, ΠΌΡ‹ запускаСм Ρ†ΠΈΠΊΠ» 9 Ρ€Π°Π· β€” Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ нас Π΅ΡΡ‚ΡŒ 9 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ячССк пСрСмСщСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ячСйку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ°Π»Π° ΡƒΠΆΠ΅ находится. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСсколько строк ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ дСвяти ячССк ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ ΠΈΠ· Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ tilePos.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° информация Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ восьми ячСйках, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ придСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния с ячСйкой, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ°Π»Π° ΡƒΠΆΠ΅ находится.
ΠœΡ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΎΠ²ΠΈΡ‚ΡŒ этот случай ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· ячССк Π²ΠΎΠΊΡ€ΡƒΠ³. Если Коалио находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π²Π΅Ρ€Π΄ΠΎΠΉ ячСйки, Π·Π½Π°Ρ‡ΠΈΡ‚ большС ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ спрайта Коалио вошло Π²Π½ΡƒΡ‚Ρ€ΡŒ. Он Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊ быстро β€” ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π² этой ΠΈΠ³Ρ€Π΅!
Π§Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³Ρ‡Π΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π΄ этими восьми ячСйками, просто Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ячСйку Коалио ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ, Π° Π² ΠΊΠΎΠ½Ρ†Π΅ Π΅Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ.

4. Π’ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ сСкции ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ tileGIDAt:. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ GID ячСйки Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅. Если Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… Π½Π΅Ρ‚ ячСйки, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ноль Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Β«Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ячСйки».
5. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ CGRect для ячСйки Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… Cocos2D ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΡ‹ сохраняСм Π² NSDictionary. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… NSDictionary.
6. Π’ ΡˆΠ΅ΡΡ‚ΠΎΠΉ сСкции ΠΌΡ‹ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ячСйку ΠšΠΎΠ°Π»Ρ‹ ΠΈΠ· массива ΠΈ сортируСм ячСйки Π² ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠΌ порядкС.
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому
Часто, Π² случаС опрСдСлСния столкновСний с ячСйкой ΠΏΠΎΠ΄ Коалой, ΠΌΡ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ опрСдСляСм столкновСния с ячСйками ΠΏΠΎ-Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ рисунок справа. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡ столкновСния с ячСйкой ΠΏΠΎΠ΄ Коалой, Π²Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ красным, ΠΌΡ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ опрСдСляСм столкновСния с Π±Π»ΠΎΠΊΠΎΠΌ #2, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ синим.
Наш Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ опрСдСлСния столкновСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ допущСния. Π­Ρ‚ΠΈ допущСния Π²Π΅Ρ€Π½Ρ‹ скорСС для ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΡ…, Π½Π΅ΠΆΠ΅Π»ΠΈ для Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ячССк. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ постараСмся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ дСйствий с Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ячСйками Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
А Π²ΠΎΡ‚ ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, которая наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ порядок ячССк Π² массивС Π΄ΠΎ ΠΈ послС сортировки. МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ вСрхняя, ниТняя, правая ΠΈ лСвая ячСйки ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Зная порядок ячССк, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Коала касаСтся Π·Π΅ΠΌΠ»ΠΈ ΠΈΠ»ΠΈ Π»Π΅Ρ‚Π°Π΅Ρ‚ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ….
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

7. Π¦ΠΈΠΊΠ» Π² сСкции сСмь позволяСт Π½Π°ΠΌ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ячСйками Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ.

ΠœΡ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ запуску нашСй ΠΈΠ³Ρ€Ρ‹! Однако всС Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ‰ΠΈΡ†. Нам Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ слой walls ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² класс GameLevelLayer Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ смогли Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ GameLevelLayer.m осущСствитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния:

ЗапускайтС! Но, ΠΊ соТалСнию, ΠΈΠ³Ρ€Π° ΠΊΡ€Π°ΡˆΠΈΡ‚ΡΡ. ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² консоли Π½Π΅Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ позициях ячССк ΠΈ значСния GID (хотя Π² основном Π½ΡƒΠ»ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ свСрху пустая ΠΌΠ΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ).
Π’ ΠΊΠΎΠ½Ρ†Π΅, всС ΠΊΡ€Π°ΡˆΠΈΡ‚ΡΡ с ошибкой Β«TMXLayer: invalid positionΒ». Π’Π°ΠΊΠΎΠ΅ происходит, ΠΊΠΎΠ³Π΄Π° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ tileGIDat: пСрСдаСтся позиция, которая находится Π²Π½Π΅ ΠΊΡ€Π°Π΅Π² ΠΊΠ°Ρ€Ρ‚Ρ‹.
ΠœΡ‹ ΠΈΠ·Π±Π΅ΠΆΠΈΠΌ этой ошибки Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ β€” Π½ΠΎ сначала, ΠΌΡ‹ собираСмся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ столкновСний.

ΠžΡ‚Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠšΠΎΠ°Π»Ρ‹ Π½Π°Π·Π°Π΄

Π”ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Коала сама обновляла сСбС ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Но сСйчас ΠΌΡ‹ Π·Π°Π±ΠΈΡ€Π°Π΅ΠΌ Ρƒ Π½Π΅Π΅ эту ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

Если Коала Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Ρ‚ΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΎΠ½Π° Π½Π°Ρ‡Π½Π΅Ρ‚ ΡΠΊΠ°ΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ бСшСная! А ΠΌΡ‹ ΠΆΠ΅ этого Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ, Π½Π΅Ρ‚?
Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Коала Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ desiredPosition, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с GameLevelLayer.
ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ класс ΠšΠΎΠ°Π»Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ высчитывал свою ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ·Ρ†ΠΈΡŽ. Но GameLevelLayer Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΅Π΅ Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ. Π’ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΈ ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ опрСдСлСния столкновСний β€” ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ спрайт Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС ячСйки Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ столкновСний.
Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ нСсколько Π²Π΅Ρ‰Π΅ΠΉ. Π‘Π½Π°Ρ‡Π°Π»Π°, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² Player.h

И синтСзируйтС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² Player.m:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ collisionBoundingBox Π² Player.m, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ выглядСл Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎΡ‚ кусок ΠΊΠΎΠ΄Π° вычисляСт Ρ€Π°ΠΌΠΊΡƒ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ GameLevelLayer Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для опрСдСлСния столкновСний.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π•ΡΡ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов вычислСния Ρ€Π°ΠΌΠΎΠΊ столкновСний. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ имССтся Π² классС CCNode, Π½ΠΎ наш Π½Ρ‹Π½Π΅ΡˆΠ½ΠΈΠΉ способ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, нСсмотря Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ.

Π”Π°Π»Π΅Π΅, осущСствитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ update Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ обновлял desiredPosition замСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния!

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΡΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΉ. ΠœΡ‹ собираСмся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС вмСстС. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² GameLevelLayer.m:

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ написали.

1. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π°Π±ΠΎΡ€ ячССк, ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ… ΠšΠΎΠ°Π»Ρƒ. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ проходимся Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкС ΠΈΠ· этого Π½Π°Π±ΠΎΡ€Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ проходимся ΠΏΠΎ ячСйкС, ΠΌΡ‹ провСряСм Π΅Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ столкновСний. Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ столкновСниС, ΠΌΡ‹ мСняСм desiredPosition Ρƒ ΠšΠΎΠ°Π»Ρ‹.
2. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ‚Π»ΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΌΡ‹ сначала ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π°ΠΌΠΊΡƒ ΠšΠΎΠ°Π»Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° опрСдСляСтся столкновСниС, пСрСмСнная desiredPosition мСняСт своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠΎΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ столкновСния большС Π½Π΅ происходит.
3. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг это ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ GID, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈ Π² NSDictionary, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½ΡƒΠ»Π΅ΠΌ. Если GID Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ тСкущая пСтля Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ячСйкС.
4. Если Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ находится ячСйка, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ CGRect. Π’ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ столкновСния. ΠœΡ‹ осущСствляСм этот процСсс ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строчки ΠΊΠΎΠ΄Π° ΠΈ сохраняСм Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ tileRect. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, имСя CGRect ΠšΠΎΠ°Π»Ρ‹ ΠΈ ячСйки, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ столкновСния.
5. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ячСйки Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ столкновСния, ΠΌΡ‹ запускаСм CGRectIntersectsRect. Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ столкновСниС, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ CGRect, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ CGRect пСрСсСчСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CGRectIntersection().

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π° Π΄ΠΈΠ»Π΅ΠΌΠΌΠΎΠΉ.

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ интСрСсный случай. Нам Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния.
МоТно ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ β€” Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Π΅Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡƒΡŽ сторону ΠΎΡ‚ столкновСния. НСкоторыС физичСскиС Π΄Π²ΠΈΠΆΠΊΠΈ ΠΈ Π²ΠΏΡ€Π°Π²Π΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ этому ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ, Π½ΠΎ ΠΌΡ‹ собираСмся ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-Π»ΡƒΡ‡ΡˆΠ΅.
ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅: гравитация постоянно тянСт ΠšΠΎΠ°Π»Ρƒ Π²Π½ΠΈΠ· Π² ячСйки ΠΏΠΎΠ΄ Π½Π΅ΠΉ, ΠΈ эти столкновСния происходят постоянно. Если Π²Ρ‹ прСдставитС ΠšΠΎΠ°Π»Ρƒ, Π΄Π²ΠΈΠΆΡƒΡ‰ΡƒΡŽΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄, Ρ‚ΠΎ, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠšΠΎΠ°Π»Ρƒ всС Π΅Ρ‰Π΅ тянСт Π²Π½ΠΈΠ· Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠ΅ΠΉ. Если ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ простым ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ двиТСния Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону, Ρ‚ΠΎ Коала Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π»Π΅Π²ΠΎ β€” Π° вСдь Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅!
Наша Коала Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° достаточноС расстояниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π°Π΄ этими ячСйками, Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄ с Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ‚Π΅ΠΌΠΏΠΎΠΌ.
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому
Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Коала Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ стСнС. Если ΠΈΠ³Ρ€ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ ΠΊ стСнС, Ρ‚ΠΎ ТСлаСмая траСктория двиТСния ΠšΠΎΠ°Π»Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° диагонально Π²Π½ΠΈΠ· ΠΈ Π² стСну. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΌΡ‹ заставим ΠšΠΎΠ°Π»Ρƒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π²Π²Π΅Ρ€Ρ… ΠΈ ΠΎΡ‚ стСны β€” ΠΎΠΏΡΡ‚ΡŒ, совсСм Π½Π΅ Ρ‚ΠΎ! ΠœΡ‹ Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Коала ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ Π²Π½Π΅ стСны, Π½ΠΎ всС Π΅Ρ‰Π΅ ΡΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π²Π½ΠΈΠ· с Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ‚Π΅ΠΌΠΏΠΎΠΌ!
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому
Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со столкновСниями Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Π° ΠΊΠΎΠ³Π΄Π° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Π° дСйствия Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅. НСкоторыС физичСскиС Π΄Π²ΠΈΠΆΠΊΠΈ постоянно ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ сначала ΠΏΠ΅Ρ€Π²ΠΎΠ΅ событиС, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅; Π½ΠΎ ΠΌΡ‹-Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-Π»ΡƒΡ‡ΡˆΠ΅, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ячСйки ΠšΠΎΠ°Π»Ρ‹. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ячСйка прямо ΠΏΠΎΠ΄ Коалой, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ столкновСний Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π» ΠšΠΎΠ°Π»Ρƒ Π²Π²Π΅Ρ€Ρ….
А Ρ‡Ρ‚ΠΎ Ссли ячСйка диагональна ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠšΠΎΠ°Π»Ρ‹? Π’ этом случаС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ CGRect пСрСсСчСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ. Если ΡˆΠΈΡ€ΠΈΠ½Π° этого ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° большС высоты, Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ. Если высота большС ΡˆΠΈΡ€ΠΈΠ½Ρ‹, Ρ‚ΠΎ Коала Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ.
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому
Π­Ρ‚ΠΎΡ‚ процСсс Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠšΠΎΠ°Π»Ρ‹ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ смСны ΠΊΠ°Π΄Ρ€ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ. Π§ΡƒΡ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΌΡ‹ научимся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ случаСв, ΠΊΠΎΠ³Π΄Π° Коала ΠΏΠ°Π΄Π°Π΅Ρ‚ слишком быстро ΠΈ проскакиваСт Ρ‡Π΅Ρ€Π΅Π· ячСйку Π²Π½ΠΈΠ·.
Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ β€” Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ CGRect пСрСсСчСния для опрСдСлСния, насколько Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠšΠΎΠ°Π»Ρƒ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈΠ»ΠΈ высоту соотвСтствСнно ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ эту Π²Π΅Π»Π΅Ρ‡ΠΈΠ½Ρƒ ΠΊΠ°ΠΊ Π΄ΠΈΡΡ‚Π°Π½Ρ†ΠΈΡŽ смСщСния ΠšΠΎΠ°Π»Ρ‹.
Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ячСйки Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС? Π’Π°ΠΌ всСгда Π½ΡƒΠΆΠ½ΠΎ сначала Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΠΌΠΈ ячСйками, Π° ΠΏΠΎΡ‚ΠΎΠΌ с Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Π΅Π΄ΡŒ Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° столкновСниС ячСйку справа снизу ΠΎΡ‚ ΠšΠΎΠ°Π»Ρ‹, Ρ‚ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€ смСщСния Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ.
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому
Однако всС Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ шанс, Ρ‡Ρ‚ΠΎ CGRect столкновСния Π±ΡƒΠ΄Π΅Ρ‚ вытянутым Π²Π²Π΅Ρ€Ρ…, ΠΊΠΎΠ³Π΄Π° Коала Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ касаСтся ячСйки.
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° рисунок справа. Биняя ΠΎΠ±Π»Π°ΡΡ‚ΡŒ вытянута Π²Π²Π΅Ρ€Ρ…, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ столкновСния β€” это лишь малая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ столкновСния. Однако Ссли ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ячСйкой прямо ΠΏΠΎΠ΄ Коалой, Ρ‚ΠΎ Π½Π°ΠΌ ΡƒΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ столкновСния с ячСйкой снизу справа ΠΎΡ‚ ΠšΠΎΠ°Π»Ρ‹. Π’Π°ΠΊ ΠΌΡ‹ ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ появившиСся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Назад ΠΊ ΠΊΠΎΠ΄Ρƒ!

ВСрнСмся ΠΊ монструозному ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ checkForAndResolveCollisions:…

6. ШСстая сСкция позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСкс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ячСйки. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ индСкс ячСйки Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ячСйки. ΠœΡ‹ собираСмся ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΠΌΠΈ ячСйками ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ, смСщая ΠšΠΎΠ°Π»Ρƒ, вычитая ΠΈΠ»ΠΈ добавляя Π΄Π»ΠΈΠ½Ρƒ ΠΈΠ»ΠΈ высоту столкновСния. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ просто. Однако ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ячССк, ΠΌΡ‹ собираСмся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, описаный Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ сСкции.
7. Π’ сСдьмой сСкции ΠΌΡ‹ опрСдСляСм, какая наша ΠΎΠ±Π»Π°ΡΡ‚ΡŒ столкновСния: ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ ΠΈΠ»ΠΈ вытянутая Π²Π²Π΅Ρ€Ρ…? Если ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ. Если индСкс ячСйки большС 5, Ρ‚ΠΎ Π΄Π²ΠΈΠ³Π°Π΅ΠΌ ΠšΠΎΠ°Π»Ρƒ Π²Π²Π΅Ρ€Ρ…. Если ΠΎΠ±Π»Π°ΡΡ‚ΡŒ вытянута Π²Π²Π΅Ρ€Ρ… β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ. ДСйствуСм ΠΏΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ порядка индСксов ячСйки. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ присваиваСм КоалС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΌΠΎΠ·Π³ нашСй систСмы опрСдСлСния столкновСний.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ всС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ знания Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅! Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ update (всС Π΅Ρ‰Π΅ Π² GameLevelLayer:)

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ getSurroundingTilesAtPosition:forLayer:

ЗапускаСм! Π£Π΄ΠΈΠ²Π»Π΅Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ?

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому. Π€ΠΎΡ‚ΠΎ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΌΠ°Ρ€ΠΈΠΎ самому

Пол останавливаСт Коалио, Π½ΠΎ Ρ‚ΠΎΡ‚ Ρ‚ΡƒΡ‚ ΠΆΠ΅ Π² Π½Π΅Π³ΠΎ ΡƒΡ‚ΠΎΠΏΠ°Π΅Ρ‚! ΠŸΠΎΡ‡Π΅ΠΌΡƒ?
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ упустили? ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг ΠΈΠ³Ρ€Ρ‹ ΠΌΡ‹ добавляСм силу Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ ΠΊ скорости ΠšΠΎΠ°Π»Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Коала постоянно ускоряСтся Π²Π½ΠΈΠ·.
ΠœΡ‹ постоянно добавляСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΊ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠšΠΎΠ°Π»Ρ‹ Π²Π½ΠΈΠ·, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ становится Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ с ячСйку β€” ΠΌΡ‹ пСрСмСщаСмся сквозь Ρ†Π΅Π»ΡƒΡŽ ячСйку Π·Π° ΠΎΠ΄ΠΈΠ½ шаг, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΌΡ‹ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠ± этом Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ).
Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ засСкаСм столкновСниС, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΡƒΠ»ΡΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ°Π»Ρ‹ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ячСйки, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ! Коала пСрСстала Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° с Π½Π΅ΠΉ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ.
Если ΠΌΡ‹ этого Π½Π΅ осущСствим, Ρ‚ΠΎ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ довольно странноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹. Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ€Π°Π½Π΅Π΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, касаСтся Π»ΠΈ Коала Π·Π΅ΠΌΠ»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Коала Π½Π΅ смогла ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ Π²Ρ‹ΡˆΠ΅. ΠœΡ‹ выставим этот Ρ„Π»Π°ΠΆΠΎΠΊ прямо сСйчас. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π² checkForAndResolveCollisions:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ Коалой Π΅ΡΡ‚ΡŒ ячСйка (Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰Π°Ρ, Π»ΠΈΠ±ΠΎ диагональная), ΠΌΡ‹ выставляСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ p.onGround Ρ€Π°Π²Π½ΠΎΠ΅ YES ΠΈ обнуляСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅, Ссли ΠΏΠΎΠ΄ Коалой Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰Π°Ρ ячСйка, ΠΌΡ‹ обнуляСм Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠšΠΎΠ°Π»Ρ‹.
ΠœΡ‹ выставляСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ onGround Ρ€Π°Π²Π½ΠΎΠ΅ NO Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. Π’ этом случаС, Ρƒ onGround Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ YES Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠΌ столкновСниС ΠšΠΎΠ°Π»Ρ‹ с ячСйкой ΠΏΠΎΠ΄ Π½Π΅ΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Коала ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Π·Π°Π³Π°Π»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (ΠΈ Π·Π°Ρ‚Π΅ΠΌ синтСзируйтС всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ) Π² Player.h:

ЗапускаСм! ВсС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΈ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΎΡΡŒ? Π”Π°! О, этот Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹ΠΉ дСнь! Π£Ρ€Π°!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *