2
我很難找出AS 3.0中的參考系統。AS 3.0參考問題
這是代碼,我有
package rpflash.ui {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Stage;
import nowplaying;
import flash.text.TextField;
public class RPUserInterface extends Sprite{
var np:nowplaying;
public function RPUserInterface(){
}
public function init(){
var np:nowplaying = new nowplaying();
this.addChild(np)
}
public function updateplayer(xml:XML){
var artist: String = xml.nowplaying.artist.toString();
var title: String = xml.nowplaying.title.toString();
trace("UI:update");
trace(this.np);// this gives me a null reference
}
}
}
(我爲了找到問題,但無濟於事修剪下來),仍然我無法訪問NP!跟蹤this.np給我一個空引用。我甚至不試圖從一個subling類訪問它。 (順便說一句,我想知道如何做到這一點。)
要進一步擴展,「var」關鍵字總是在當前作用域中創建一個新變量。在你發佈的代碼中,你使用「var」來聲明你的變量兩次 - 第一次,你聲明它在任何函數之外,這是聲明一個類屬性的正確方法。第二次,當你在函數內再次聲明它時,你正在創建一個新的變量,該變量的作用域在該函數內。以後嘗試引用該變量不起作用,因爲它們引用了未初始化的類屬性。 – fenomas 2010-04-10 16:36:36