Как скопировать загруженный * .swf без указания имени класса - PullRequest
0 голосов
/ 16 мая 2011

Я читал эту статью об абстрагировании активов от ActionScript :

Абстрагирование активов из ActionScript в AS3.0 - Библиотеки активов и DuplicateMovieClip

Но для этого необходимо установить имя Classage Class .Как получить тот же результат без указания имени класса связывания?

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

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Я думаю, что способ сделать это - использовать байтовые массивы

вот быстрый образец

// once you load your data...
private function loaderComplete(event:Event):void
{
    var loaderInfo:LoaderInfo = LoaderInfo(event.target);
    var byteArray:ByteArray = loaderInfo.bytes; //<- this will create your byte array
}

затем вы можете использовать byteArray.readObject(); для генерации нового класса;

посмотрите на пост сенокулара http://www.kirupa.com/forum/showthread.php?p=1897368 где у него есть такая функция:

function clone(source:Object):* {
    var copier:ByteArray = new ByteArray();
    copier.writeObject(source);
    copier.position = 0;
    return(copier.readObject());
}
//that you use with 
newObjectCopy = clone(originalObject);

надеюсь, это поможет вам начать

0 голосов
/ 16 июня 2013

Начиная с Flash 11.3 , есть функция с именем getQualifiedDefinitionNames , которая сообщает мне, какие именно имена связей следует использовать с getDefinition , поэтому нет необходимости знать значения заранее.

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