Написал класс 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:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
public class Btn extends MovieClip {
private var goBackStarted:Boolean;
private var win:MovieClip;
private var winName:String;
public function Btn (newName:String) {
winName = newName;
stop();
unblockBtn();
}
private function rollOverHandler (e:MouseEvent):void {
if (goBackStarted = true) {
removeEventListener (Event.ENTER_FRAME, goBack);
}
gotoAndPlay ("OVER");
}
private function rollOutHandler (e:MouseEvent):void {
addEventListener (Event.ENTER_FRAME, goBack);
}
private function downHandler (e:MouseEvent):void {
blockBtn();
gotoAndStop ("DOWN");
openWin();
}
private function goBack (e:Event):void {
goBackStarted = true;
prevFrame ();
if (currentFrameLabel == "OVER") {
removeEventListener (Event.ENTER_FRAME, goBack);
gotoAndStop (1);
}
}
private function blockBtn ():void {
removeEventListener (MouseEvent.ROLL_OVER, rollOverHandler);
removeEventListener (MouseEvent.ROLL_OUT, rollOutHandler);
removeEventListener (MouseEvent.MOUSE_DOWN, downHandler);
buttonMode = false;
}
private function unblockBtn ():void {
goBackStarted = false;
buttonMode = true;
addEventListener (MouseEvent.ROLL_OVER, rollOverHandler);
addEventListener (MouseEvent.ROLL_OUT, rollOutHandler);
addEventListener (MouseEvent.MOUSE_DOWN, downHandler);
}
private function openWin ():void {
if (winName == "aboutWin") {
win = new AboutWin;
win.x = 133;
win.y = 265;
parent.addChild(win);
} else if (winName == "contactWin") {
win = new ContactWin;
win.x = 133;
win.y = 265;
parent.addChild(win);
};
}
}
}
А вот код функции в конструкторе основного класса, которая создает экземпляры классов AboutBtn и ContactBtn (которые по идее должны расширять Btn):
Код AS3:
private function addSymbols():void {
aboutBtn = new AboutBtn("aboutWin");
aboutBtn.x = 133;
aboutBtn.y = 158;
contactBtn = new ContactBtn("contactWin");
contactBtn.x = 420;
contactBtn.y = 158;
bcObject = new BcObject;
bcObject.x = 104;
bcObject.y = 45;
addChild (aboutBtn);
addChild (contactBtn);
addChild (bcObject);
}
весь день искал и так и не нашел где у меня ошибка.
В качестве тренировки пробую то же самое делать с классом LoginForm из книги Колина Мука и все норм выходит. А тут почему-то эта ошибка...
Подскажите пожалуйсто че-не так, если сталкивались с таким.