![]() |
Разница при компиляции AS2 под FP6 и FP7
Привет всем. Помогите разобраться в следующей ситуации:
Я создаю 2 класса в стиле AS2 - класс A: Код:
class AКод:
class B extends AКод:
trace("------ Frame 1");Код:
class A |
super() в конструкторе класса B можно и не писать - если он опущен, то компилятор автоматом вставит его в первую строчку конструктора.
Возможно разница из-за различного механизма организации наследования: Код:
//#initclip 1 |
Цитата:
А собственно по вопросу: получается это особеннось компилятора, которую нельзя обойти? |
Цитата:
Или собрать классы на AS1. :) Или докопаться до причины - я не уверен, что дело обстоит именно так, как я в предыдущем посте написал. Может еще где особенность 6-й версии: как-нибудь по-другому работает new, super, _global или #initclip? |
Кажется разобрался.
Это механизм публикации класса в swf так различается. Дело в том, что компилятор под версией ФП6 добавляет в #initclip мувика-класса (с id в библиотеке вида __Packages.имя_Класса) вызов super(), а последующие версии компиляции вызов super не делают. |
| Часовой пояс GMT +4, время: 05:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.