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