TextField is not DisplayObjectContainer
前回ポストした内容で、TextFieldクラスのgetImageReference()メソッドを使うと、html内にロードしたアセットをDisplayObjectとして取得できるよ!凄いぜ!ってな事を書きました。
そこまでは「へ~スゴイね」という話なんだけど、ここからが問題。
取得したDisplayObjectのparentを調べるとTextFieldクラスが帰ってきます。たとえばこんな感じ
http://livedocs.adobe.com/flex/201_jp/langref/flash/text/TextField.html#propertySummary
http://livedocs.adobe.com/flex/201_jp/langref/flash/display/DisplayObject.html#parent
仮に
SWFの仕様書とか読めば何か書いてあるのかもしれないけど、いや~不思議だ。
そこまでは「へ~スゴイね」という話なんだけど、ここからが問題。
取得したDisplayObjectのparentを調べるとTextFieldクラスが帰ってきます。たとえばこんな感じ
var loader:Loader = tf.getImageReference("img") as Loader ; loader.load(new URLRequest("img.jpg")) function comp(e:Event):void { var loaderInfo:LoaderInfo = e.target as LoaderInfo trace(loaderInfo.content.parent.parent); //[object TextField] trace(loader.parent); //[object TextField] }と言うかんじでTextFieldが帰ってくるが、コレが解せない。だって、DisplayObject.parentと言うプロパティはDiplayObjectContainerの筈だ。そしてTextFieldはDisplayObjectContainerは継承していない。
http://livedocs.adobe.com/flex/201_jp/langref/flash/text/TextField.html#propertySummary
http://livedocs.adobe.com/flex/201_jp/langref/flash/display/DisplayObject.html#parent
仮に
DisplayObjectContainer(textField)と書くとコンパイルエラーが帰ってくる。
SWFの仕様書とか読めば何か書いてあるのかもしれないけど、いや~不思議だ。
追記:
さらっと書いた内容ですが、どうやらFlashPlayerのバグの様です。
Be-Interactiveさんのこちらのエントリに載っけてもらいました。yossy君、多謝。
[バグ] TextField.getImageReference で取得出来る Loader の parent の mouseChildren にアクセスすると FlashPlayer がクラッシュする
前回のエントリーも含めてそれなりに新着情報っぽい感じですが、このバグってどれくらい周知されているのでしょうか。ひょっとして世界初だったりすんのかな。そしたら書いた本人が一番びっくりするかも。Adobeのバグ報告ってどこだっけ?
追記の追記
Adobe bug system には載ってないみたいですね。 http://bugs.adobe.com/jira/secure/QuickSearch.jspa
さらっと書いた内容ですが、どうやらFlashPlayerのバグの様です。
Be-Interactiveさんのこちらのエントリに載っけてもらいました。yossy君、多謝。
[バグ] TextField.getImageReference で取得出来る Loader の parent の mouseChildren にアクセスすると FlashPlayer がクラッシュする
前回のエントリーも含めてそれなりに新着情報っぽい感じですが、このバグってどれくらい周知されているのでしょうか。ひょっとして世界初だったりすんのかな。そしたら書いた本人が一番びっくりするかも。Adobeのバグ報告ってどこだっけ?
追記の追記
Adobe bug system には載ってないみたいですね。 http://bugs.adobe.com/jira/secure/QuickSearch.jspa