Дубликат MovieClip в AIR / AS3 - PullRequest
3 голосов
/ 16 февраля 2009

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

Ответы [ 2 ]

2 голосов
/ 16 февраля 2009

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

getQualifiedClassName(value:*):String

и

getDefinitionByName(name:String):Object

И создать экземпляр, используя объект Class

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

0 голосов
/ 10 сентября 2013

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

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

movieClipShallow содержит различную ширину / высоту / количество кадров / и т. Д. чем другой экземпляр

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...