メモです。
FLASH側で作成したシンボル(リンケージ済)をFlex Builderで読み込みたい時。
Flex Builder(Flex SDK)側でコンパイルの場合
package{import flash.display.Sprite;public class Test extends Sprite{[Embed(source="Test.swf", symbol="TestMc")]private var TestMc:Class;public function Test(){addChild(new TestMc() );}}}
Embedを使用。※FLASH側でTest.swfを作成してから。
FLASH側でコンパイルの場合
package{import flash.display.Sprite;import flash.utils.getDefinitionByName;public class Test extends Sprite{private var TestMc:Class = Class( getDefinitionByName("TestMc"));public function Test(){addChild(new TestMc() );}}}
getDefinitionByNameを使用し、動的にクラス(リンケージシンボル)を読み込み。
今までFLASH CS3 + FlashDevelopのみで制作してたので気がつかなかったのだが、Flex Builderをエディタとして使用している人への配慮を考えると、getDefinitionByNameにてリンケージシンボルを呼び出した方がいいのかなと思ったり。









comments