Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Работа с As 2.0 (http://www.flasher.ru/forum/showthread.php?t=135242)

xjack 19.01.2010 15:25

Работа с 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 флешев, очевидно же.

xjack 19.01.2010 17:15

Я замечу эти плюшки или нет? =)

Psycho Tiger 19.01.2010 17:53

Зависит от проекта. Например, нету глоу/блюр фильтра, битмапдаты и прочих радостей. Я бы без них уже повесился, если бы делал например игру.

etc 19.01.2010 19:52

Цитата:

Сообщение от Psycho Tiger (Сообщение 880314)
нету глоу/блюр фильтра, битмапдаты и прочих радостей.

У тебя AS2 ассоциируется с семеркой только? :)

xjack 19.01.2010 20:17

Нет, это требование такое у них чтобы именно под 7-ку собирать.

xjack 25.01.2010 16:43

А можно ли как-то связать главный мувик с классом (аналог DocumentClass в AS 3.0)?

etc 25.01.2010 18:18

Можно, через хак с __proto__.

Psycho Tiger 25.01.2010 18:43

Цитата:

Сообщение от etc (Сообщение 880363)
QUOTE]
У тебя AS2 ассоциируется с семеркой только? :)

Ну, семёрка и восьмерка ) Делать под 9/10 на ас2 - как то.. )

Просто человек сказал же
Цитата:

нужно будет компилить по 7-ю версию плеера

xjack 26.01.2010 15:41

Тут возникла незадача - так сказать последний момент истины насчет ООП. Я связываю мувик с классом (имя класса в As 2.0 - "Мenu"), далее добавил его экземпляр вродительский мувик (имя инстанции - "menu"). В коде родительского мувика пишу:
Код AS1/AS2:

 var menu:Menu;
 menu = Menu(this["menu"]);
 menu.updateItems();

Последняя строчка не срабатывает. Т е все действия внутри класса Menu работают, проверял, но не могу дернуть добавленную мною функцию извне.
Каким способом можно это сделать?

Psycho Tiger 26.01.2010 16:10

Хм, Menu(...) - это вообще на кастинг в AS3 походит. Где new?
Код AS3:

menu = new Menu(...);

и updateItems() должна быть public, проверьте.

xjack 26.01.2010 16:14

А вот таким образом уже работает:
Код AS1/AS2:

 menu = Menu(attachMovie("Menu", "menu1", 0));
 menu.updateItems();

Но это если динамическое создание экземпляра. А как работать с уже созданным во fla?

dimarik 26.01.2010 17:17

Цитата:

Сообщение от xjack (Сообщение 882189)
Код AS1/AS2:

 var menu:Menu;
 menu = Menu(this["menu"]);
 menu.updateItems();


trace(this). Куда смотрит?

xjack 27.01.2010 02:22

Тут еще одна проблема появилась. Понадобилось загрузить xml-файл, в конструкторе главного класса пишу
Код AS1/AS2:

  xml = new XML();
  xml.ignoreWhite = true;
  xml.onLoad = xmlComplete;
  xml.load("Menu.xml");

Весь ужас в том что в xmlComplete, несмотря на то что она описана в главном классе, управление передается несчастному xml-объекту (trace(this) проверял).
И получается что из нее я не могу достучаться до методов главного класса,они просто не видны. В AS 3.0 вроде в аналогичных ситуациях все нормально работало.

Пока что удалось восстановить ссылку на его экземпляр с помощью _root.getInstanceAtDepth
Но хотелось бы как то по-человечески.

udaaff 27.01.2010 02:42

Используйте Delegate.


Часовой пояс GMT +4, время: 20:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.