Книга: Справочник по Flash

while - Многократно выполняет некоторый код

while - Многократно выполняет некоторый код

while

Выполняет оператор или серию операторов в цикле, пока условный аргумент соответствует истине (true).

Синтаксис:

while(condition) { statements;}

Аргументы:

Описание:

По структуре предложение while во многом похоже на предложение if: если условие имеет значение true, выполняются предложения statements. Но, в отличии от if, по завершении последнего из подпредложений выполнение повторяется снова с начала предложения while (т.е. интерпретатор "зацикливается" на начале предложения while).

Второй проход через предложение while действует точно так же, как первый: вычисляется условие, и если оно по прежнему оказывается true, снова выполняются statements. Этот процесс продолжается, пока condition не станет false, и тогда выполнение продолжится с тех предложений, которые следуют в сценарии за while.

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

Это пример дублирования пяти мувиков, каждый из которых получает случайные координаты x и y, свойства xscale, yscale и _alpha. Переменная foo инициализируется со значения 0. Аргумент condition устанавливается таким, что while цикл будет выполнен пять раз или пока значение переменной foo будет меньше 5. Внутри while цикла мувик клонируется и через setProperty получает новые свойства. Последний оператор цикла увеличивает значение foo, и так происходит до тех пор, пока foo не достигнет значения 5, после чего при очередной проверке аргумента condition будет получено false и цикл завершит работу.

on(release) {foo = 0;while(foo < 5) {duplicateMovieClip("/flower", "mc" + foo, foo);setProperty("mc" + foo, _x, random(275));setProperty("mc" + foo, _y, random(275));setProperty("mc" + foo, _alpha, random(275));setProperty("mc" + foo, _xscale, random(200));setProperty("mc" + foo, _yscale, random(200));foo = foo + 1; }}

Совместимость:

Используется с 4-ой версии Flash

Оглавление книги

Оглавление статьи/книги

Генерация: 1.194. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз