我試圖嵌入一個swf到我的AS3 Flex項目是這樣的:嵌入式button.swf不會觸發Click事件
[Embed(source = "../assets/next_button.swf")]
[Bindable]
protected var nextButtonClass:Class;
protected var next_btn:MovieClip = next_btn = new nextButtonClass() as MovieClip;
// ...
next_btn.addEventListener(MouseEvent.CLICK, onAdChange);
next_button.swf是AS2及使用Adobe Flash CS4中創建。裏面有一個按鈕。
如果我在next_button.fla中將按鈕符號的類型更改爲movieclip,則在傳遞CLICK事件時沒有問題。
我試圖將next_btn投射到mx.controls.Button和fl.controls.Button類,在這種情況下next_btn變爲null。
順便說一下,按鈕是反應鼠標懸停和單擊事件正確,只是不會傳遞給上面的瑞士法郎。
有沒有什麼辦法可以將Button事件傳遞給我的容器swf?
我給按鈕名稱 'next_btn的' 和改變的代碼,以便: [嵌入(源= 「../assets/next_button_as3.swf」,符號= 「next_btn的」)] 我得到這些錯誤: 錯誤:定義找不到符號'next_btn' 錯誤:無法轉碼../assets/next_button.swf。 但我得到同樣的錯誤,當我用next_button_as3.swf嘗試它,我做錯了什麼? 我可以跟蹤this.next_btn既SWF文件內,輸出是這樣: AS2 => _level0.next_btn AS3 => [對象next_button] – ekesken 2010-08-09 09:03:59
需要設置一個 「鏈接ID」,而不是一個實例名。 http://www.jessewarden.com/archives/flex/preloader/flash_preloader_03.gif – grapefrukt 2010-08-09 10:15:20
謝謝,我試過了,編譯時沒有錯誤。但「var next_btn:MovieClip = new nextButtonClass()as MovieClip;」代碼這次將空值賦給next_btn變量。一個「新」運算符如何返回空值? – ekesken 2010-08-09 11:02:37