我想創建一個繪製矩形並將其添加到舞臺上的單獨類,但問題是當我嘗試從類本身做到這一點時,階段。將movieclip添加到舞臺上的子類
我的設置如下:
Main.fla具有文檔類Main.as:
package
{
import flash.display.Sprite;
import Window;
public class Main extends Sprite
{
public function Main():void
{
var newWindow:Window = new Window();
}
}
}
在影片剪輯isadded
package {
import flash.display.MovieClip;
import flash.display.Sprite;
public class Window extends Sprite {
public function Window(x:Number= 0, y:Number= 0, width:Number = 100, height:Number=100,title:String="Window"):void {
var newWindow:MovieClip = new MovieClip();
addChild(newWindow);
newWindow.graphics.beginFill(0xFF9966, 1);
newWindow.graphics.drawRect(x, y, width, height);
trace("Instance created");
}
}
}
我沒有看到當前發佈代碼的問題。你嘗試添加'newWindow'而不是'this'而失敗嗎? :) – Vesper
當我嘗試將其添加到階段我得到以下錯誤 'TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。' – RootOfMinusOne
當你第一次創建一個類實例的階段'屬性爲空。只有文檔類可以訪問階段。你最好使用'this.addChild(xxx)'而不是添加到舞臺上,因爲在某些情況下你的SWF可能被嵌入到另一個舞臺中,然後無論如何你都不會得到合適的舞臺。此外,添加到'這個'會幫助你管理你的窗戶。 – Vesper