White cat - Справочник по Flash
Этот скрипт использует двойной слеш для идентификации первой, третьей, пятой и седьмой строк, как комментариев:
// set the X position of the ball movie clipball = getProperty(ball._x);// set the Y position of the ball movie clipball = getProperty(ball._y);// set the X position of the kitty movie clipkitty = getProperty(kitty._x);// set the Y position of the kitty movie clipkitty_y = getProperty(kitty._y);
Совместимость:
Используется с 1-ой версии Flash
continue - Заново начинает текущий цикл
continue
(Предложение)
Фигурирует внутри некоторых типах операторов цикла
Синтаксис:
continue
Описание:
Предложение continue аналогично предложению break, поскольку прерывает текущую итерацию цикла, но в отличии от break возобновляет выполнение цикла с очередной естественной итерации.
Во всех типах циклов предложение continue прерывает текущую итерацию тела цикла, но при возобновлении цикла могут быть некоторые различия в зависимости от типа предложения цикла.
С помощью предложения continue можно сделать предложение тела цикла необязательным в зависимости от обстоятельств.
Например, в следующем коде мы перемещаем все экземпляры клипов, не являющиеся прозрачными, к левому краю рабочего стола и пропускаем тело цикла для прозрачных экземпляров:
for (var prop in _root) { if (typeof _root[prop] == "movieclip") { if (_root[prop]._alpha < 100) { continue; } _root[prop]._x = 0; }}
Совместимость:
Используется с 4-ой версии Flash
delete - Удаление объекта, элемента массива или переменной
delete
(Оператор)
Этот оператор используется для удаления из сценария объекта, свойства объекта, элемента массива или переменных.
Синтаксис:
delete identifier;
Аргументы:
Описание:
Оператор delete уничтожает объект или переменную, имя которой указывает identifier, и возвращает true если объект был успешно удален. В противном случае возвращает false.
Этот оператор полезен для высвобождения памяти, используемой скриптами, хотя, delete - оператор, который обычно применяется в формулировке:
delete x;
Оператор delete может не сработать и возвратить false если identifier не существует, или не может быть удален.
Предопределенные функции и объекты, также как и переменные, объявленные с помощью var, не могут быть удалены.
Чтобы избавить массив от ненужного именованного элемента, применяем оператор delete:
delete arrayName.elementName
Удаление именованного элемента разрушает как значение элемента, так и его контейнер, освобождая при этом память, занимаемую элементом и его содержимым. (При удалении нумерованных элементов оператор delete удаляет только значение, а контейнер сохраняет).
В следующих примерах создается объект, используется, а затем удаляется за ненадобностью:
account = new Object();account.name = "Jon";account.balance = 10000;...delete account;
В следующем примере удаляется свойство (property) объекта:
// создаем новый объект "account"account = new Object();// назначаем свойство name объекту accountaccount.name = "Jon";// удаляем свойствоdelete account.name;
Еще один пример удаления свойства объекта:
// создаем массив длиной 0array = new Array();// теперь его длина - 1array[0] = "abc";// добавляем еще один элемент - длина - 2array[1] = "def";// теперь - 3array[2] = "ghi";// удаляем array[2] но длина массива не меняется,delete array[2];
Следующие примеры демонстрируют действие delete на объектные ссылки:
// создаем объект, присваиваем переменной ref1 значение ссылки на негоref1 = new Object();ref1.name = "Jody";// копируем ссылочную переменную, а затем удаляем ref1ref2 = ref1;delete ref1;
Если бы ref1 не была бы скопирована в ref2, то и объект был бы удален, так как на него не осталось бы ни одной ссылки. Когда же мы удалим ref2, больше не останется ссылок на объект, и он будет удален, так как на него не будет ссылаться ни одна переменная.
Совместимость:
Используется с 5-ой версии Flash
duplicateMovieClip - Создать копию клипа
duplicateMovieClip
(Глобальная функция)
Эта функция позволяет создать копию существующего клипа
Синтаксис:
duplicateMovieClip(target, newname, depth);
Аргументы:
Описание:
Создает экземпляр муви-клипа во время проигрывания фильма. Дублирование всегда начинается с кадра номер 1, вне зависимости от того, на каком кадре был клип.
Дублированный клип наследует все преобразования (поворот, масштаб и пр.), применявшиеся к target, но не наследует его переменные временной диаграммы target.
Если удаляется родительский мувик, то дублированный - тоже удаляется. Используйте команду или метод removeMovieClip чтобы удалить экземпляр муви-клипа, созданного командой duplicateMovieClip.
Доступ к глобальной функции duplicateMovieClip() можно осуществить и как к методу клипа, но в таком формате не используется аргумент target.
Примеры:
// Копирует клип ball и дает копии имя ball2duplicateMovieClip(ball, "ball2", 0);// Перемещает созданный клип ball2,// чтобы его можно было видетьball2._x += 100;
Следующие строчки множат flower десять раз. Переменная i используется для того, чтобы создать уникальное имя и положить новый мувик на уникальную глубину.
on(release) {amount = 10;while(amount>0) {duplicateMovieClip (_root.flower, "mc" + i, i);setProperty("mc" + i, _x, random(275));setProperty("mc" + i, _y, random(275));setProperty("mc" + i, _alpha, random(275));setProperty("mc" + i, _xscale, random(50));setProperty("mc" + i, _yscale, random(50));i = i + 1;amount = amount-1;}}
Совместимость:
Используется с 4-ой версии Flash
evaluate - Создает новую пустую строку, и вставляет ;
evaluate
Создает новую пустую строку, и вставляет ; для того, чтобы можно было ввести свой код в строку Expression панели Actions.
Синтаксис:
statement;
Действие evaluate позволяет вызывать свои функции пользователю, который редактирует скрипт в режиме Normal Mode.
Совместимость:
Используется с 5-ой версии Flash
for - Многократно выполняет некоторый код
for
Многократно выполняет некоторый код
Синтаксис:
for (initialization; condition; next) { statements}
Цикл for помещает в заголовок цикла ключевые компоненты цикла, разделенные точкой с запятой. Перед первой итерацией цикла for выполняется предложение initialization (только один раз). Обычно оно используется для задания начального значения переменной итератора.
Как и в других циклах, если condition имеет значение true, выполняются statemets. В противном случае, цикл завершается.
В конце каждой итерации выполняется предложение next, перед очередной проверкой condition, позволяющей узнать, должен ли продолжаться цикл.
Примеры:
Типичный цикл for, который просто считает от 1 до 10.
for (var i = 1; i <= 10; i++) { trace("Число: "+i);}
Вот эквивалент этого примера, только составленный с помощью цикла while:
var i = 1;while (i <= 10) { trace("Число: "+i); i++;}
Допустим, нам нужно управлять в цикле более чем одним фактором.
В цикле for можно использовать более одной переменной-итератора, разделив их запятой.
for (var i = 1, j = 10; i <=10; i++, j--) { trace("i увеличивается: " + i); trace("j уменьшается: " + j);};
Совместимость:
Используется с 5-ой версии Flash
for...in - Цикл, используемый для перечисления свойств объекта
for...in
Цикл, используемый для перечисления свойств объекта.
Синтаксис:
for (var thisProp in object) { statements // Предложения обычно используют thisProp}
Вместо повторения серии предложений, пока заданное проверочное выражение не даст значения false, цикл for-in осуществляется по одной итерации для каждого свойства для заданного объекта.
Предложения for-in не требуют явного обновляющего предложения, поскольку число итераций цикла определяется числом свойств рассматриваемого объекта.
Предложения statements выполняются по одному разу для каждого свойства object;
На каждой итерации цикла переменная thisProp временно хранит строку, которая содержит имя свойства объекта, перечисляемого в данный момент. Это значение строки можно использовать во время каждой итерации, чтобы получить доступ к каждому свойству и обработать его.
Простейшим примером цикла for-in является сценарий, который перечисляет свойства объекта.