0

多肢選択式の質問から選択した回答に基づいて、ユーザーが開始位置から 4 つの終了位置のいずれかまで迷路の周りをマウス カーソルで移動するだけの簡単なフラッシュ ゲームを作成しました。

採点方式をゲームに取り入れたい。これはこれまでの私のコードです。ユーザーが壁にぶつかったり、答えが間違っていたりすると、別のフレームに誘導され、「間違った」画面が表示され、ボタンをクリックできるようになるため、スコアリングシステムは機能しません。リトライ。再試行ボタンはそれらをメイン フレームに戻し、最終的にスコアを 0 にリセットします。可能であれば、変数を他のフレームに渡すにはどうすればよいですか?

import flash.events.Event;
import flash.net.*;

var isStart = false; 
var score:Number = 0; 

mc_wall.addEventListener(MouseEvent.MOUSE_OVER,overWall);
function overWall(e:Event) {
if (isStart == true){
gotoAndStop(5);
score -= -2;
}
}

mc_start.addEventListener(MouseEvent.MOUSE_OVER,overStart);
function overStart(e:Event) {
isStart = true;
}

mc_blue.addEventListener(MouseEvent.MOUSE_OVER,overBlue);
function overBlue(e:Event) {
if (isStart == true){
gotoAndStop(4);
score += 10;
isStart = false;
}
}

mc_red.addEventListener(MouseEvent.MOUSE_OVER,overRed);
function overRed(e:Event) {
if (isStart == true){
gotoAndStop(6);
score -= -2;
isStart = false;
}
}

mc_green.addEventListener(MouseEvent.MOUSE_OVER,overGreen);
function overGreen(e:Event) {
if (isStart == true){
gotoAndStop(6);
score -= -2;
isStart = false;
}
}

mc_yellow.addEventListener(MouseEvent.MOUSE_OVER,overYellow);
function overYellow(e:Event) {
if (isStart == true){
gotoAndStop(6);
score -= -2;
isStart = false;
}
}

どんな助けでも大歓迎です

4

1 に答える 1

1

私の意見では、フラッシュゲームを作成するときは、外部クラスを使用する方が良いと思います。

1つの修正は、メインコードの直前にフレームを追加し、そのフレームでスコア変数をゼロに設定することです。この方法では、スコアは1回だけゼロに設定され、メインフレームに戻ると同じスコアが維持されます。(スコアを引くときにifステートメントを追加したい場合がありますが、負のスコアを許可したい場合は少なくなります)

それを行うためのより良い方法は、外部クラスを使用し、メインコードをメインクラスに保持することです。このクラスにはコンストラクターがあり、スコアをゼロに初期化するのは1回だけです。

-トラヴィス

于 2013-02-28T17:59:21.317 に答える