2009-10-03 87 views
0

我有一個變量來獲取縮略圖的寬度,它設置在我的班級代碼的開始處。AS3 - 更新變量

var thumbW:Number; 

然後我更新一個函數,更新與舞臺調整大小的VAR。

function x(){ 
    var thumbW:thumbnails.width; 
    //tracing thumbW here returns the updated value. Perfect! 
} 

然後我試圖獲取滾動縮略圖

function y(){ 
    trace(thumbW); 
} 

但是,在ÿ功能,它只返回NaN的一個函數內部thumbW值,又名不是一個數字,告訴我該變量的值沒有設置也沒有更新。

我想知道爲什麼會發生這種情況?爲什麼我無法更新此var?如何做呢?

回答

0

你的函數x有問題。

如果你想訪問全局變量thumbW,你應該直接使用它,如thumbW = 123。使用var將在函數內部聲明另一個局部變量。

而且,爲什麼你把國旗thumbnails.width?應該有編譯器錯誤!錯字?

的函數x整個代碼應該是:

function x():void { 
    thumbW = thumbnails.width; 
} 

BTW,你應該更多地瞭解變量的作用域。有an article from adobe help

+0

泰克你,李安!這是一個原始的錯誤,但有時我們需要清醒的頭腦才能擺脫這種陷阱。再次請求你! – 2009-10-03 16:21:36

+0

另外,沒有一個名爲x()的函數會與大量的東西衝突! – grapefrukt 2009-10-04 13:32:42