Выбрать главу

Третья часть синтаксиса for показывает, как должна изменяться переменная в каждом новом цикле. В данном случае i каждый раз увеличивается на 1.

Результатом является следующий цикл: в начале переменная i имеет значение 0, в каждом цикле это значение увеличивается на 1, цикл заканчивается, когда переменная достигает значения 10. Таким образом, значение переменной i изменяется с 0 до 9 за 10 шагов. Если запустить вышеописанный код, вы увидите в окне Output цифры от 0 до 9.

...

Совет

Циклы for применяются для обработки данных внутри программ, а не для анимации объектов на экране. Пока выполняется цикл, на экране ничего не происходит. Короткие циклы, наподобие предыдущего примера, выполняются настолько быстро, что не оказывают никакого влияния на ролик. Однако длинные циклы могут задерживать воспроизведение ролика на несколько секунд и больше.

Приведем более распространенный пример цикла for. Предположим, у вас есть 10 клипов с именами «fox1» – «fox10», и вы хотите передвинуть их на 1 пиксел влево. Это действие будет выполнено при помощи следующего цикла:

for(i=0;i<10;i++) {

_root["fox"+i]._x++;

}

Цикл меняет значение переменной i от 1 до 10. В нем применяется объект _root, с которым вы познакомились в уроке 7 «Возможность контроля клипов пользователем». Вы можете обратиться к любому клипу главной временной шкалы при помощи объекта _root[] с именем клипа внутри скобок. В данном случае код представляет собой строку, состоящую из слова «fox» и числа i. Есть еще два способа создания циклов в ActionScript. Первый – это цикл while. В отличие от счетчика приращения (например, i ), цикл while продолжает выполняться до тех пор, пока условие в начале выражения while верно. В цикле do, наоборот, условие находится в конце цикла. Разница в том, что если применяется вариант while, цикл может ни разу не выполниться, а в случае do он всегда выполняется один раз. Начинающие программисты на ActionScript нечасто используют подобные циклы, однако их необходимо знать.

Урок 12. Текст и строки

Использовать числа в ActionScript несложно. Вы можете прибавлять, вычитать и выполнять другие операции с числами. Со строками также можно выполнить множество операций. Операции со строками являются важным шагом в изучении программирования.

Одна из простейших операций над строками – их объединение. Мы рассмотрели ее в уроке 9 "Выполнение операций". В уроке 10 "Условные выражения" вы сравнивали строки для того, чтобы определить их тождественность и порядок следования.

Теперь давайте рассмотрим еще несколько строковых функций. Предположим, вы хотите узнать, включает ли одна строка другую. Для этого существует команда indexOf, определяющая положение первого символа второй строки внутри первой. Если вторая строка не найдена, результатом выполнения команды будет значение -1. Например, следующий код находит строку "World" в строке "Hello World" на шестой позиции, то есть там, где находится буква "W" (считая от 0). Если же вы зададите поиск "Earth", вы получите значение -1, так как этого слова в сочетании "Hello World" нет.

myString = «Hello World.»; myPosition = myString.indexOf("World");

...

Совет

При ссылке на положение символа ActionScript начинает отсчет с 0. Строка "Hello" будет находиться в положении 0 строки "Hello World"

При помощи команды length вы можете узнать количество символов в строке:

myString = «Hello World.»; myStringLength = myString.length;

Иногда необходимо получить определенную часть строки. Для этого существуют две команды. Команда substring задает часть строки от одного положения символа до другого. В данном примере результатом выполнения команды является текст «lo Wo»:

myString = «Hello World.»; mySubstring = myString.substring(3,8);

Эту же задачу выполняет функция substr. В отличие от предыдущей команды она задает начальную позицию отрезка и количество содержащихся в нем символов. Следующий код задает строку, которая начинается с третьего символа и состоит из пяти символов:

myString = «Hello World.»; mySubstring = myString.substr(3,5);

У нас есть уже две функции, выполняющие практически одну и ту же задачу. Почему бы не ввести и третью? Функция slice полностью аналогична substring.

Созданный текст вам нужно будет показать пользователю. Это очень легко. В главе 1 "Элементы Flash для создания игр" вы познакомились с динамическим текстовым полем. Когда вы преобразуете текст в динамический в панели Properties, вы можете в поле Var присвоить ему имя.

На рис. 2.11 изображена панель Properties, в которой динамическому текстовому полю присвоено имя mySubstring. Пока переменная и текстовое окно находятся на одном уровне Flash, панель будет отображать содержимое переменной mysubstring. Если же эти элементы находятся на разных уровнях, например один из них является частью клипа, они не будут связаны.