Показать сообщение отдельно
Старый 11.10.2009, 17:54
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 1  
Ответить с цитированием
Furinax

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
По умолчанию 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:
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 из книги Колина Мука и все норм выходит. А тут почему-то эта ошибка...
Подскажите пожалуйсто че-не так, если сталкивались с таким.