2015-10-06 42 views

回答

0

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

var speed:Number = 5; 

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

然后引用该变量以后你的障碍......

trace("speed: " + speed); 

这是一个超级简单的例子,希望它的帮助!

+0

该问题被标记为AS2 –

+0

他还指定代码位于关键帧中,但您使用的是类特定的标识符。另外,在动画片段内声明的变量不是“全局”的。是为了这个目的而工作的范围。但不是“全球”。你的逻辑起作用,但是这些代码根本不适用于他。 –

+0

够公平 - 我错过了AS2标签。我会更新以反映你的观点。 – Flawsome

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 
} 
相关问题