РЕДАКТИРОВАТЬ: Я воспроизвел шаги, и все это прекрасно работает.
Убедитесь, что FlashIDE находит ваш класс (нажав на зеленую галочку рядом с дорожкой).
Также дважды проверьте, что у вас нет другого символа с таким же именем, который портит его (глупо, но часто встречается).
Старый ответ:
Все немного сбивает с толку наличие в библиотеке определений и их привязка к сценариям.
Если вы кодируете, используя чистый ActionScript, то же сообщение об ошибке появится, если вы расширяете класс, требующий аргументов конструктора, без вызова «super(*arguments*)
» из расширенного класса. Проблема совершенно очевидна, так как все унаследованные конструкторы должны вызываться при создании экземпляра объекта, любые пропущенные аргументы не смогут этого сделать.
будет работать:
- класс Citroen () -> супер (4) ->
расширяет класс автомобилей (колёса: int) -> 4
колеса
- класс Citroen () -> расширяет класс
Автомобиль (колеса: int = 2) -> минимум 2
колеса, если не указано
- класс Ситроен (колёса: int) ->
супер (колеса) -> расширяет класс
Автомобиль (колеса: int) -> количество колес, которое нужно указать при создании
не будет работать:
- класс Volvo () -> расширяет класс
Автомобиль (колеса: int) -> нет колес когда-либо : P
Теперь, я думаю, если вы добавите определение класса для Symbol в библиотеке, вы неявно разрешите создание этого символа, перетаскивая его на сцену во Flash IDE, не определяя аргументы конструктора (даже если вы специально этого не сделаете ). Таким образом, теоретически, это приведет к тому же, как объяснено ранее, и будет выдано '1203: конструктор по умолчанию не найден в базовом классе'
Попробуйте это : в базовом классе добавьте значения по умолчанию ко всем аргументам в конструкторе (например, name:String = 'me', age:int = 99
). Это позволит вам расширить класс (путем подкласса из библиотеки) без передачи каких-либо аргументов. Надеюсь, это поможет компилятору позволить вам скомпилировать.
В случае, если вы действительно хотите принудительно передавать аргументы, я бы посоветовал вам сделать это наоборот: создать экземпляр и добавить символ, определенный в библиотеке Flash IDE, в ваш класс TextPanel ...
Надеюсь, это немного поможет; )