我有一個使用SWC視覺符號的動作項目。actionscript項目中的類如何覆蓋Flash CS3 SWC文件中的類?
我有一個CheckoutButton
它有以下類與它關聯(編譯到SWC在Flash CS3中)。
public class CheckoutButton extends SimpleButton {
public function CheckoutButton() {
this.addEventListener(MouseEvent.CLICK, checkoutClicked);
}
// click on the button and the alpha will go to 50%
public function checkoutClicked(e:MouseEvent):void {
this.alpha = .5; // take user to checkout
}
public function dispose():void {
}
}
重要:的CheckoutButton.as
文件的類路徑中使用SWC中ActionScript項目。
我使用編譯SWC ActionScript項目中,我已經運行了以下方案:
1)我刪除CheckoutButton.as
從classpath我的ActionScript項目:
var x:CheckoutButton = new CheckoutButton();
addChild(x);
我得到來自我的Flash CS3文件的視覺符號的一個實例。當我點擊它時,alpha就達到50%。這又是如我所料。
2)我跑在classpath這個代碼CheckoutButton.as
我的ActionScript項目:
var x:CheckoutButton = new CheckoutButton();
addChild(x);
沒有任何反應都沒有。這完全如我所料 - 因爲我基本上重寫了SWC中的類定義,其中沒有任何可視功能的SimpleButton
。
現在我也有我的Flash文件中的時間軸動畫CheckoutAnimation
這恰好包含CheckoutButton
符號的一個實例。
3)我從classpath DELETING CheckoutButton.as
後運行ActionScript項目:
var x:CheckoutAnimation = new CheckoutAnimation();
addChild(x);
動畫符號拿起類定義(如最初編譯成SWC),當我點擊它符號的alpha值達到50%。這完全如預期。
4)我CheckoutButton.as
還是在類路徑中運行ActionScript項目:
var x:CheckoutAnimation = new CheckoutAnimation();
addChild(x);
結賬符號出現在動畫,但點擊它什麼也不做!
爲什麼這樣!我不明白!我不明白爲什麼我沒有得到與上面(2)中相同的結果,我絕對不明白爲什麼沒有代碼正在執行。這裏的衝突是什麼?
感謝橫向思維 - 不幸的是它不是這次的罪魁禍首。我試圖主要了解行爲應該是什麼 - 這個例子是對這個問題的簡化 – 2011-05-08 09:30:18