Просмотр полной версии : Работа с As 2.0
Добрый день! В ближайшее время мне по работе предстоит иметь дело с проектом на As 2.0 (до этого работал только с 3.0, ). Хотелось бы узнать очень вкратце какие будут
существенные отличия и неудобства (либо наоборот преимущества) применительно к ООП. Я смотрел некоторые примеры на 2.0, вроде как связывание мувиков с программными классами происходит примерно так же как в 3.0. Остальное API вроде как тоже сделано в классах. Просто уже сформировалось объектное мышление, насколько это осложнит жизнь в AS2? И еще нюанс - нужно будет компилить по 7-ю версию плеера, и опять же интересует будут ли в связи с этим какие то ограничения?
Psycho Tiger
19.01.2010, 16:00
Добрый. существенные отличия и неудобства (либо наоборот преимущества) применительно к ООП.В целом, никаких. Разве что визуальное отображение чуть чуть по другому устроено.нужно будет компилить по 7-ю версию плеера, и опять же интересует будут ли в связи с этим какие то ограничения?Не будет плюшек 8, 9 и 10 флешев, очевидно же.
Я замечу эти плюшки или нет? =)
Psycho Tiger
19.01.2010, 17:53
Зависит от проекта. Например, нету глоу/блюр фильтра, битмапдаты и прочих радостей. Я бы без них уже повесился, если бы делал например игру.
нету глоу/блюр фильтра, битмапдаты и прочих радостей.
У тебя AS2 ассоциируется с семеркой только? :)
Нет, это требование такое у них чтобы именно под 7-ку собирать.
А можно ли как-то связать главный мувик с классом (аналог DocumentClass в AS 3.0)?
Можно, через хак с __proto__.
Psycho Tiger
25.01.2010, 18:43
QUOTE]
У тебя AS2 ассоциируется с семеркой только? :)
Ну, семёрка и восьмерка ) Делать под 9/10 на ас2 - как то.. )
Просто человек сказал же нужно будет компилить по 7-ю версию плеера
Тут возникла незадача - так сказать последний момент истины насчет ООП. Я связываю мувик с классом (имя класса в As 2.0 - "Мenu"), далее добавил его экземпляр вродительский мувик (имя инстанции - "menu"). В коде родительского мувика пишу:
var menu:Menu;
menu = Menu(this["menu"]);
menu.updateItems();
Последняя строчка не срабатывает. Т е все действия внутри класса Menu работают, проверял, но не могу дернуть добавленную мною функцию извне.
Каким способом можно это сделать?
Psycho Tiger
26.01.2010, 16:10
Хм, Menu(...) - это вообще на кастинг в AS3 походит. Где new?
menu = new Menu(...);
и updateItems() должна быть public, проверьте.
А вот таким образом уже работает:
menu = Menu(attachMovie("Menu", "menu1", 0));
menu.updateItems();
Но это если динамическое создание экземпляра. А как работать с уже созданным во fla?
var menu:Menu;
menu = Menu(this["menu"]);
menu.updateItems();
trace(this). Куда смотрит?
Тут еще одна проблема появилась. Понадобилось загрузить xml-файл, в конструкторе главного класса пишу
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = xmlComplete;
xml.load("Menu.xml");
Весь ужас в том что в xmlComplete, несмотря на то что она описана в главном классе, управление передается несчастному xml-объекту (trace(this) проверял).
И получается что из нее я не могу достучаться до методов главного класса,они просто не видны. В AS 3.0 вроде в аналогичных ситуациях все нормально работало.
Пока что удалось восстановить ссылку на его экземпляр с помощью _root.getInstanceAtDepth
Но хотелось бы как то по-человечески.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.