unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ИспользованиС Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²

ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

Unity supports the C# programming language natively. C# (pronounced C-sharp) is an industry-standard language similar to Java or C++.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ искусства программирования ΠΈ использования этих языкам Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ввСдСния. Однако Π΅ΡΡ‚ΡŒ мноТСство ΠΊΠ½ΠΈΠ³, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ рСсурсов для изучСния программирования Π² срСдС Unity. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» Π½Π° нашСм сайтС для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скриптов

Unlike most other assets, scripts are usually created within Unity directly. You can create a new script from the Create menu at the top left of the Project panel or by selecting Assets > Create > C# Script from the main menu.

Новый скрипт Π±ΡƒΠ΄Π΅Ρ‚ создан Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Project. Имя Π½ΠΎΠ²ΠΎΠ³ΠΎ скрипта Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ, прСдлагая Π²Π°ΠΌ ввСсти Π½ΠΎΠ²ΠΎΠ΅ имя.

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»Π° скрипта

When you double-click a script Asset in Unity, it will be opened in a text editor. By default, Unity will use Visual Studio, but you can select any editor you like from the External Tools panel in Unity’s preferences (go to Unity > Preferences).

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ взаимодСйствуСт с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ Unity Π·Π° счСт создания класса, наслСдованного ΠΎΡ‚ встроСнного класса, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ MonoBehaviour. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ классС ΠΊΠ°ΠΊ ΠΎ своСго Ρ€ΠΎΠ΄Π° ΠΏΠ»Π°Π½Π΅ для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ присоСдиняСтС скриптовый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, создаСтся Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ΠΎΠΌ. Имя класса бСрСтся ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»Π°. Имя класса ΠΈ имя Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скриптовый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ присоСдинСн ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ° для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ инициализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° выполняСтся Π½Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-конструкторС. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² обрабатываСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ происходит Π½Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ процСсса, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ конструктор для скриптового ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Unity ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ

Как Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, скрипт опрСдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° экзСмпляр скрипта Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ присоСдинСн ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ скрипт пСрСтаскиваниСм ассСта скрипта Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Hierarchy ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ Inspector Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ подмСню Scripts Π² мСню Component, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит всС скрипты, доступныС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создали сами. ЭкзСмпляр скрипта выглядит Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠΊΠ½Π΅ Inspector:-

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ScriptInInspector. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-ScriptInInspector. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ScriptInInspector. ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

ПослС присоСдинСния скрипт Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Play ΠΈ запуститС ΠΈΠ³Ρ€Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Start:-

Debug.Log is a simple command that just prints a message to Unity’s console output. If you press Play now, you should see the message at the bottom of the main Unity editor window and in the Console window (menu: Window > General > Console).

2018–03–19 Page amended

MonoDevelop replaced by Visual Studio from 2018.1

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ИспользованиС Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²

ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

Unity supports the C# programming language natively. C# (pronounced C-sharp) is an industry-standard language similar to Java or C++.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ искусства программирования ΠΈ использования этих языкам Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ввСдСния. Однако Π΅ΡΡ‚ΡŒ мноТСство ΠΊΠ½ΠΈΠ³, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ рСсурсов для изучСния программирования Π² срСдС Unity. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» Π½Π° нашСм сайтС для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скриптов

Unlike most other assets, scripts are usually created within Unity directly. You can create a new script from the Create menu at the top left of the Project panel or by selecting Assets > Create > C# Script from the main menu.

Новый скрипт Π±ΡƒΠ΄Π΅Ρ‚ создан Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Project. Имя Π½ΠΎΠ²ΠΎΠ³ΠΎ скрипта Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ, прСдлагая Π²Π°ΠΌ ввСсти Π½ΠΎΠ²ΠΎΠ΅ имя.

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»Π° скрипта

When you double-click a script Asset in Unity, it will be opened in a text editor. By default, Unity will use Visual Studio, but you can select any editor you like from the External Tools panel in Unity’s preferences (go to Unity > Preferences).

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ взаимодСйствуСт с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ Unity Π·Π° счСт создания класса, наслСдованного ΠΎΡ‚ встроСнного класса, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ MonoBehaviour. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ классС ΠΊΠ°ΠΊ ΠΎ своСго Ρ€ΠΎΠ΄Π° ΠΏΠ»Π°Π½Π΅ для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ присоСдиняСтС скриптовый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, создаСтся Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ΠΎΠΌ. Имя класса бСрСтся ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»Π°. Имя класса ΠΈ имя Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скриптовый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ присоСдинСн ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ° для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ инициализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° выполняСтся Π½Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-конструкторС. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² обрабатываСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ происходит Π½Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ процСсса, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ конструктор для скриптового ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Unity ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ

Как Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, скрипт опрСдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° экзСмпляр скрипта Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ присоСдинСн ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ скрипт пСрСтаскиваниСм ассСта скрипта Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Hierarchy ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ Inspector Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ подмСню Scripts Π² мСню Component, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит всС скрипты, доступныС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создали сами. ЭкзСмпляр скрипта выглядит Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠΊΠ½Π΅ Inspector:-

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ScriptInInspector. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-ScriptInInspector. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ScriptInInspector. ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

ПослС присоСдинСния скрипт Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Play ΠΈ запуститС ΠΈΠ³Ρ€Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Start:-

Debug.Log is a simple command that just prints a message to Unity’s console output. If you press Play now, you should see the message at the bottom of the main Unity editor window and in the Console window (menu: Window > General > Console).

2018–03–19 Page amended with limited editorial review

MonoDevelop replaced by Visual Studio from 2018.1

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ИспользованиС Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²

Unity ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ языка программирования:

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ искусства программирования ΠΈ использования этих языкам Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ввСдСния. Однако Π΅ΡΡ‚ΡŒ мноТСство ΠΊΠ½ΠΈΠ³, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ рСсурсов для изучСния программирования Π² срСдС Unity. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» Π½Π° нашСм сайтС для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скриптов

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ассСтов, скрипты ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно Π² Unity. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ скрипт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ мСню Create Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΏΠ°Π½Π΅Π»ΠΈ Project ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Π² Assets > Create > C# Script (ΠΈΠ»ΠΈ JavaScript/Boo скрипт) Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню.

Новый скрипт Π±ΡƒΠ΄Π΅Ρ‚ создан Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Project. Имя Π½ΠΎΠ²ΠΎΠ³ΠΎ скрипта Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ, прСдлагая Π²Π°ΠΌ ввСсти Π½ΠΎΠ²ΠΎΠ΅ имя.

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»Π° скрипта

ПослС Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠ° Π½Π° скриптС Π² Unity, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Unity Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MonoDevelop, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ External Tools Π² настройках Unity.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ° для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ инициализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° выполняСтся Π½Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-конструкторС. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² обрабатываСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ происходит Π½Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ процСсса, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ конструктор для скриптового ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Unity ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

A UnityScript script works a bit differently to C# script:

Π—Π΄Π΅ΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Start ΠΈ Update ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ класс Π½Π΅ объявлСн явно. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ скрипт сам ΠΏΠΎ сСбС опрСдСляСт класс; ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ нСявно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ MonoBehaviour ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ своё имя ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° скриптового ассСта.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ

Как Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, скрипт опрСдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° экзСмпляр скрипта Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ присоСдинСн ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ скрипт пСрСтаскиваниСм ассСта скрипта Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Hierarchy ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ Inspector Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ подмСню Scripts Π² мСню Component, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит всС скрипты, доступныС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создали сами. ЭкзСмпляр скрипта выглядит Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΎΠΊΠ½Π΅ Inspector:-

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ScriptInInspector. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-ScriptInInspector. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ScriptInInspector. ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

ПослС присоСдинСния скрипт Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Play ΠΈ запуститС ΠΈΠ³Ρ€Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Start:-

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

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ скриптами Π² Unity3D

ВступлСниС

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 1. НазначСниС Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Unity3D

ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅ΡΡ‚ΡŒ Π΄Π²Π° скрипта. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ скрип ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° начислСниС ΠΎΡ‡ΠΊΠΎΠ² Π² ΠΈΠ³Ρ€Π΅, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ количСство Π½Π°Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ² Π½Π° экранС ΠΈΠ³Ρ€Ρ‹.
НазовСм ΠΎΠ±Π° скрипта ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ: ScoresManager ΠΈ HUDManager.
Каким ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π·Π° мСню экрана ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ количСство ΠΎΡ‡ΠΊΠΎΠ² ΠΎΡ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° начислСниС ΠΎΡ‡ΠΊΠΎΠ²?
ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²(Hierarchy) сцСны ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ скрипт ScoresManager, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ скрипт HUDManager.
Один ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ:
Π’ скриптС UIManager опрСдСляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° ScoresManager:

Но ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ScoresManager Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‰Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ экзСмпляром класса. Для этого Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ скрипт HUDManager ΠΈ Π² настройках ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ScoresManager со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ None.

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. 900ef2696d5182d43a87f20483dfe6c1. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-900ef2696d5182d43a87f20483dfe6c1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 900ef2696d5182d43a87f20483dfe6c1. ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

Π”Π°Π»Π΅Π΅, ΠΈΠ· ΠΎΠΊΠ½Π° ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ пСрСтаскиваСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий скрипт ScoresManager Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π³Π΄Π΅ написано None ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ Π΅Π³ΠΎ объявлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. 6dc5a7da31258029d78f692b51778e73. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-6dc5a7da31258029d78f692b51778e73. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 6dc5a7da31258029d78f692b51778e73. ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

ПослС Ρ‡Π΅Π³ΠΎ, Ρƒ нас появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΠ΄Π° HUDManager ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ скрипту ScoresManager, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ВсС просто, Π½ΠΎ ΠΈΠ³Ρ€Π°, Π½Π΅ ограничиваСтся ΠΎΠ΄Π½ΠΈΠΌΠΈ Π½Π°Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, HUD ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ³Ρ€ΠΎΠΊΠ°, мСню доступных дСйствия ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π˜Π³Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² сСбС дСсятки ΠΈ сотни Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ скриптС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ скрипта Π½Π°ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· придСтся ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΎΠ΄Π½ΠΎΠΌ скриптС ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ (ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ) Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ само ΠΏΠΎ сСбС нудная Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ какая ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°.
Если ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ скрипт, Ρ‚ΠΎ всС старыС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², связанныС с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ скриптом, сбросятся ΠΈ придСтся ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ снова.
Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для ΠΏΡ€Π΅Ρ„Π°Π±ΠΎΠ² (prefab) β€” динамичСского создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· шаблона. Если ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Ρ„Π°Π±Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ, располоТСнному Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ смоТСтС Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ самому ΠΏΡ€Π΅Ρ„Π°Π±Ρƒ элСмСнт ΠΈΠ· ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Π° придСтся сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· ΠΏΡ€Π΅Ρ„Π°Π±Π° ΠΈ послС этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ экзСмпляр ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НС нуТная Ρ€Π°Π±ΠΎΡ‚Π°, Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ.
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ всС эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 2. Β«Π‘ΠΈΠ½Π³Π»Ρ‚ΠΎΠ½Ρ‹Β»

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΡƒΡŽ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ создании ΠΈΠ³Ρ€Ρ‹. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‚ΠΈΠΏ скриптов: «скрипты-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹Β», Π²Ρ‚ΠΎΡ€ΠΎΠΉ: «скрипты-ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹Β».
ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ… ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ «скрипты-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹Β» всСгда ΠΈΠΌΠ΅ΡŽΡ‚ СдинствСнный экзСмпляр Π² ΠΈΠ³Ρ€Π΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ «скрипты-ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹Β» ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ количСство экзСмпляров большС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² СдинствСнном экзСмплярС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ скрипты, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΎΠ±Ρ‰ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π·Π° ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΌΡƒΠ·Ρ‹ΠΊΠΈ, Π·Π° отслСТиваниС условий Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ уровня, Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ систСмой Π·Π°Π΄Π°Π½ΠΈΠΉ, Π·Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ спСцэффСктов ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.
Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, скрипты ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² большом количСствС экзСмпляров: каТдая ΠΏΡ‚ΠΈΡ‡ΠΊΠ° ΠΈΠ· Β«Angry BirdsΒ» управляСтся экзСмпляром скрипта ΠΏΡ‚ΠΈΡ‡ΠΊΠΈ со своим ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ состояниСм; для любого ΡŽΠ½ΠΈΡ‚Π° Π² стратСгии создаСтся экзСмпляр скрипта ΡŽΠ½ΠΈΡ‚Π°, содСрТащий Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ количСство ΠΆΠΈΠ·Π½Π΅ΠΉ, ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° ΠΏΠΎΠ»Π΅ ΠΈ Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ†Π΅Π»ΡŒ; ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ пяти Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠΊΠΎΠ½ΠΎΠΊ обСспСчиваСтся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ экзСмплярами ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ скриптов, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ шага скрипты HUDManager ΠΈ ScoresManager всСгда ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² СдинствСнном экзСмплярС. Для ΠΈΡ… взаимодСйствия Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ «синглтон» (Singleton, ΠΎΠ½ ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠ°).
Π’ классС ScoresManager опишСм статичСскоС свойство Ρ‚ΠΈΠΏΠ° ScoresManager, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ СдинствСнный экзСмпляр ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΎΡ‡ΠΊΠΎΠ²:

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свойство Instance экзСмпляром класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт срСда Unity3D. Π’Π°ΠΊ ΠΊΠ°ΠΊ ScoresManager наслСдник MonoBehaviour, Ρ‚ΠΎ ΠΎΠ½ участвуСт Π² ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ всСх Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… скриптов Π² сцСнС ΠΈ Π²ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ скрипта Ρƒ Π½Π΅Π³ΠΎ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Awake. Π’ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΡ‹ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ свойства Instance:

ПослС Ρ‡Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ScoresManager ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптов ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅Ρ‚ нСобходимости Π² HUDManager ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° ScoresManager ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Unity3D, любой «скрипт-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Β» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ доступ ΠΊ сСбС Ρ‡Π΅Ρ€Π΅Π· статичСскоС свойство Instance, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Awake.

ΠŸΠ»ΡŽΡΡ‹

β€” Π½Π΅Ρ‚ нСобходимости ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ скрипта ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Unity3D.
β€” ΠΌΠΎΠΆΠ½ΠΎ смСло Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Ссли Ρ‡Ρ‚ΠΎ ΠΈ отвалится, Ρ‚ΠΎ компилятор даст Π·Π½Π°Ρ‚ΡŒ.
β€” ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ «скриптам-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΒ» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΏΡ€Π΅Ρ„Π°Π±ΠΎΠ², Ρ‡Π΅Ρ€Π΅Π· свойство Instance.

ΠœΠΈΠ½ΡƒΡΡ‹

β€” ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ обСспСчиваСт доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ «скриптам-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΒ», ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π² СдинствСнном экзСмплярС.
β€” сильная ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ.
На послСднСм «минусС» остановимся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.
ΠŸΡƒΡΡ‚ΡŒ ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ³Ρ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ пСрсонаТи (unit) ΠΈ эти пСрсонаТи ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ³ΠΈΠ±Π°Ρ‚ΡŒ (die).
Π“Π΄Π΅-Ρ‚ΠΎ находится участок ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт Π½Π΅ ΠΏΠΎΠ³ΠΈΠ± Π»ΠΈ наш пСрсонаТ:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ пСрсонаТ послС совСй смСрти Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π·ΠΎΡΠ»Π°Ρ‚ΡŒ всСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅ΠΉ заинтСрСсованы этот ΠΏΠ΅Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΎ сущСствовании этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ. НС слишком Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Π½ΠΈΠΉ, для малСнького ΡŽΠ½ΠΈΡ‚Π°?
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ³Ρ€Π°, ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΎΡ‡Π΅Π½ΡŒ связанная структура, Ρ‚ΠΎ ΠΈ события происходящиС Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈ, ΡŽΠ½ΠΈΡ‚ Ρ‚ΡƒΡ‚ Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ особСнный.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… событий (Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС):
β€” УсловиС ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ уровня зависит ΠΎΡ‚ количСства Π½Π°Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ², Π½Π°Π±Ρ€Π°Π»ΠΈ 1000 ΠΎΡ‡ΠΊΠΎΠ² – ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ (LevelConditionManager связан с ScoresManager).
β€” Когда Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌ 500 ΠΎΡ‡ΠΊΠΎΠ², достигаСм Π²Π°ΠΆΠ½ΡƒΡŽ ΡΡ‚Π°Π΄ΠΈΡŽ прохоТдСния уровня, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π²Π΅ΡΠ΅Π»ΡƒΡŽ мСлодию ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ эффСкт (ScoresManager связан с EffectsManager ΠΈ SoundsManager).
β€” Когда пСрсонаТ восстанавливаСт Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ эффСкт лСчСния Π½Π°Π΄ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ пСрсонаТа Π² ΠΏΠ°Π½Π΅Π»ΠΈ пСрсонаТа (UnitsPanel связан с EffectsManager).
β€” ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΈΡ… связСй ΠΌΡ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ, Π³Π΄Π΅ всС ΠΏΡ€ΠΎ всСх всС Π·Π½Π°ΡŽΡ‚:

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. . unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ со ΡΠΌΠ΅Ρ€Ρ‚ΡŒΡŽ пСрсонаТа Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½, ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΎ смСрти (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ событии) ΡˆΠ΅ΡΡ‚ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Π½Π΅ Ρ‚Π°ΠΊ часто приходится. Но Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ событии Π² ΠΈΠ³Ρ€Π΅, функция, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ событиС, сообщаСт ΠΎΠ± этом 2-3 Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ встрСчаСтся сплошь ΠΈ рядом ΠΏΠΎ всСму ΠΊΠΎΠ΄Ρƒ.
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ пытаСтся Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 3. ΠœΠΈΡ€ΠΎΠ²ΠΎΠΉ эфир (Event Aggregator)

Π’Π²Π΅Π΄Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Β«EventAggregatorΒ», основная функция ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ список событий, происходящих Π² ΠΈΠ³Ρ€Π΅.
Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π² ΠΈΠ³Ρ€Π΅ β€” это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° сСбя, Ρ‚Π°ΠΊ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этого события. РСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° события ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой Π½Π° вкус Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ языка ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свою Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ события ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (ΠΎ смСрти ΡŽΠ½ΠΈΡ‚Π°):

ДобавляСм это событиС Π² Β«EventAggregatorΒ»:

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

А любой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ интСрСсно это событиС, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° количСство Π½Π°Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡ΠΊΠΎΠ²):

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

unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. . unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ‚ΠΎ. unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unity ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . ПовСдСниС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² контролируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Components), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊ Π½ΠΈΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Unity ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ разносторонними, вскорС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… возмоТностСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши собствСнныС особСнности гСймплСя. Unity позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скрипты. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ события, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ способом.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Говоря, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ мСняСтся, я ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π»ΡƒΠΊΠ°Π²Π»ΡŽ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ систСму достиТСний ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ просто Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈΡΡŒ Π² ΠΈΠ³Ρ€Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π½ΠΈ ΠΎΠ΄Π½Ρƒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ систСму Π΄ΠΎ этого Π½Π΅ интСрСсовали. И Π² этом случаС, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π½ΠΎΠ²Ρ‹Π΅ события Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ ΠΈ ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡ… ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ. Но Π² идСальной ΠΈΠ³Ρ€Π΅ ΡƒΠΆΠ΅ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ события Π΅ΡΡ‚ΡŒ ΠΈ эфир Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ ΠΈΠΌΠΈ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ.

ΠŸΠ»ΡŽΡΡ‹

β€” Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΌΠ½Π΅ достаточно просто ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ событиС, Π° ΠΊΠΎΠ³ΠΎ ΠΎΠ½ΠΎ интСрСсуСт Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
β€” Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², я просто ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡΡŒ Π½Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΌΠ½Π΅ события.
β€” ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±Π΅Π· измСнСния Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅.

ΠœΠΈΠ½ΡƒΡΡ‹

β€” Π½ΡƒΠΆΠ½ΠΎ постоянно ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ события ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² ΠΌΠΈΡ€.
β€” Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ атомарности.

ПослСдний минус рассмотрим Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«ObjectAΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«MethodAΒ». ΠœΠ΅Ρ‚ΠΎΠ΄ Β«MethodAΒ», состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… шагов ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя Ρ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ эти шаги ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (Β«MethodA1Β», Β«MethodA2Β» ΠΈ Β«MethodA3Β»). Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Β«MethodA2Β» происходит публикация ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ события. И Ρ‚ΡƒΡ‚ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: всС ΠΊΡ‚ΠΎ подписан Π½Π° это событиС Π½Π°Ρ‡Π½ΡƒΡ‚ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, выполняя ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ свою Π»ΠΎΠ³ΠΈΠΊΡƒ. Π’ этой Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ публикация Π΄Ρ€ΡƒΠ³ΠΈΡ… событий, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… событий ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π”Π΅Ρ€Π΅Π²ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ сильно Ρ€Π°Π·Ρ€Π°ΡΡ‚ΠΈΡΡŒ. Π’Π°ΠΊΠΈΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ тяТСло ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.
Но самая ΡΡ‚Ρ€Π°ΡˆΠ½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, которая Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ, это ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Β«ObjectAΒ» ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ событиС ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β«MethodBΒ». ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«MethodAΒ» Ρƒ нас Π΅Ρ‰Π΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» всС шаги, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π» ΠΏΡ€Π΅Ρ€Π²Π°Π½ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ шагС, ΠΈ содСрТит сСйчас Π² сСбС Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅ состояниС (Π² шагС 1 ΠΈ 2 ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ послСднСС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· шага 3 Π΅Ρ‰Π΅ Π½Π΅ сдСлали) ΠΈ ΠΏΡ€ΠΈ этом начинаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Β«MethodBΒ» Π² этом ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, имСя это Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅ состояниС. Π’Π°ΠΊΠΈΠ΅ ситуации ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ ошибки, ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ, приводят ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ порядок Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ событий, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Ρ‚ нСобходимости ΠΈ вводят Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.

РСшСниС

Π Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π΅ слоТно, достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° событиС. Π’ качСствС простой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ завСсти Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ события. Когда событиС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, ΠΌΡ‹ Π½Π΅ выполняСм Π΅Π³ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π° просто сохраняСм Π³Π΄Π΅-Ρ‚ΠΎ Ρƒ сСбя. И Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ наступлСния ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΈΠ³Ρ€Π΅ (Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Update, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) ΠΌΡ‹ провСряСм Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… событий ΠΈ выполняСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ссли Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ события.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β«MethodAΒ» Π½Π΅ происходит Π΅Π³ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ событиС всС заинтСрСсованныС Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ сСбС Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊ заинтСрСсованным подписчикам Π΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΎΠ½ΠΈ достанут ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° событиС ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΅Π³ΠΎ. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ вСсь Β«MethodAΒ» Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ ΠΈ Β«ObjectAΒ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅ состояниС.

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

ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² скрипты ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Unity3d, Ρ‡.1

Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ MyObject.
Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ доступСн ΠΏΠΎ ссылку myObject.

Поиск ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Π’Π΅Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для помСчания Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² со сходными свойствами, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² Π΅Π΄ΠΈΠ½ΠΎΠΉ сцСнС.
Поиск ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ Ρ‚Π΅Π³Ρƒ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ СдинствСнный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ‚Π΅Π³ΠΎΠΌ:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ‚Π΅Π³Π°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли Ρƒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° имССтся Ρ‚Π΅Π³ MyTag:

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, послС Π΅Π³ΠΎ создания:

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ component, привязанный ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ GameObject, Π»ΠΈΠ±ΠΎ null, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ содСрТит Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для доступа ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ скриптам, привязанным ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠ° componentType.

ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ myComponent ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ GameObject ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° Π½Π΅Π³ΠΎ.

ПолоТСниС ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Бвойство transform ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° GameObject содСрТит Π² сСбС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΌΠΈΡ€Π΅. ВозвращаСмая Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Vector3, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт ΠΈΠ· сСбя список ΠΈΠ· 3 ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ β€” x, y ΠΈ z:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Ρ‚ΠΎΡ‡ΠΊΡƒ 0, 10, 0 ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°.

Π’ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Π² случаС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π½ΠΎ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ€Π°ΡΡΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ случаС отсутствия Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ:

ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΡƒΠ³Π»Π°Ρ… Π­ΠΉΠ»Π΅Ρ€Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Vector3:

Π’ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° рассчитываСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡƒΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, основанный Π½Π° ΠΊΠ²Π°Ρ‚Π΅Ρ€Π½ΠΈΠΎΠ½Π°Ρ…. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Quaternion.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, основанный Π½Π° ΠΊΠ²Π°Ρ‚Π΅Ρ€Π½ΠΈΠΎΠ½Π°Ρ…, Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Бброс ΡƒΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π’Ρ€Π°Ρ‰Π°Π΅ΠΌ наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ сторону со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 1 градус Π² сСкунду. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Vector3. ΠœΠ΅Ρ‚ΠΎΠ΄ deltaTime ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Time содСрТит врСмя Π² сСкундах, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Π΄Ρ€Π°:

Π’ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ родитСля:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 1 ΡŽΠ½ΠΈΡ‚ Π² сСкунду. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Vector3:

ЀизичСскиС свойства ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ΠœΠ΅Ρ‚ΠΎΠ΄ rigidbody ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° GameObject Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС Π΅Π³ΠΎ физичСскиС свойства. ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ rigidbody, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ/Π·Π°Π΄Π°Π΅ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ скорости ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π‘ΠΈΠ»Π° противодСйствия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для замСдлСния скорости, Π² срСдС с ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ силой трСния. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для замСдлСния ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ создании ΠΏΠ°Ρ€Π°ΡˆΡŽΡ‚Π°. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ†Π΅Π»ΠΎΠ΅ число:

Π—Π°Π΄Π°Π½ΠΈΠ΅ массы ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массу Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 0.1 Π΄ΠΎ 10. ИспользованиС слишком Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСпрСдсказуСмым Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΈ расчСтС Ρ„ΠΈΠ·ΠΈΠΊΠΈ:

ВлияниС Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ влияниС Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:

ВлияниС Ρ„ΠΈΠ·ΠΈΠΊΠΈ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ частично, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ влияниС физичСских Π·Π°ΠΊΠΎΠ½ΠΎΠ² Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Π—Π°ΠΏΡ€Π΅Ρ‚ Π½Π° Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° Π΄Π°ΠΆΠ΅ послС столкновСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ:

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π° массы ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Vector3.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ столкновСний с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. МоТно Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ρ‚ΠΎΠ³Π΄Π° ваш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ столкновСния:

Π Π΅ΠΆΠΈΠΌ опрСдСлСния столкновСний ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²:
CollisionDetectionMode.ContinuousDynamic для быстро двиТущихся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²;
CollisionDetectionMode.Continuous для столкновСний с быстро двиТущимися ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ;
CollisionDetectionMode.Discrete (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… столкновСний;
Π’ случаС отсутствия ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ столкновСний рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π—Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ примСнСния ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ силС ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ с Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Π² Π΅Π³ΠΎ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°) систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ крутящий ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° заставит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ своСго Ρ†Π΅Π½Ρ‚Ρ€Π° масс GameObject.rigidbody.centerOfMass.

Π’ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΈΠ· внСшнСй ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ. ЗаставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для симуляции попадания Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡƒΠ»ΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ направлСния силы, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ направлСния силы.

Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ симуляции ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Ρ… Π²Π·Ρ€Ρ‹Π²ΠΎΠ² Π² Unity3D Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ исходит ΠΈΠΌΠΏΡƒΠ»ΡŒΡ, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” радиус распространСния ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°, Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сТатия сфСры распространСния силы, пятый, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°:

Π—Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«ΡƒΡΠ½ΡƒΡ‚ΡŒΒ», ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ дальнСйший расчСт физичСских ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ для Π½Π΅Π³ΠΎ:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ «заснул» Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Β«Π Π°Π·Π±ΡƒΠ΄ΠΈΡ‚ΡŒΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для возмоТности дальнСйшСго примСнСния влияния Ρ„ΠΈΠ·ΠΈΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ:

Врассировка Π»ΡƒΡ‡Π΅ΠΉ

Один ΠΈΠ· самых часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Unity3D ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, это Ray. Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ позволяСт Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ смог Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса RaycastHit, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ столкнулся Π»ΡƒΡ‡:

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ Π»ΡƒΡ‡ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 50 ΡŽΠ½ΠΈΡ‚ΠΎΠ² ΠΈΠ· ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ rayPosition Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ rayVector, ΠΈ заносим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ столкнулся Π»ΡƒΡ‡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ hit:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄ΠΈΡΡ‚Π°Π½Ρ†ΠΈΡŽ Π΄ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ столкнулся Π»ΡƒΡ‡. Дистанция Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΡ‚ΡΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Π»ΡƒΡ‡Π°:

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ столкновСниС Π»ΡƒΡ‡Π°. НаиболСС простой способ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

Для получСния Ρ‚Π΅Π³Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ способ:

Unity3D содСрТит Π΅Ρ‰Π΅ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ. К соТалСнию ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΈΡ… ΠΎΠ±Π·ΠΎΡ€ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ» Π±Ρ‹ ΠΈ Π±Π΅Π· Ρ‚ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ, поэтому я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Ссли ΠΌΠ½Π΅ прСдставится такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Π― Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠΆΠ΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ побольшС интСрСсных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ β€” успСхов ΠΈ интСрСсных ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΉ. Бпасибо, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π΅Π»ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

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

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

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