これは、メイン クラスにインスタンス化しようとしているクラスです。
public class Character extends Sprite {
[Embed(source='../lib/front1.svg')]
private var front1Class:Class;
private var crosshair:Sprite = new front1Class ();
public function Character() {
trace("started");
Mouse.hide();
crosshair.scaleX = 5;
crosshair.scaleY = 5;
this.addChild(crosshair);
stage.addEventListener(Event.ENTER_FRAME, MrEveryFrame);
stage.addEventListener(MouseEvent.CLICK, click);
}
private function click(evt:MouseEvent):void {
trace("clicked @ " + evt.stageX + "," + evt.stageY);
}
public function MrEveryFrame(e:Event):void
{
crosshair.x = mouseX - 15;
crosshair.y = mouseY - 15;
}
}
ドキュメントクラスに設定すると、正常に動作します。
ただし...これをドキュメントクラスにして、そこから呼び出そうとすると:
public class Shell extends Sprite
{
private var character:Sprite = new Character ();
public function Shell()
{
addChild(character);
}
}
壊れて、スプライト オブジェクトが表示されなくなります (ただし、マウス ポインターは消去されます)。
ここでの取引は何ですか?カスタム スプライトまたはムービークリップ クラスを DisplayObject クラスにインスタンス化することはできませんか?