2015-10-06 69 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 
} 
相關問題