Хакер №024. Спецвыпуск
FLASH MX - инструмент креативщика
Ivan Dembicki
Спецвыпуск Xakep, номер #024, стр. 024-096-4
this. function1.apply(this.my_mc, [this.my_mc])
Этот пример демонстрирует возможность вызова функции по динамически заданному имени. А последней строкой этого примера вызывается функция function1 из объекта, в котором ее нет! С виду apply - простенькая вещь, а насколько приятней делает жизнь! А в некоторых случаях просто незаменима.
В этом примере рисуем квадраты разного цвета, используя только одну функцию для рисования.
function drawSquare() {
this.beginFill(arguments[0], 100);
this.lineTo(10, 0), this.lineTo(10, 10), this.lineTo(0, 10), this.lineTo(0, 0);
this.endFill();
}
for (i=1; i<=10; i++) {
drawSquare.apply(mc=this.createEmptyMovieClip("my_mc"+i, i), [i*i*0x00FFFF]);
mc._x = i*11;
}
СЧИТАЕМ БАЙТЫ
Также ты порадуешься тому, что в МХ на закачку переменных и xml можно повесить прелодер. Это потому, что появились соответствующие функции для этого - getBytesTotal и getBytesLoaded. Остальная процедура обработки такая же, как и у мувика.
ПРИСЛУШИВАЕМСЯ
Вспомни, как извращался народ в предыдущих версиях, создавая собственные листенеры (listeners). Теперь они повсюду. Любому объекту можно добавить листенер и слушать, слушать, слушать... в ожидании нужного события.
Появился очень интересный объект System, глянем-ка, что в нем...
for (prop in System) {
trace(prop+" - "+System[prop]);
for (val in System[prop]) {trace("\t"+val+"\t= "+System[prop][val]); }
}
Ну что? Зачесались руки использовать информацию о компе юзверя? Главное, пользуй в мирных целях! (Ну да, ну да :)... - прим. ред.)
И все как обычно у Макромедии. Судя по хелпу, у этого объекта нет функций. На поверку оказывается - это не так. Можешь и сам попробовать:
System.ShowSettings()
CLOSE
Итак, мы кратенько прошлись по некоторым нововведениям Action Script.
В следующих номерах журнала разберем скрипт по косточкам. Ты узнаешь о недокументированных возможностях и способах их использования. И это... поставь себе МХ.
Назад на стр. 024-096-3 Содержание