私は AS3 初心者で、Flash でイベント ハンドラーをより快適に操作し、アプリケーションに対話機能を組み込みたいと考えています。
以下のコードでは、LineChart1 という DrawLineChart クラスのインスタンスを作成しています。ムービーをテストすると、ステージに問題なく表示されます。クリックすると、トレース コマンドを使用して、出力ウィンドウに文字列ステートメントが書き込まれます。
ただし、ステージ上の LineChart1 をクリックして削除できるようにしたいと考えています。これを行うと、エラー メッセージ 1120: Access of undefined property LineChart1 が表示されます。
インスタンス LineChart1 を参照できない理由と、クリックされたときに参照して削除できるようにするために必要なことを誰かに説明してもらえますか? また、実行時に LineChart1 をクリックすると trace ステートメントが機能するのに、removechild コマンドが機能しない理由を知りたいです。
簡単すぎる質問で申し訳ありませんが、よろしくお願いします。ほんとうにありがとう。
package{
import flash.display.*;
import flash.events.*;
public class Main extends MovieClip{
var recWidth:Number = 250;
var recHeight:Number = 550;
var recX:Number = 50;
var recY:Number = 50;
var recScaleY:Number = 30;
public function Main(){
var LineChart1 = new DrawLineChart(recX, recY, recWidth, recHeight, recScaleY);
LineChart1.addEventListener(MouseEvent.CLICK, onClickHandler);
addChild(LineChart1);
}
function onClickHandler(e:Event):void{
trace("hello"); // This works. When I click on the LineChart1 MovieClip on the stage during runtime, I get "hello" as an output.
removeChild(LineChart1); // throws an error 1120: Access of undefined property LineChart1. Why?
}
}
}