0

我已经构建了一个简单的 Flash 游戏,它只要求用户根据他们从多项选择问题中选择的答案,将鼠标光标从起始位置导航到四个结束位置之一。

我想在游戏中加入一种计分方法。到目前为止,这是我的代码,评分系统不起作用,因为当用户撞墙或得到错误答案时,他们将被引导到另一个框架,该框架向他们显示“不正确”的屏幕并允许他们单击一个按钮,上面写着重试。重试按钮将它们带回主框架,最终将分数重置为 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

在我看来,在创建 Flash 游戏时,最好使用外部类。

一种解决方法是在主代码之前添加一个帧,并将该帧中的分数变量设置为零。这种方式分数只设置为零一次,当回到你的主框架时,它会保持相同的分数。(你可能想在减去分数时添加一个 if 语句,更少你想允许一个负分)

更好的方法是使用外部类并将主代码保存在 Main 类中。此类将有一个构造函数,并且只将分数初始化为零一次。

-特拉维斯

于 2013-02-28T17:59:21.317 回答