0

ユーザーがソンブレロをサボテンにドラッグする単純な Flash ゲームを構築しようとしています。ソンブレロをサボテン以外の場所にドラッグすると、元の位置に戻るようにしました。持っていたので、サボテンにドラッグすると、そこにとどまります。

私が欲しいのは、ユーザーがソンブレロをサボテンにドラッグすると、「YAY! Play again?」という画面に移動することです。if ステートメント内に gotoAndPlay() を配置します。

if(dropTarget.parent.name == "cactus")
                {
                    //scaleX = scaleY = 0.2;
                    //alpha = 0.2;
                    //y = stage.stageHeight - height - -100;

                    //buttonMode = false;
                    //removeEventListener(MouseEvent.MOUSE_DOWN, down);


                    gotoAndPlay("playAgain");


                    trace("dropped on cactus");


                    }

                    else
                    {
                        returnToOriginalPosition();


                        }

2 番目のフレームに「playAgain」というラベルを付けました。ArgumentError: Error #2109: Frame label playAgain not found in scene playAgain. というエラーが表示されます。flash.display::MovieClip/gotoAndPlay() で net.dndgtal.Cactus_Game::sombrero/stageUp() で

私はすべての提案をグーグルでチェックして再確認しましたが、それを機能させることができません。「playAgain」のシーンはなく、「scene1」のみです。シーンとフレームの両方を指定しようとしましたが、どちらも機能しません。そして、フレーム 2 に gotoAndPlay(2) を入れてみましたが、何もしません。

何か不足していますか?どんな助けでも大歓迎です。それが役立つ場合、これが私のコードのすべてです:

package net.dndgtal.Cactus_Game
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.geom.Point;

public class sombrero extends MovieClip
{

    protected var OriginalPosition:Point;

    public function sombrero ()
    {
        OriginalPosition = new Point(x, y);

        buttonMode = true;
        addEventListener ( MouseEvent.MOUSE_DOWN, down );

        //trace("sombrero constructor");
    }

    protected function down (event:MouseEvent):void
    {
        parent.addChild(this);
        startDrag();
        stage.addEventListener(MouseEvent.MOUSE_UP, stageUp);

        //trace("DOWN");
        }

        protected function stageUp(event:MouseEvent):void
        {
            stage.removeEventListener(MouseEvent.MOUSE_UP, stageUp);
            stopDrag();

            if (dropTarget) 
            {


                if(dropTarget.parent.name == "cactus")
                {
                    //scaleX = scaleY = 0.2;
                    //alpha = 0.2;
                    //y = stage.stageHeight - height - -100;

                    //buttonMode = false;
                    //removeEventListener(MouseEvent.MOUSE_DOWN, down);


                    gotoAndPlay("playAgain");


                    trace("dropped on cactus");


                    }

                    else
                    {
                        returnToOriginalPosition();


                        }

                } 

                else
                {
                       returnToOriginalPosition();
                }

            }

    protected function returnToOriginalPosition(): void
    {
        x = OriginalPosition.x;
        y = OriginalPosition.y;
        }

    }



}

ありがとう!ご不明な点がございましたら、お知らせください。

4

1 に答える 1