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

смотрим также

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

Перейти к: навигация, поиск



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) {                                            // цикл, выполн. до тех пор пока значение foo < 5
		duplicateMovieClip("/flower", "mc" + foo, foo);     // функция дублирования
		setProperty("mc" + foo, _x, random(275));           // задает случ. положение по x
		setProperty("mc" + foo, _y, random(275));           // задает случ. положение по y
		setProperty("mc" + foo, _alpha, random(275));       // задает случ. значение прозрачности
		setProperty("mc" + foo, _xscale, random(200));      // задает случ. значение масштаба по x
		setProperty("mc" + foo, _yscale, random(200));      // задает случ. значение масштаба по y
		foo = foo + 1;                                      // увеличиваем foo на 1. Лучше foo++;
	}
}

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

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

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования