ステージ上のButtonのクラスにイベントリスナーを追加しようとするとエラーが発生します。AS3/Flash - ボタンのカスタムクラスにイベントリスナーを追加する - エラー1061
1061:定義されていないメソッドaddEventListenerを静的型Classの参照で呼び出します。私のステージに
私はインスタンス名stopBtnとボタンがあり、これもclasses.stopBtn(「クラス」と呼ばれるフォルダ内にstopBtn.as)と呼ばれるActionScriptクラスにエクスポートされます。ボタンは、メインのタイムラインの最初のキーフレーム上でその層
上の他のボタンを有する層でエラーがstopBtn.asファイルの10行目にある:
package classes {
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class stopBtn extends SimpleButton {
public function stopBtn() {
stopBtn.addEventListener(MouseEvent.CLICK, stopButtonFunction);
}
function stopButtonFunction(event:MouseEvent):void {
MovieClip(root).trackPosition = 0;
MovieClip(root).mySoundChannel.stop();
MovieClip(root).playPause.gotoAndPlay(2);
}
}
}
私は多くのスレッドを発見しましたエラーコード1061のためにそれらのうちの私の問題に関連しているようです!私はすべてのイベント・タイプを確保しようとしてい
は、この1つはかなり明白であるべき
package classes {
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class stopBtn extends SimpleButton {
public function stopBtn() {
addEventListener(MouseEvent.CLICK, stopButtonFunction);
}
function stopButtonFunction(event:MouseEvent):void {
MovieClip(root).trackPosition = 0;
MovieClip(root).mySoundChannel.stop();
MovieClip(root).playPause.gotoAndPlay(2);
}
}
}
私はあなたがそこで何を参照してください!このクラスは特にButton 'stopBtn'のためです。私はstopBtnを定義する必要はありません。イベントリスナーの前には、既にstopBtnで動作しているIMが分かっています。 ありがとうございます! :) – TomFrom
@TomFrom、あなたは間違っています。 'stopBtn.add ...'と書いたとき、コンパイラはクラス名として 'stopBtn'をとりました(' public class stopBtn extends SimpleButton {'。そのstopBtnを削除するとコンパイラはそれをオブジェクトの暗黙の参照として取ります。 –
これを追加する必要はありません。クラスメソッドのthis.addEven ...とaddEvent ...と等しいためです。 – zaynyatyi