2009-02-15 3 views
3

Кто-нибудь заметил, как создание новых экземпляров MovieClip (и, вероятно, других объектов) в AIR вызывает некоторые странные эффекты? Если вы используете Senocular's method, схватив конструктор объекта и создав новый экземпляр MovieClip, вы получите новый MovieClip с 0 кадрами. Я не хочу рисовать bitmapData каждого кадра в массив, есть ли у кого-нибудь предложение сделать реальный дубликат MovieClip? (т. е. не только сильная ссылка).Duplicate MovieClip в AIR/AS3

ответ

2

я бы лично использовать flash.utils:

getQualifiedClassName(value:*):String 

и

getDefinitionByName(name:String):Object 

И создать экземпляр с помощью объекта класса

Я уверен, что может быть причиной Senocular использовал этот метод, но, возможно, стоит попробовать заменить эту линию, используя эти два метода, чтобы определить, разрешает ли она какие-либо проблемы, которые у вас есть.

+0

Хм, что может работать так, что бы устранить необходимость преобразовать MovieClip к объекту первого. Спасибо, я дам вам знать, как она идет –

+0

Нет, это не сработало. Я все еще получаю 1 фрейм Movieclip, хотя он и создал новый. Я могу проверить, что MovieClip я пытаюсь скопировать IS на сцену, но ничего не нарисовано MovieClip. Опять же, это похоже только в AIR. –

0

Во-вторых, любой подход с использованием метода getDefinition/getDefinitionByName/object contructor не работает внутри Adobe AIR (3.7, возможно, другие).

var movieClipShallow : MovieClip = loader.getMovieClip(url); 
var constructor: Class = (movieClipShallow as Object).constructor; 
var anotherInstance: MovieClip = new constructor(); 

movieClipShallow содержит различную ширину/высоту/numFrames/etc. чем anotherInstance

я в настоящее время не имеет решение для этого :(

Смежные вопросы