0

このコードを使用gotoandplayして、シーンごとのリンクを使用しています。これを同じタイムライン(内部)で使用すると、正しく機能しますが、このコードをクラスとして使用すると、次のエラーが発生します。

未定義の可能性があるメソッドMovieClipを呼び出します。

私はこのコードをタイムラインで使用します

b_enter.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene_enter1);
function fl_ClickToGoToScene_enter1(event:MouseEvent):void
{
    MovieClip(this.root).gotoAndPlay("p menu", "Menu");
}

私はこのコードをクラスで使用します

package  {

    import flash.display.SimpleButton;


    public class next extends SimpleButton {


        public function next() {
            // constructor code
            MovieClip(this.root).gotoAndStop("p2", "page2")
        }
    }

}

このリンクを使用してフラッシュファイルをダウンロードできます

4

2 に答える 2

0

簡単に推測すると、MovieClip メソッドが見つからないようです... MovieClip クラスをインポートしてみてください。

クラスにある他の import ステートメントと一緒に追加します。

import flash.display.MovieClip;
于 2012-12-25T06:58:55.747 に答える
0

私があなたを正しく理解していれば、カスタムボタンクラスを作成しようとしています:

そのため、flash.display.Sprite を拡張してから、4 つの DiplayObjects (MovicLip または Sprite または Bitmap) を各状態の上、上などに追加し、適切なマウス イベント MouseEvent.ROLL_OVER、MouseEvent.ROLL_OUT などをリッスンすることができます。必要に応じて 4 つのディスプレイの表示を切り替えます。また、タイムラインに状態を設定し、flash.display.Movieclip を拡張するドキュメント クラスを作成し、さまざまなマウス イベントをリッスンして、gotoAndStop(frame/label); を呼び出します。例: 2 番目のソリューションを使用し、fla over、up、down、click に 4 つの異なる状態を設定するとします。

package
{
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;

    public class MyCustomButton extends MovieClip
    {
        public function MyCustomButton()
        {
            if(stage)init();
            else this.addEventListener(Event.ADDED_TO_STAGE, init);
        }
        protected function init(event:Event=null):void
        {
            this.addEventListener(MouseEvent.ROLL_OVER,onOver);
            this.addEventListener(MouseEvent.ROLL_OUT,onOut);
            this.addEventListener(MouseEvent.CLICK,onClick);
            this.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
        }

        protected function onDown(event:MouseEvent):void
        {
            //  gotoAndStop("down") or gotoAndPlay("down")
        }

        protected function onClick(event:MouseEvent):void
        {
            //  gotoAndStop("click") or gotoAndPlay("click")
        }

        protected function onOut(event:MouseEvent):void
        {
            //  gotoAndStop("out") or gotoAndPlay("out")
        }

        protected function onOver(event:MouseEvent):void
        {
            //  gotoAndStop("over") or gotoAndPlay("over")
        }
    }
}
于 2012-12-25T16:53:37.597 に答える