Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何使用ActionScript 3将变量发送到Flash中的其他帧?_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 如何使用ActionScript 3将变量发送到Flash中的其他帧?

Actionscript 3 如何使用ActionScript 3将变量发送到Flash中的其他帧?,actionscript-3,flash,Actionscript 3,Flash,我制作了一个简单的flash游戏,它只需要用户根据他们从多项选择题中选择的答案,在迷宫中从开始位置导航鼠标光标到四个结束位置之一 我想在比赛中加入一种得分方法。到目前为止,这是我的代码,评分系统的工作方式与当用户撞到墙上或得到错误答案时不同,他们被引导到另一个框架,该框架向他们显示“错误”屏幕,并允许他们单击显示“重试”的按钮。重试按钮将它们带回主框架,最终将分数重置为0。如果可能的话,我如何将变量传递给其他帧 import flash.events.Event; import flash.ne

我制作了一个简单的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;
}
}

在创建flash游戏时,任何帮助都将不胜感激,在我看来,最好使用外部类

一种修复方法是在主代码之前添加一个框架,并将该框架中的score变量设置为零。这样,分数只设置为零一次,当返回到主帧时,它将保持相同的分数。(在减去分数时,您可能希望添加if语句,如果您不希望允许负分数,则添加if语句)

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


-Travis

感谢您的回复,我决定按照您的建议做,并在我的主框架之前的框架中声明了分数变量。大家都很好,再次感谢!