- ベストアンサー
関数を停止するには。。。。
function moveMC(e:Event):void { if (mc.x<550) { if (mc.x<cnt*50) { mc.x+=30; mm.x+=30; } moveMCを止めたいので b1.addEventListener(MouseEvent.MOUSE_OVER, mcstop); function mcstop(event:MouseEvent):void { moveMC.stop(); } としたら1061エラーでstopが定義されていないと出ました。 どう定義させたらいいのでしょうか??
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
function moveMC(e:Event):void { この書き方からすると、なんらかのイベントに関連付けた(addEventListenerした)関数であるように思いますが。 それなら、その関数を停止させたい場面でremoveEventListenerすれば良いだけだと思います。 書かれたソースを見る限り、moveMCはあくまで関数であり、オブジェクトではありません。 オブジェクトではないので、メソッドを定義させる事ができません。 moveMC.stop();は、stopメソッドの呼び出しという意味になるので、存在しないものを呼び出そうとしている間違いですね。 そんな間違いにエラーメッセージが「stopが定義されていない」と出るのだとしたら親切じゃないですね。 それとも、ActionScriptの内部的には関数であってもオブジェクトなのでしょうか? ま、そんな疑問は余談ですが。