AOContainerを触ってみてるけど…
どっちもdrawCircleしてるのにAOContainerで生成したSpriteは四角を描いている…
これどういうことだろ
ソース
package etude { include 'import.as'; import org.libspark.aocontainer.AOContainer; import org.libspark.aocontainer.AOContainerFactory; public class Etude extends Sprite { public function Etude() { stage.scaleMode = StageScaleMode.NO_SCALE; // 拡大縮小の無効 stage.align = StageAlign.TOP_LEFT; // 配置を左上に stage.addChildAt( new BackGroundA(), 0); // 背景の追加 var aoContainer:AOContainer = AOContainerFactory.create(<objects> <object name="s" class="flash.display.Sprite"/> </objects>); // AOContainerから var s:Sprite = Sprite( aoContainer.getObject( 's')); with( s) { x = 50; y = 50; graphics.beginFill( 0); graphics.drawCircle( 0, 0, 30); graphics.endFill(); } addChild( s); // 普通に生成 var s2:Sprite = new Sprite(); with( s2) { x = 150; y = 50; graphics.beginFill( 0); graphics.drawCircle( 0, 0, 30); graphics.endFill(); } addChild( s2); } } }
追記
どうやら自動インジェクションがSpriteインスタンスのプロパティに働いていたようです。
yossyさんに回答をもらいました。
調べてみましたが、どうやら「s」のプロパティ
* hitArea
* focusRect
* opaqueBackground
* maskに対して、「s」自身が自動でインジェクションされているのが原因のようです。
かなりバグっぽい動作ですが...。とりあえず、
として、自動インジェクションを外せば解決します。