Я пытаюсь использовать внешние SWF-файлы с активами [Embed].Когда я пытаюсь получить доступ к этим ресурсам с помощью моего основного SWF-файла, в именах классов этих активов есть что-то странное.Вот класс документов моего внешнего актива SWF:
package {
import flash.display.MovieClip;
public class Asset01 extends MovieClip {
[Embed(source="asset01.dat", mimeType="application/octet-stream")]
static public const AssetClass:Class;
public function Asset01() {}
}
}
Я установил класс ресурса [Embed] на public
, чтобы иметь доступ к нему извне, но когда я загружу SWF из моегоmain SWF и используйте ApplicationDomain.getDefinition
для получения ссылки на него, имя класса, которое мне нужно передать, это «Asset01_AssetClass», а не фактическое имя класса ресурса [Embed], которое является «AssetClass».Почему это?Могу ли я всегда предполагать, что именем класса будет имя класса документа плюс подчеркивание плюс имя класса [Embed]?Я бы никогда не догадался, что это имя класса, которое мне нужно было использовать, если бы я не набрал ApplicationDomain.getQualifiedDefinitionNames
, чтобы получить список всех загруженных классов.