Hatena::Groupactionscript

ConquestArrow.addEventListener();

2007-05-21

[]Flex2のcomponentをAS3で使う 03:08 はてなブックマーク - Flex2のcomponentをAS3で使う - ConquestArrow.addEventListener();

ちょっと調べたのでメモ。

  1. 独り言日記(2007/03) - FreeStyleWiki
  2. no title

必要な作業

  • SpriteにはaddChildできないので表示の親はApplicationクラスなどのContainerクラスの子孫クラスである必要がある
  • setStyleコンポーネントのスタイルを必要なだけ定義する
    • やってられないので、mxmlを-keepオプションつきでコンパイル、生成されたasファイルからスタイル処理の分だけを抜き出す*1

実際には、基底クラスをSpriteのままで使いたかったので、Applicationクラスを継承したカスタムクラスを用意し、中にコンポーネントを包むことでなんとか使おうとしたが、ランタイムエラーがでて無理だった。ApplicationクラスやCanvasクラスはどうもSingletonらしく、普通にnewしようとすると

TypeError: Error #1006: getInstance は関数ではありません。

などとエラーがでる。うーむ。

外部swf化してLoaderクラスで読み込めばうまくいくのか…?違和感がある実装だけれど…。

追記:できた。クロススクリプト処理をすれば使えそう。でもListApplicationコンポーネントを含んだだけでswfファイルが180kbにもなった。ちょっと躊躇するファイルサイズだなぁ。

感想

*1:1番目のリンクを参照

JaviiJavii2012/04/10 23:07HHIS I sholud have thought of that!

ncvhptowncvhptow2012/04/13 19:409FuGnd <a href="http://msbmglmshqke.com/">msbmglmshqke</a>

トラックバック - http://actionscript.g.hatena.ne.jp/ConquestArrow/20070521