Unity 3D. Основы скриптинга на C#. Часть 1. - Форум Игроделов
Пн, 06 Май 2024, 04:55 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Unity 3D. Основы скриптинга на C#. Часть 1.
Unity 3D. Основы скриптинга на C#. Часть 1.
Zer0nДата: Пн, 10 Янв 2011, 13:17 | Сообщение # 1
 
Сообщений: 880
Награды: 23
Репутация: 516
Статус: Offline
Требуемые знания Юнити: начальные.
Требуемые знания С#: начальные.
Здравствуйте, сегодня я покажу вам основы скриптинга в движке Unity 3D на C#. Для работы нам понадобится, как понятно - сам Unity3D (я пользуюсь версией 3.1, последней на данный момент, но все должно работать и на 3.0, и на 2.x) и какой-нибудь редактор кода. Стандартный Юнайтовский редактор никуда не годится, т.к. мало возможностей - мнения типа "для обучения сойдет" бред, потому что все равно потом придется перейти на VS. Для C# приходится выбирать между Visual Studio Professional (с версией Express все немного по другому) и MonoDevelop (идет в поставке с Юнити, но возможностей меньше). Я выбираю первый. Скачиваем триалку отсюда.


После того, как вы установили Visual Studio Professional, приступим к настройке. Создадим новый проект (File->New Project) в пути без кириллицы, т.к. с ней у Unity бывают иногда проблемы. В моем случае я выбрал путь D:\MyProjects\Urok1.
Не ставьте никаких галочек рядом с пакетами ассетов - в этом уроке они не понадобятся.

Выберем в меню Edit->Preferences. Появится вот такое окошко:

Если вы правильно поставили студию, то в списке External Script Editor можно быть ее выбрать.
Создадим в Project View папочку _Scripts. Там создадим наш первый скрипт на C#. Переименуем его в myFirstScript.
Щелкнем два раза по нему.
Через несколько секунд откроется студия со скриптом.

Как видим, во вкладочке справа открыт Scripting Reference - незаменимый помощник в скриптинге.
Давайте разберем скрипт по полочкам.
Code
using UnityEngine;
using System.Collections;

Здесь все просто - просто подключаем библиотеки кода для работы, а точнее для распознования кода, т.к. компилируем мы не через студию, а через Unity. Студия тут - просто редактор кода.
Code
public class NewBehaviourScript : MonoBehaviour

Базовый класс для всех классов-скриптов Unity - MonoBehaviour, поэтому наследуем его.
Внимание: название класса должно быть то же самое, что и у файла со скриптом (myFirstScript в данном случае)!
Code

   void Start () {
     
   }
     
   // Update is called once per frame
   void Update () {
     
   }

Собственно, внутри таких функций и пишется весь код скрипта. По умолчанию создается только две функции (Start (инициализация скрипта) и Update (выполняется в каждом кадре)). Названия таких функций уже "забиты" в движок, и компилятор Юнити их подхватывает при работе. Вот так все продуманно.


Давайте заставим наш скрипт делать что-то. Как всегда, это будет "Hello, world!". happy Причем выводить будем аж двумя способами. Добавим в начало скрипта, объявления класса такой код:
Code

      public string outString; // переменная для строки, которую будем выводить. Если мы сделаем ее public, то ее можно будет   
                     // прямо в Inspector'е Unity.

А в функцию Start впишем:
Code

         Debug.Log(outString); // выведем в отладочную консоль Unity нашу строку

Пишем именно в Start, а не в Update, иначе код будет выполняться каждый кадр.
Сохраним код (Ctrl+S) и перейдем в Unity. Создадим пустой ГО (меню GameObject->Create Empty) и перетащим на него наш скрипт. Вид Inspector изменился.

Видите поле Out String? Вот, через него как раз можно редактировать переменную. cool Введем в него "Hello, World!". Жмем Play. Что же видим? Внизу, в консоли отобразилась наша строка - то, что хотели.



Вам не кажется, что этого маловато? Тогда давайте сделаем так, чтобы наша строка показывалась на экране игры.
Создадим функцию OnGUI (). В ней-то и нужно писать операции с GUI (интерфейсом пользователя). Далее, выведем через метод Label наш текст.
Code

      void OnGUI()
      {
          GUI.Label(new Rect(10, 10, 150, 20), outString); // Rect определяет позиция и размер нашего текста
      }

Смотрим, что получилось.



Всем пока, ждите следующих частей!


Готовый скрипт:
Code

using UnityEngine;
using System.Collections;

public class myFirstScript : MonoBehaviour {

     public string outString; // переменная для строки, которую будем выводить. Если мы сделаем ее public, то ее можно будет  
                    // прямо в Inspector'е Unity.
  // Use this for initialization
  void Start () {
         Debug.Log(outString); // выведем в отладочную консоль Unity нашу строку
  }

     void OnGUI()
     {
         GUI.Label(new Rect(10, 10, 150, 20), outString); // Rect определяет позиция и размер нашего текста
     }
  // Update is called once per frame
  void Update () {
          
  }
}

Добавлено (10.01.2011, 13:17)
---------------------------------------------
Кому что-то непонятно по C# - это урок по API Юнити, почитайте несколько первых уроков тут:
тыц




Сообщение отредактировал Zer0n - Пн, 10 Янв 2011, 13:09
 
СообщениеТребуемые знания Юнити: начальные.
Требуемые знания С#: начальные.
Здравствуйте, сегодня я покажу вам основы скриптинга в движке Unity 3D на C#. Для работы нам понадобится, как понятно - сам Unity3D (я пользуюсь версией 3.1, последней на данный момент, но все должно работать и на 3.0, и на 2.x) и какой-нибудь редактор кода. Стандартный Юнайтовский редактор никуда не годится, т.к. мало возможностей - мнения типа "для обучения сойдет" бред, потому что все равно потом придется перейти на VS. Для C# приходится выбирать между Visual Studio Professional (с версией Express все немного по другому) и MonoDevelop (идет в поставке с Юнити, но возможностей меньше). Я выбираю первый. Скачиваем триалку отсюда.


После того, как вы установили Visual Studio Professional, приступим к настройке. Создадим новый проект (File->New Project) в пути без кириллицы, т.к. с ней у Unity бывают иногда проблемы. В моем случае я выбрал путь D:\MyProjects\Urok1.
Не ставьте никаких галочек рядом с пакетами ассетов - в этом уроке они не понадобятся.

Выберем в меню Edit->Preferences. Появится вот такое окошко:

Если вы правильно поставили студию, то в списке External Script Editor можно быть ее выбрать.
Создадим в Project View папочку _Scripts. Там создадим наш первый скрипт на C#. Переименуем его в myFirstScript.
Щелкнем два раза по нему.
Через несколько секунд откроется студия со скриптом.

Как видим, во вкладочке справа открыт Scripting Reference - незаменимый помощник в скриптинге.
Давайте разберем скрипт по полочкам.
Code
using UnityEngine;
using System.Collections;

Здесь все просто - просто подключаем библиотеки кода для работы, а точнее для распознования кода, т.к. компилируем мы не через студию, а через Unity. Студия тут - просто редактор кода.
Code
public class NewBehaviourScript : MonoBehaviour

Базовый класс для всех классов-скриптов Unity - MonoBehaviour, поэтому наследуем его.
Внимание: название класса должно быть то же самое, что и у файла со скриптом (myFirstScript в данном случае)!
Code

   void Start () {
     
   }
     
   // Update is called once per frame
   void Update () {
     
   }

Собственно, внутри таких функций и пишется весь код скрипта. По умолчанию создается только две функции (Start (инициализация скрипта) и Update (выполняется в каждом кадре)). Названия таких функций уже "забиты" в движок, и компилятор Юнити их подхватывает при работе. Вот так все продуманно.


Давайте заставим наш скрипт делать что-то. Как всегда, это будет "Hello, world!". happy Причем выводить будем аж двумя способами. Добавим в начало скрипта, объявления класса такой код:
Code

      public string outString; // переменная для строки, которую будем выводить. Если мы сделаем ее public, то ее можно будет   
                     // прямо в Inspector'е Unity.

А в функцию Start впишем:
Code

         Debug.Log(outString); // выведем в отладочную консоль Unity нашу строку

Пишем именно в Start, а не в Update, иначе код будет выполняться каждый кадр.
Сохраним код (Ctrl+S) и перейдем в Unity. Создадим пустой ГО (меню GameObject->Create Empty) и перетащим на него наш скрипт. Вид Inspector изменился.

Видите поле Out String? Вот, через него как раз можно редактировать переменную. cool Введем в него "Hello, World!". Жмем Play. Что же видим? Внизу, в консоли отобразилась наша строка - то, что хотели.



Вам не кажется, что этого маловато? Тогда давайте сделаем так, чтобы наша строка показывалась на экране игры.
Создадим функцию OnGUI (). В ней-то и нужно писать операции с GUI (интерфейсом пользователя). Далее, выведем через метод Label наш текст.
Code

      void OnGUI()
      {
          GUI.Label(new Rect(10, 10, 150, 20), outString); // Rect определяет позиция и размер нашего текста
      }

Смотрим, что получилось.



Всем пока, ждите следующих частей!


Готовый скрипт:
Code

using UnityEngine;
using System.Collections;

public class myFirstScript : MonoBehaviour {

     public string outString; // переменная для строки, которую будем выводить. Если мы сделаем ее public, то ее можно будет  
                    // прямо в Inspector'е Unity.
  // Use this for initialization
  void Start () {
         Debug.Log(outString); // выведем в отладочную консоль Unity нашу строку
  }

     void OnGUI()
     {
         GUI.Label(new Rect(10, 10, 150, 20), outString); // Rect определяет позиция и размер нашего текста
     }
  // Update is called once per frame
  void Update () {
          
  }
}

Добавлено (10.01.2011, 13:17)
---------------------------------------------
Кому что-то непонятно по C# - это урок по API Юнити, почитайте несколько первых уроков тут:
тыц


Автор - Zer0n
Дата добавления - 10 Янв 2011 в 13:17
DartDim[]nДата: Пт, 27 Май 2011, 09:04 | Сообщение # 2
 
Сообщений: 286
Награды: 2
Репутация: 130
Статус: Offline
Zer0n, у Visual Studio Professional все 4 файла качать что ли?

 
СообщениеZer0n, у Visual Studio Professional все 4 файла качать что ли?

Автор - DartDim[]n
Дата добавления - 27 Май 2011 в 09:04
FunnyAlienДата: Пт, 27 Май 2011, 10:45 | Сообщение # 3
NYAN-NYAN?
 
Сообщений: 3643
Награды: 14
Репутация: 835
Статус: Offline
DartDim[]n, учи JS по моим урокам.

Добавлено (27.05.2011, 10:45)
---------------------------------------------
http://gamecreatingcommunity.ru/forum/70-2521-1
http://gamecreatingcommunity.ru/forum/70-2780-1


Согласно протоколу испытаний, начиная с этого момента, мы перестаем говорить правду. Три, два, один.
 
СообщениеDartDim[]n, учи JS по моим урокам.

Добавлено (27.05.2011, 10:45)
---------------------------------------------
http://gamecreatingcommunity.ru/forum/70-2521-1
http://gamecreatingcommunity.ru/forum/70-2780-1


Автор - FunnyAlien
Дата добавления - 27 Май 2011 в 10:45
СкептикДата: Пт, 27 Май 2011, 13:18 | Сообщение # 4
Мыслитель
 
Сообщений: 5860
Награды: 48
Репутация: 1731
Статус: Offline
DartDim[]n, все 4.

Фанат игр Max Payne и Fahrenheit.
 
СообщениеDartDim[]n, все 4.

Автор - Скептик
Дата добавления - 27 Май 2011 в 13:18
Zer0nДата: Пт, 27 Май 2011, 16:48 | Сообщение # 5
 
Сообщений: 880
Награды: 23
Репутация: 516
Статус: Offline
DartDim[]n, да, это 4 части одного образа.
FunnyAlien, шарп все равно для реальных посонов. biggrin


 
СообщениеDartDim[]n, да, это 4 части одного образа.
FunnyAlien, шарп все равно для реальных посонов. biggrin

Автор - Zer0n
Дата добавления - 27 Май 2011 в 16:48
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Unity 3D. Основы скриптинга на C#. Часть 1.
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024