1203: No default constructor found in base class Btn.
Написал класс Btn. Создал в библиотеке два мувиклипа aboutBtn и contactBtn. Далее у каждого символа в Linkage properties в поле Base class написал Btn, а в поле Class написал AboutBtn и ContactBtn соответственно для каждого символа. Оба символа создаются программно на этапе выполнения в основном классе.
В итоге появляется ошибка: 1203: No default constructor found in base class Btn. Хотя в окне Linkage properties при нажатии на кнопку Validate class definition напротив поля Base class для каждого класса определение класса находится. Вот код класса Btn: Код AS3:
Код AS3:
В качестве тренировки пробую то же самое делать с классом LoginForm из книги Колина Мука и все норм выходит. А тут почему-то эта ошибка... Подскажите пожалуйсто че-не так, если сталкивались с таким. |
Суть в том что два класса наследника Btn создаются автоматически с дефолтными конструкторами(без параметров), это подразумевает вызов дефолтного конструктора в базовом классе, а там только с параметрами и тут коллапс.
Надо сделать простенькие классы наследников, где будет только конструктор с параметрами и вызов базового конструктора(super). |
т.е. получается придется отказаться от автоматического создания подклассов?
А еще какие-нибудь варианты есть? Просто хочется сделать один as файл и привязать его к куче символов, просто меняя параметры в конструкторе. такое ощущение, что до меня никто так химичить не пытался.... |
Код AS3:
|
wvxvw после этого всплывёт его вторая ошибка, вызовы производных классов с параметрами.
Furinax вообще не ясно зачем тебе эти два класса. Просто сделай базовый MovieClip(а лучше Sprite), а сам класс Btn, и не надо никаких aboutBtn и contactBtn. |
Цитата:
Просто у меня в приложении много кнопок и к каждой кнопке по одному as файлу. Так вот этот класс Btn должен один подходить ко всем кнопкам. Но вот возникли неожиданные трудности... |
1. Наследуйтесь от Btn, в базовом классе - MovieClip (всё равно название класса и winName одинаковые :) )
2. Передавайте winName в качестве параметра после вызова конструктора. |
Цитата:
Цитата:
Уменя так было вначале, потом я пошел в сторону обобщения. Идея заключается в том, чтобы у меня был один класс, который бы я мог связать со всем символмами кнопок в библиотеке. При это изменяя всего лишь один его параметр. Но как вижу, автоматическое создание классов этого мне сделать не позволяет. Добавлено через 52 минуты Решил обойтись вообще без параметров и сделал вот так: Код AS3:
Код AS3:
TypeError: Error #1006: setWinName не является функцией. at forpage::Fproject/addSymbols() at forpage::Fproject() Почему setWinName не является функцией? Она же определенна в суперклассе как функция, значит должна и в подклассах работать. Можете объяснить че тут не так? Добавлено через 1 час 14 минут Вообще смысл от автоматического наследования классов теряется. Получается, что поле Base class придумали чисто для того, чтобы один класс связать с кучей символов. А сделать более узкую функциональность никоим образом не получается? Добавлено через 2 часа 14 минут пробую даже так: Код AS3:
|
Функции у тебя определены как private, это значит что они видны только в пределах класса и ниоткуда извне. Все что вызываешь за пределами класса должно быть public.
А ещё есть internal и protected, найди и почитай. |
Цитата:
Добавлено через 5 минут вот теперь все работает. Теперь моя библиотека классов стала более компактной. Круто! Символы покорились мне. Теперь я ПОВЕЛИТЕЛЬ СИМВОЛОВ! Мухахахахахахахааха! Мухахахахахахаахахаха! Мухахахахахахаха! |
Часовой пояс GMT +4, время: 17:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.