如何判断在不同的关键帧中是否按下了按钮?

时间:2015-10-06 13:12:20

标签: flash button actionscript-2 movieclip

我是flash开发的新手,我正在尝试制作,这样当我按下游戏中的模式按钮时,它会改变障碍物的速度。问题是障碍物在不同的关键帧中,速度的代码在影片剪辑本身内。它如何告诉不同关键帧中的障碍他们的速度应该是什么?

2 个答案:

答案 0 :(得分:0)

当用户点击模式按钮时,您将要设置变量。

    var speed:Number = 5;

    modeButton.onRelease = function() {
        speed = 10;
    }

然后在你的障碍物中引用该变量......

    trace("speed: " + speed);

这是一个非常简单的例子,希望它有用!

答案 1 :(得分:0)

在动画片段中声明的变量在定义它们之后的任何帧中都可用(即使它循环回到第1帧,它们仍然可用,即使它们未在帧上声明1,尽管最佳做法是在第一帧中声明)。

基本上......你的问题不应该存在。只需将您的数据存储在第1帧中声明的变量中。问题存在的唯一方法是,如果您在函数本身内只有该变量,那么它只是该函数的本地...这将是一个问题,无论影片剪辑和关键帧。

不要那样做。在函数外部声明变量,在函数内部使用它。

// put this on frame 1
var speed = 1; // this will be accessible anywhere in the clip

// put this wherever your button appears (I assume on frame 1 as well)
yourBtnName.onRelease = function() {
    speed = 1.5; // the change will be refleced anywhere that uses it
}

// put this on some other frame and call it at any point
function doSomething() {
    trace(speed); // before clicking the button this will trace 1, after 1.5
}