![]() |
|
||||||||||
|
|
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Короткая жизнь метода «addProperty»
Просуществовав одну версию Flash, данный метод изжил себя, так как изменилась вся концепция ООП во Flash. Данный код в полной мере иллюстрирует изменения в «семерке»: //*************************************************************************
// 6 style
this.addProperty("testProp", function()
{
return this.__testProp;
}, function(v)
{
this.__testProp = v;
});
//*************************************************************************
// 7 style
function get testProp()
{
return this.__testProp;
}
function set testProp(v)
{
this.__testProp = v;
}
Интерфейсы Концепция ООП Java предполагает дополнительный подход для упорядочивания и структурирования работы классов. Этот подход предполагает то, что кроме наследования от класса к классу своего внутреннего устройства можно выделить специальные абстрактные описания интерфейсов классов (не путать с абстрактными классами). И классы не связанные между собой «узами наследования» могут иметь общие интерфейсы, которые они наследуют из одного общего для них шаблона. Это новый путь для еще более развитой работы с классами. Это действительно большая тема и здесь достаточно привести код: // общий интерфейс работы с валютой
interface Currency
{
// сигнатура (описание) метода интерефейса форматирования валюты
// (например: 12.1 в вид "12.10"
function formatCurrency(c:Number);
// сигнатура метода конвертирования валюты
function convertCurrency(from:Object, to:Object);
}
// некий компонет для отображения текстовых данных
class textDisplay extends Movieclip implements Currency
{
// реализация метода formatCurrency
function formatCurrency(c)
{
// ...
}
// реализация метода convertCurrency
function convertCurrency(from, to)
{
// ...
}
// другие методы компонента
}
// некий компонет для отображения текстовых данных
class textLine extends Movieclip implements Currency
{
// реализация метода formatCurrency
function formatCurrency(c)
{
// ...
}
// реализация метода convertCurrency
function convertCurrency(from, to)
{
// ...
}
// другие методы компонента
}
В МХ, для того чтобы использовать код из разных файлов мы использовали директивой #include. При компиляции Flash-файла код просто помещался на место строки с указанием нужного файла с кодом. Такой подход не всегда универсален. Например, два разных компонента используют одну и ту же библиотеку с кодом. Мы можем оказаться в ситуации, когда один и тот же код помещен в наш проект дважды. Поэтому приходилось идти на «визуальные» жертвы: использовать библиотеку Flash-редактора. Директива import существует в Java, и во Flash она переместилась внешне без изменений. Возможно, данная директива будет обладать еще большими средствами для объединения библиотек. Возможно здесь даже речь идет о «настоящем» импорте как Java… Поживем увидим. Похоже, «почти как Джава» – становится ключевой фразой при обзоре нововведений семерки. Работа с ошибками Теперь не нужно боятся что плеер «зависнет» выполняя ваш код. Нам больше не страшна рекурсия и деление на ноль. Используя try и catch мы сможем наши ошибки и отловить и обработать. Я лично пока не осознал всю мощь этого нововведения но есть утверждение, что подобные конструкции, будут даже поважнее изменений в ООП... Ну не знаю, не знаю ![]() Это конечно почти как Джава, но это все-таки Скрипт Заявленная макромедия армия Flash-разработчиков в размере 650 000 человек, конечно же не состоит из одних программистов, которым только и подавай ООП и которые Джавы не боятся. Поэтому новая редакция ActionScript , мягко скажем, гораздо «добрее» чем Джава. Во всяком случае создавать процедуру без класса можно ![]() По мне, такие компромиссы конечно же нужны для массовости технологии, но для продвинутых разработчиков пора вводить несколько уровней при компиляции, когда разработчик сам укажет свой уровень и не будет плодится «грязь» в готовом байт-коде. Надеюсь, что так думают и разработчик от Макромедия… Ведь были в свое время намеки на директиву #strict… НОВОСТИ О ПРАВОЙ КНОПКЕ Возможно, что для «не флэшера» тот факт, что мы до сих пор не можем обрабатывать событии нажатия правой кнопки звучит как нонсенс. Но мы как то уже свыклись с данным постулатом. И вечные мольбы к Макромедия уже стали частью Flash-фольклора… Существует даже утверждение, что правая кнопка, и появления всем знакомой надписи, о том, что это Flash, было сильнейшим и удачным маркетинговым и рекламным ходом Макромедия. Ведь никто бы и не узнал что это Flash… И вот случилось. У нас появилась правая кнопка! Да и колесико мышки в придачу. И кроме этого мы можем не только совсем убрать контекстное меню правой кнопки, мы можем его настраивать под себя, добавляя новые элементы и т. д. Счастье в которое просто не верится ![]() А если серьезно, то мне данный факт указывает на то, что Flash перешагнул некую историческую черту, и сейчас не нужно подписывать каждый Flash ролик, всем и так понятно, что это Flash. О ПОЛЬЗЕ ПЕТИЦИЙ В свое время известный Flash-гуру КОЛИН МУК выступил с инициативой, и написал петицию от лица сообщества Flash-разработчиков к Макромедия, в которой слезно просилось наконец-то организовать процесс загрузки мувиклипов во Flash. Парадоксальная ситуация: «нормально» во Flash можно загружать все что угодно: и звук и видео и XML, но только не «родной» Flash-файл – SWF! Конкретно предлагалось включить в новую версию Flash класс MovieClipLoader, который будет обрабатывать все события связанные с загрузкой SWF. И это произошло! Похоже, что под практику петиций от разработчиков заложена твердая основа! Я, по своему опыту, конечно же уверен, в том что появление нового класса не изживет вопросов типа: «как сделать полосочку, пока мой ролик грузится». Но все равно все это очень приятно. Внимание к просьбам разработчиков очень обнадеживает. ОБЩЕЕ ВПЕЧАТЛЕНИЕ Общее впечатление, как всегда при знакомстве новой версии Flash: «Это просто невероятно! Ну удивили так удивили. Немного страшно». Но закалка 2-3-4-5-6-7 – серьезный опыт. Вообще, похоже, такие резкие скачки, становятся уже привычкой. Разгрызаем до самой сути текущую версию, казалось бы, что мы все уже знаем, а тут и новая версия не за горами. Общий вывод: поживем-увидим. Будет и Macromedia Central и Royal. Очевидно, что сейчас настало время перемещения готовых наработок из сообщества Java на Flash. Флэшерам стало тесно в рамках JavaScript, и Java в полной мере удовлетворяет наши растущие потребности. Думаю, что на пару версий Flash это точно ![]() удачи, Evgeniy Potapenko (aka john) Последний раз редактировалось john; 17.07.2003 в 21:09. |
![]() |
Часовой пояс GMT +4, время: 07:23. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|