Отправляет email-рассылки с помощью сервиса Sendsay

Программирование на Flash

  Все выпуски  

Программирование на Flash Переменные во flash'e. AS 2.0. Урок + домашнее задание


Важно!

Как и было заявлено несколько выпусков назад, я начинаю публиковать свои статьи по flash-программированию. Так как все статьи написаны мной, то при любом копировании обязательно указание в качестве источника журнал FlashDix. Хотя тех материалов, что публикуются в рассылке, нет в действующих выпусках на сайте журнала.

Пара слов о журнале FlashDix. Журнал издаётся с 2009 года. Каждый выпуск содержит 12-15 различных статей про анимацию и программирование во флэше. Все статьи написаны мной специально только для этого журнала. В каждом уроке есть домашние задания, в каждом выпуске около 30 исходников, которые сразу же можно посмотреть. Основная задача журнала – научить. Поэтому материал рассматривается постепенно и достаточно подробно. От лёгкого к сложному, чтобы любой смог самостоятельно научиться flash’у.

А теперь, собственно, сама статья.

Переменные во flashe: основы

Переменные присутствуют в любом языке программирования, и, возможно, являются одной из ключевых фигур в программировании. Используются они практически в каждой программе, потому как делают её универсальной и общедоступной, что, в принципе, является одним из желаемых качеств любого кода. С переменными легче разбираться в программе, легче её менять и затачивать под свои нужды. Ну, а теперь, думаю, стоит поговорить про переменные более подробно.

Переменная - это...

Переменная - это величина, которая может меняться. Переменные существуют не только в программировании, но и в нашей обычной, бытовой жизни. Например, возраст, температура, рост, вес. Когда в анкете вас просят вписать ваш рост, то таким образом запрашивают значение переменной "ваш рост". Создатели анкеты знают только название переменной, они не знают её значение, даже примерно не могут представить, а вы знаете. И поэтому сопоставив пару название - значение, выдаёте результат. Точно также действует и программа.

Давайте проведём простой эксперимент. У нас есть 3 переменных: рост, вес и возраст. Давайте их сложим все вместе, что у вас получилось? У меня лично получилось число 273, у вас, естественно, другое. Как я считал. Наверняка, также как и вы. Взял значение роста (180), к нему прибавил свой вес (70) и возраст (23), всё это вместе сложил и получилось 273. А как бы это было записано в программе? Точно также как мы считали в уме!

рост=180;
вес = 70;
возраст = 23;
общее число = рост+вес+возраст;
Таким образом, чтобы высчитать сумму вашего роста, веса и возраста мне нужно будет поменять только первые 3 строчки, что окупается, если бы дальше шли другие сложные вычисления. Они все проводились бы с переменными, а не с самими числами.

Конечно же, код, который приведён выше является не совсем программным, прежде всего, потому, что в программировании лучше не использовать русские слова, а всё записывать латинскими буквами. Далее, переменные должны начинаться с букв, и быть одним словом. То есть, вместо "общее число" следовало бы записать total_number. В названии переменных, состоящих якобы из нескольких слов, часто используют знак нижнего подчёркивания.

Теперь давайте перепишем, всё, что у нас было выше, но так, как если бы это была программа ActionScript'a. То есть сами переменные нужно записать латинскими буквами, а пробелы заменить на нижнее подчёркивание.

age = 23;
rost = 180
ves = 70;

total_number = age+rost+ves;

Так, теперь наш код уже является ActionScript кодом. Часто, при объявлении переменных (а объявление, это первые 3 строчки, где мы писали, что за переменная и чему она равна) принято писать выражение "var" перед каждой введённой переменной, это даёт дополнительные возможности для переменных.

Проверяем результат вычислений

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

trace();
Она предназначена для вывода в специальное окно вывода Output результатов вычислений. В скобках пишем то, что хотим вывести. Например, создайте сейчас новый документ, выделите кадр и впишите в панель Actions следующее.
trace(15);
Проверяем, что у нас получилось, при помощи сочетания клавиш ctrl+Enter. Вывелось 15? Отлично. А теперь попробуем с переменной.
my_number = 25;
trace(my_number);
Проверяем... И? Вывелось 25. А если вы измените значение переменной my_number, то выведется то число, которому она равняется. Немного по-другому дело обстоит с выражениями. Ведь, бывает так, что у нас информация не в виде числа, а в виде текста. Для того, чтобы значение переменной равнялось выражению, нужно писать его в кавычках. Соответственно, чтобы выводить его, тоже надо писать в кавычках. Например.
trace("Привет");

 

У нас отобразилось слово Привет, уже без кавычек. Однако, если мы запишем в круглых скобках функции trace() слово Привет без кавычек, то программа решит, что мы хотим вывести какую-то функцию, и будет её искать (естественно, безуспешно), поэтому ничего не выведет. Точно также и с присвоением текстового значения переменной.

my_text = "Привет";
trace(my_text);
Имя переменной в функции trace() без кавычек. Ещё раз обращаю ваше внимание, что в данном коде все имена переменных придумываются самим разработчиком. Единственное, что нельзя менять - это название стандартной функции trace().

Возвращаемся к нашему первому примеру

 

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

age = 23;
rost = 180
ves = 70;

total_number = age+rost+ves;
trace(total_number)
Кроме сложения с переменными можно выполнять и другие действия:
  • Вычитание, при помощи знака "-"
  • Умножение, при помощи знака "*"
  • Деление, при помощи знака "/"
Также можно комбинировать переменные и обычные числа, например:
age = 23;
rost = 180
ves = 70;

total_number = age*2+rost/ves+15;
trace(total_number)

 

Операции с текстовыми переменными

Как мы уже выяснили из этой статьи, что переменные могут быть числовыми (15), текстовыми ("Привет"), а также являться результатом вычисления других переменных (rost+ves). Если вычисления с числовыми переменными понятны, то какие можно использовать знаки при текстовых переменных. Естественно, делить или умножать текст на текст не получится, однако, складывать вполне.

Предположим, что у нас есть 3 переменных. Каждая переменная - это часть слова, и нам нужно получить одну переменную, в которой будут соединены все 3 части слова.

word_part1="сам";
word_part2="о";
word_part3="ход";

word=word_part1+word_part2+word_part3
trace(word)
Таким образом, знак "+" с текстовыми переменными играет роль соединителя. Так, из нескольких частей можно составить одно слово, или же, из нескольких слов можно составить одно предложение. Скорее всего, возникает немой вопрос, а что делать с пробелами, как их вставлять. Также как и с числовыми переменными, текстовые переменные можно комбинировать и с обычными числами и с обычными выражениями. Например, вот таким образом:
word1="Шла";
word2="Саша";
word3="по";
word4="шоссе";
word5="раз!";

phrase=word1+" "+word2+" "+word3+" "+word4+" 5 "+word5
trace(phrase)
И у нас получилось целое предложение, в котором мы использовали переменные и обычный текст.

 

 

И, по традиции, домашнее задание:
1. Потренироваться в использовании различных операторов (+,-,*,/). Порешать во flash'e простейшие примеры, используя его как калькулятор. Придумать и решить 5 примеров (выведя результат в окно Output) вида

5+(6*9*54+732)/2.5-4
Записать каждое число в свою переменную, чтобы можно было легко решать задачу по формуле с различными входными данными.
2. Используя переменные (каждое слово - переменная) вывести в окно OutPut следующие надписи (собирать их из слов, как в последнем примере в данной статье).
Мама мыла раму
Мама мыла Машу
Маша мыла маму
Мыла ли Маша маму
Раму ли Маша ли мыла ли

 

На этом всё!

Выполненное домашнее задание для проверки опубликуйте на форуме журнала FlashDix.

И напоследок!

Обратите внимание на выпуски журнала FlashDix (журнал про flash-программирование), опубликованных на официальном сайте журнала:

Также можете ознакомиться с графиком выхода журнала FlashDix


В избранное