Четверг, 16 Августа 2018, 17:44

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [309]
Статьи об общих понятиях связанных с созданием игр.
Программирование [69]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [123]
Статьи о программах для создания игр, уроки и описания.
Софт [27]
Различные программы, в том числе в помощь игроделам.
2D-графика [11]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [10]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [4]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [81]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [63]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Для какой операционной системы пишите игры?
Всего ответов: 17427
Главная » Статьи » Создание игр

Unity3D Как сделать систему Score
Здравствуйте уважаемые. В этом уроке мы будем рассматривать реализацию очков в Unity. Ну, давайте приступим.
Для начала мы создадим скрип C# "Score". Мы объявим в нём переменную:
Code

public int Score;

Это будет сама переменная очков. Мы делаем её целым числом (int). Теперь давайте выводить её на экран. Мы рассмотрим метод OnGUI().
Создаём его в скрипте:
Code

void OnGUI(){

}

В этом методе рассматривается весь GUI. Давайте добавим текст с обозначением очков. Это делается так:
Code

GUI.Label(new Rect(10, 10, 100, 100), "Score: " Score);

Рассмотрим, что мы сделали. Мы создали лейбел. То бишь текст. Мы указали Rect. Я привык делать его отдельной переменной, например "public Rect variable;".
Но тут особо настраивать не нужно. Мы поместим кол-во очков в верхний левый угол.
Давайте теперь повесим этот скрипт наш на игрока.
Теперь давайте сделаем объект, при столкновении с которым у нас будут пополняться очки.
Перед этим не забудем игроку дать имя "Player". Так как мы будем его по нему искать.
Создадим скрипт "AddScore". В нём создаём переменную игрока.
Code

public GameObject Player;

Теперь давайте в методе старта найдём нашего игрока по имени:
Code

void Start(){
Player = GameObject.Find("Player");
}

Теперь сделаем так, чтобы при столкновении с объектом, на котором висит этот скрипт у игрока повышались очки. Для этого мы будем использовать "void OnCollisionEnter(Collision variable)". И проверим коллизию с игроком.
Code

void OnCollisionEnter(Collision variable){
if(variable.gameObject == Player){
Player.GetComponent<Score>().Score += 10;
Destroy(gameObject);
}
}

Мы сделали при столкновении с объектом прибавление очков на 10 и уничтожаем этот объект.
Теперь вешаем этот скрипт на, допустим, простую сферу и тестируем. Всё должно работать!
Спасибо за внимание.
Категория: Создание игр | Добавил: Nekit_Aut (01 Июня 2012) | Автор: Курбатов Никита Алексеевич
Просмотров: 18419 | Комментарии: 7 | Рейтинг: 4.4/13 |
Теги: Unity, очки, UnityScript, Unity3D, C#, Score, Скрипты
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Unity3D Как сделать систему Score», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 7
+2-
7 Nekit_Aut   (03 Июня 2012 22:33)
Nekit_AutJHawk, Instantiate(переменная префаба обьекта, позиция появления, поворот появления);

+-2-
6 JHawk   (03 Июня 2012 20:28)
JHawkNekit_Aut а что бы обьект появился, что писать вместо destroy???

+2-
5 JHawk   (03 Июня 2012 17:53)
JHawkНекит, большое тебе спасибо!

+2-
4 kazenostro   (03 Июня 2012 15:50)
kazenostroочень познавательно спасибо большое

+1-
3 MadMax52   (03 Июня 2012 00:26)
MadMax52Все бы хорошо, но ты не добавил получившийся скрипт целиком в конец статьи.

+2-
1 Fr0sT   (01 Июня 2012 21:21)
Fr0sTКруто круто!!!Обожаю твои уроки)))Всё просто класс!!!!!

+1-
2 Nekit_Aut   (01 Июня 2012 21:49)
Nekit_AutМмм? Спасибо огромное =) В ближайшее время постараюсь написать ещё один happy

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • HiAsm
  • Oddity Engine
  • Realm Crafter
  • 0m3ga VNE
  • Arcade Game Designer
  • EGSL
  • Raydium Engine
  • FBA
  • Torque 3D
  • RuneSword
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2018 Рейтинг