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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
По умолчанию не работает наследование

Доброго времени суток!
уже часа 3 воюю с flash-компилятором, mtasc все правильно делает, родной флешевский компилятор не хочет.
Есть 3 класса:
Код:
...
import view.Contourable;
...
class view.Platform extends MovieClip implements Contourable {
	...
	function Platform() {
		trace("CONSTRUCTOR_PLATFORM");
		platforms.push(this);
		_name="#platform"+(index=platforms.length-1);
		getContour().draw(0xff0000);//?
	}
	...
}
Код:
...
import view.Platform;
...
class view.Bonus extends Platform {
	...
	function Bonus() {
		trace("CONSTRUCTOR_BONUS");
	}
	...
}
Код:
import view.Bonus;
class view.Detail extends Bonus {
	static var curDetail:Detail=null;
	function Detail() {
		curDetail=this;
		trace("CONSTRUCTOR");
	}
	function setDetail(level:Number) {
		gotoAndStop(level);
	}
}
В Linkage мувиклипа прописываю Detail, выкладываю на линейку:
конструктор Detail запускается, а конструкторы Bonus и Platform - нет.

Причем если унаследовать Detail от Platform - все работает.

Что это за особенность такая flash-компилятора и как с ней бороться?


Последний раз редактировалось expl; 28.10.2007 в 12:14.