Целочисленные переменные

Доброго всем времени суток, давайте рассмотрим целочисленные переменные. Как понятно из названия это целые числа, они могут быть как отрицательные так и положительные. Например целочисленными переменными может быть количество патронов в вашем автомате, или количество юнитов в вашем отряде.

 

Например переменная xколичество патронов в вашем автомате. Изначально к примеру ‘x’=30 вы стреляете из автомата и становится количество патронов на один меньше, и собственно переменная становится на один меньше. К примеру xбыл равен 30, потом 29 и так далее затем патроны оканчиваются и xстановится равен 0, после перезарядки вашего магазина автомата, вы получаете опять 30.

 

Давайте рассмотрим восемь типов переменных. Их можно поделить на два подтипа, те которые только положительны и те которые симметричны относительно нуля.

 

Тип

Размер в битах

Диапазон

byte

8

0 : 255

sbyte

8

128 :127

short

16

32768 : 32767

ushort

16

0 : 65535

int

32

2147483648 : 2147483647

uint

32

0 : 4294967295

long

64

-9223372036854775808 : 9223372036854775807

ulong

64

0 : 18446744073709551615

Диапазон это значения которые может принимать переменная, если у вас будет меньше или больше то у вас будет вылетать ошибка, и будет необходимо выбрать иной тип переменной. Размер в битах, это сколько памяти отводится на эту переменную, советую сразу, лучше использовать по возможности как можно меньше памяти. Так как если у вас все будет измеряться все в типе long‘, тогда ваша игра будет очень требовательной, хоть игра может быть просто бредом, а требовать будет просто дофига оперативки и иного и в вашу игру вряд ли кто сможет поиграть. Так что код лучше писать компактно, и чтобы все хорошо работало.

 

Так к примеру для того чтобы задать количество патронов к вашему автомату лучше использовать переменную byte. Так как она всегда положительная, а вам отрицательные значения ненужны, ведь не может быть в магазине автомата -30 патронов. Ну и больше 255 значения вам тоже скорее всего не понадобятся, так как не припомню я автоматов с таким количеством патронов. Соответственно здесь использовать тип переменной longкак минимум бред. На самом деле это не сильно сказывается, учитывая современные компьютеры, и по умолчанию используется тип int‘. Но все равно чем меньшее значение будем использовать тем лучше.

 

Рассмотрим создание переменных и их объявление. Пока рассмотрим просто в локальной функции, без всяких приватных и публичных переменных. Просто рассмотрим самый простой тип объявления переменной.

 

Запускаем Unity3d создаем новый урок, я создал Lessons3, и открываем его в текстовом редакторе.

 

Для того чтобы объявить переменную необходимо сначала указать её тип используем наш тип по умолчанию int‘, если выделилось синим то тип указан правильно. Далее мы указываем имя, имя может иметь любой набор букв из английского алфавита, но лучше задавать что-то понятное. Так как мы делаем пример переменной для наших патронов, то давайте используем что-то простенькое, например считать count. Теперь через равно нам необходимо указать значение этих патронов, указываем 30, если у вас в автомате иное количество патронов то задайте какое хотите значение, в доступном диапазоне. Теперь ставим точку с запятой, потому что если не поставим будет ошибка, это синтаксис языка, как в русском языке точка, к примеру. И давайте её выведем на экран, как в прошлой статье, пишем Debug.Log, и сюда в скобках необходимо указать название переменной которую необходимо вывести на экран. Получается так Debug.Log(count); не забываем ставить точку с запятой.

 

В общем у вас должна получиться вот такая запись.

Пишем урок с переменной
Dante

 

Теперь сохраняем, заходим в наш Unity и не забываем прикрепить скрипт к камере, а то не будет работать. Теперь запускаем и у нас выводится число 30.

Запускаем скрипт с переменной
Dante

 

Как видим все работает, 30ть патронов в магазине автомата.

 

Теперь попробуем сделать нечто типа действий, что-то с числами. Например выстрел, ниже Debug.Log, пишем название переменной count, дальше приравниваем её к следующему значению, пишем равно, и следующее значение то есть count-1, ставим точку с запятой. Получается вот такая строка

 

count=count-1;

 

и ниже чтобы увидеть вывод нашего выстрела пишем Debug.Log (count); вот такое получается.

Создаем первый скрипт действия
Dante

 

Запускаем нашу игру и смотрим было 30, стало 29, мы выстрелили один патрон. Это хорошо.

Работа первого скрипта выстрела
Dante

 

Такая строчка count=count-1; немного не рациональна, есть более короткая запись. Пишем переменную, затем действие затем равно и значение на которое данное действие происходит. Не знаю понятно ли я сказал, получается запись вот такого вида:

 

count-=1;

 

Данная запись равнозначна той что была. Можете задать иное число, ну например 2, выстрелили два патрона, и видим что получилось 28.

Выстрел двух патронов
Dante

 

Есть еще такая запись, еще более короткая. Вычесть единицу и прибавить единицу. Выглядит она как

 

count—;

count++;

 

Данная запись просто вычтет или прибавит единицу из нашей переменной. Данная запись есть только для единиц. Так же работают и иные действия, например умножение, если нам к примеру необходимо узнать сколько у нас патронов, а мы имеем семь магазинов:

 

count*=7;

 

Получаем 210, можете сами проверить в Unity3d.

И еще для того чтобы нам объявить переменную типа long‘, задаем переменную longи когда пишем значение переменной добавляем букву ‘L‘, для того чтобы уточнить что это именно long‘. И если мы там напишем здоровенное число из longдиапазона, игра не выдаст нам ошибку, если не писать ничего то будет думать что это int‘. Хотя в нынешнем Unity3d вроде ошибку эту не выдает, но если вдруг, то будете знать. Вот подобным образом

 

long count = 30L;

 

Надеюсь все описанное понятно, и удачи всем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *