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