Совет
Очень важно присвоить переменной содержательное имя. Оно должно отражать выполняемую ей задачу. Например, если переменная предназначена для хранения имени пользователя, ее лучше назвать, допустим, "userName". Позднее, просматривая код, вы сразу поймете, для чего используется данная переменная.
В переменную можно также помещать строки. Строка – это последовательность символов наподобие «Hello World». Так же как и число, строку можно сохранить в переменной при помощи символа =.
myVariable = «Hello World»;
Переменные во Flash не делятся на типы. Классификация переменных – это ограничение типа данных, хранимых в данной переменной, которое применяется в других языках программирования. Это означает, что если переменная предназначена для хранения чисел, она может использоваться только для хранения чисел, но не для хранения строк. В ActionScript нет такого ограничения, поэтому любая переменная может хранить любые объекты, например числа или строки.
Помимо чисел и строк переменные могут содержать другие элементы, например указатель клипа. Вспомните, как в двух предыдущих уроках использовался элемент this для ссылки на текущий клип. Вы можете присвоить значение this переменной и с ее помощью ссылаться на клип.
Использование подобных элементов помогает управлять роликами, где содержится более чем один клип.
Вы будете часто сталкиваться с подобными ситуациями в играх, рассматриваемых в этой книге. На данный же момент вам достаточно знать, что переменные могут содержать числа, строки и ссылки на клипы.Совет
Все переменные, использованные в этом уроке и в остальной книге, это глобальные переменные. Это значит, что после того как вы их задали, к ним можно обращаться из ролика или других клипов. Также с помощью ключевого слова "var" вы можете определить локальные переменные. Локальные переменные, определенные в какой-либо функции, недоступны к использованию в остальном коде. Как локальную переменную, например, удобно определять счетчик цикла, используемого внутри функции.
Урок 9. Выполнение операций
Вам наверняка понадобится изменять данные, хранящиеся в переменной. Мы уже рассматривали, как с помощью команд ++ или += изменять значение переменной. В вашем распоряжении также имеется большой набор других операций.
Давайте начнем с переменных, содержащих числа. Вы можете выполнять большое количество математических операций с числами при помощи символов +, -, / и *. Приведем несколько примеров.
Допустим, у вас есть две переменные: а и b. Вы можете сложить их и поместить результат в переменную с.
a = 7;
b = 5;
c = a + b;В предыдущем примере с будет в результате содержать число 12. Вот еще один подобный пример:
c = a – b;
c = a * b;
c = a / b;Переменная с получит значение 2 в первой строке, 35 – во второй строке и 1,4 – в третьей строке. Вы также можете выполнять более сложные математические операции при помощи специальных функций, встроенных во Flash. Все они содержатся в объекте Math, за которым следует точка и имя функции. Например, при помощи функции Math.sqrt можно вычислить квадратный корень числа:
a = 9; b = Math.sqrt(a);
Значением b является 3 – квадратный корень из 9.
Один из важнейших элементов компьютерного языка, позволяющий программистам создавать игры, – генератор случайных чисел. Без случайных чисел игры были бы полностью предсказуемыми и скучными.
Flash генерирует случайные числа при помощи функции Math.random(). При этом генерируются случайные десятичные значения между 0.0 и 1.0. Нужные числа получают, умножая данные значения на целое число, а затем переводя их в целое число при помощи функции int. Например, следующая строка служит для генерации случайного числа от 0 до 9:myRandomNumber = int(Math.random()*10);
Другие математические функции будут рассмотрены по мере их появления в примерах. Функции могут применяться и к строкам. Например, для объединения двух строк может использоваться символ +:
a = «Hello»;
b = "World";
c = a + b;В итоге переменная с превратится в строку «HelloWorld». Обратите внимание на то, что между двумя этими словами нет пробела. Вам следует дать Flash команду ввести пробел. В результате следующий код создаст «Hello World»: