Тип отклика в ActionScript 3.0 - PullRequest
       28

Тип отклика в ActionScript 3.0

1 голос
/ 01 ноября 2011

Я реализовал новый класс, который расширяет MovieClip.Это имя base.MovieClipWithDelays ("base" здесь это имя пакета).

Моя сцена содержит такой объект с именем BlahSymbol Properties я установил флажки Export for ActionScript и Export in first frame.Я установил Имя класса как T_Idle_0.И я указал его базовый класс как base.MovieClipWithDelays.

Проблема в том, что следующий код приводит к ошибке типа:

var dob:DisplayObject = getChild("Blah");
trace("SuperClass = " + getQualifiedSuperclassName(dob));
return MovieClipWithDelays(dob);

выводит:

SuperClass = base::MovieClipWithDelays
TypeError: Error #1034: Type Coercion failed: cannot convert T_Idle_0@1ec59e9 to base.MovieClipWithDelays.

Как видите, имя суперкласса в порядке.Тем не менее, это не удручает.Как это возможно и как мне обойти это?

1 Ответ

0 голосов
/ 01 ноября 2011

Нельзя установить базовый класс библиотеки MovieClip для пользовательского класса. Вы можете установить его на Sprite или MovieClip. Чтобы сделать то, что вы хотите, у вас есть два решения:

1. Управляйте всем (рисованием и т. Д.) Из вашего класса MovieClipWithDelays. не привязывать его к объекту библиотеки.

Или:

2. Сделайте ваш MovieClipWithDelays обертками экземпляр MovieClip.

var libraryMC:MovieClip = new SomeLibraryMovieClip();
var customMc:MovieClipWithDelays = new MovieClipWithDelays(libraryMC);

Тогда в MovieClipWithDelays вам понадобятся некоторые функции и свойства для обработки обернутого мувиклипа.

...