ユーザーがソンブレロをサボテンにドラッグする単純な 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;
}
}
}
ありがとう!ご不明な点がございましたら、お知らせください。