2012-02-18 68 views
0

我正在開發一個項目,並且我擴展了Stage(我只想添加一個函數)。將普通類複製到擴展類(隱式強制)

無論如何,我創建了一個新的階段類(姑且稱之爲StageX),我有這樣的一行代碼:

var newstage:StageX = stage;

但是,這給我的隱式強制錯誤。

我的問題是,有沒有辦法從當前階段var複製到新的StageX?或者我需要創建一個新的「convertToStageX」函數並自己做?或者在擴展舞臺時沒有用,因爲它是Flash的一個組成部分?

謝謝!

+0

會有什麼該功能呢? – sch 2012-02-18 11:40:07

+0

只是吐出一個經常使用的屬性。我會傳遞一個維(x或y)和一個對象的寬度。它會給我左上角的x和y,我需要使對象完美居中;它會改變形狀和大小 – 2012-02-21 06:46:50

回答

0

我看不出任何你想要延長舞臺的原因。你可以創建一個具有舞臺引用的對象,該對象具有可以調用的方法,並且會以某種方式影響舞臺。這將封裝功能,並防止您與實際舞臺相混淆。

+0

啊,好主意。那麼,我們正在使用away3d,所以我們在視圖中有階段。我們有多個視圖,所以我們使用一個變量來引用當前的活動階段。 – 2012-02-21 06:49:40

0

嘗試:

var newstage:StageX = StageX(stage); // throws an error if the cast is not possible 

或者

var newstage:StageX = stage as StageX; // new stage is null if the cast is not possible 
+0

啊!我不知道第一個是一種選擇,但現在我明白了,這是有道理的。非常感謝! – 2012-02-21 06:45:51