Справочник по Flash : ActionScript : Action : while - Многократно выполняет некоторый код

Материал из Справочник Web-языков.

Перейти к: навигация, поиск
Главная  ::. Flash  ::. ActionScript  ::. Action  ::. while - Многократно выполняет некоторый код


[править] while

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

[править] Синтаксис:

while(condition) {
    statements;
}

[править] Аргументы:

condition
Условие, проверяемое каждый раз при выполнении команды while. Если результат проверки соответствует истине (true), исполняются операторы, указанные в statements.
statements
Операторы, исполняемые в том случае, если условие соответствует истине (true).

[править] Описание:

По структуре предложение 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.36027479172