カテゴリー
未分類

BINARYでloadしたSWFとかをClassに割り振れないのか?

なんか方法ありそうな気がするのだけど、うまくいかないのでいてみる。
以下のようにbinaryでLoadするとして,

これをMovieClipとして利用するのにはEvent.COMPLETEでバイナリを格納。(実際使っているときはバイナリをつかってますが)

で、実際addChildする際には

っつー感じなのですが、これをたとえば”ahoaho”クラスと割り振って

とかでインスタンス化できるようにできんのか?っつーこと。
いや別にloader使ってaddChildでもいいのだけどさー。
なんか出来そうな気がするのだけど、うまく割り当てが出来ない。


追記:08/04/10 12:41:42
・registerClassAliasっつーのはなんか意味が良く分からないな・・。
・package外でdynamic ahoaho { };とかやった場合
ahoaho.prototype.constructor = _bytes;
とかは駄目・・・。
当然
ahoaho = _bytes
も駄目っぽい。
無理なのかしらね?
っつーかconstructorじゃない気がするな・・・。そもそもByteArrayをそこに割り当てるのが間違っているような・・。この辺基礎がないから良く分からないな。もちっとやってみよっと。14時まで・・・
ちと何がやりたいか良く分からないので
たとえばObjectとかを一度ByteArrayにして復活させるときにはこんな感じ。

こんな感じで利用できる。ただこれはインスタンス化されたものが対であって、今やりたいなーと思っているのはクラス自体の上書き。
ちと仮に分かりやすいように、すでに上書きするクラスを用意してやるとこんなん

一応インスタンス化せずに_bytes2.writeObject(hoge);はできてるんだけど、はhoge2への割り当て部分。今の書き方は当然アウトで。1188:代入がです。が戻ってくる。
これprototype.constructorでもないだろうし・・。なんだろう?
あと30分。
追記:08/04/10 13:56:46
うーん、駄目だなー。
あれか?readObjectじゃなくてreadClass見たいなのがいるのか?
ちなみにManipulating individual pixels — Flash CS3

var bytes:ByteArray = new ByteArray();
bytes.writeObject(bitmapDataObject1);
bytes.position = 0;
bitmapDataObject2 = bytes.readObject();

って訳にはいかないらしい。
writeObject、readObjectの対象が良く分かってないな・・・汗

「BINARYでloadしたSWFとかをClassに割り振れないのか?」への4件の返信

僕はよくロードしたSWFをスキンライブラリ的に使ってるのですが、
loader.contentLoaderInfo.applicationDomain.getDefiniation(“クラス名”);
で、ロードしたSWF内で定義したリンケージクラスを引っ張ってこれます。
やったことありませんが、これでロードしたswfのルートドキュメントのクラスが取得できれば解決しそうな予感が。

あ、そですね。これはオデも良くやっていて、クラス定義してれば操作できるですが、クラス定義してないswfとかイメージとかをクラス化できないのかなーって。(まぁ画像の場合はbitmapdataで取り回したほうが便利ですが)
>やったことありませんが、これでロードしたswfのルートドキュメントのクラスが取得できれば解決しそうな予感が。
あ、これはオデもやったことがないです。取れるのかな?
後でやってみよっと。

こんにちは。
一応、以下のような感じでnewできました。
//ロードされたMC
var mc:MovieClip = loader.content as MovieClip;
//ロードされたMCのクラス名
var className:String = getQualifiedClassName(mc);
//ロードされたMCのクラス
var classRef:Class = mc.loaderInfo.applicationDomain.getDefinition(className) as Class;
//newして複製
addChild(new classRef());
ただ、たまにプレイヤーがクラッシュしてしまう気がします。
あんまり突っ込んでないので気のせいかもしれません。。

おお!なるほど!
クラスはそれ自体ではないということですね・・。なるほど・・。
ちょっと後日試してみます。
>ただ、たまにプレイヤーがクラッシュしてしまう気がします。
これは・・怖いですね・・・。
プレイヤーが固まってしまう感じですか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です