推 cjcat2266:Loader會丟出Event.COMPLETE事件,那個時候就可以remove 12/17 23:11
event.COMPLETE的時候removeEnentListener
會變成b.swf沒有反應
對了 我用的event事件是 enterframe
※ 編輯: ulong 來自: 220.139.15.72 (12/17 23:52)
推 cjcat2266:看來我們在講的是不同事情,你把被監聽的event類型寫下 12/18 00:03
→ cjcat2266:來,會比較有助於溝通 12/18 00:03
我的寫法是
this.addEventListener(Event.ENTER_FRAME, moveGallery);
moveGallery 是移動gallery object 的一個function
this在這指的是一開始上述的c物件
c物件要跟滑鼠動互所以只有b.swf被unload時 才能remove Event
但我不知道寫法形式上要如何寫
※ 編輯: ulong 來自: 220.139.15.72 (12/18 00:12)
推 cjcat2266:其實,你就在b.swf該被丟掉的code處,下方加一行remove 12/18 00:17
→ cjcat2266:這樣就可以確定b.swf被移除的同時,listener也被remove 12/18 00:17
我在b.swf被移除的地方加
但是flash的compiler無法認得 moveGallery
因為程式碼寫在不同的.fla檔案中
請問這有辦法克服嗎?
感謝你的熱心回答
※ 編輯: ulong 來自: 220.139.15.72 (12/18 00:55)
→ cjcat2266:那就是重要機制沒有集中管理...感覺砍掉重練或許比較快 12/18 01:12
我不知道如何集中管理也
flash可以像c++一樣使用解構子嗎?
unload的時候自己解構掉一些resource
※ 編輯: ulong 來自: 220.139.15.72 (12/18 01:19)
推 cjcat2266:那就是自己寫destroy()的用意,要丟掉以前自行呼叫解構 12/18 01:50
→ cjcat2266:Java也沒有destructor,這種使用虛擬機器的語言 12/18 01:50
→ cjcat2266:多半都是要自己寫一個destroy(),然後自行呼叫 12/18 01:50
推 scars:在C裡面監聽removeFromStage事件 去remove enterFrame如何? 12/18 02:04
cjcat的意思是自己寫一個 destroy的interface 可以在a.swf裡面呼叫是嗎?
scars多謝 你這個提議我會試一下 我不知道有removeFromStage這種東西
因為我剛學flash
有些東西不知道可以如何用
問的時候也比較無法切中問題點
再次謝謝哦
另外請問你們學AS3.0有推的書嗎?
以前學c++有BIBLE 大家比較推的幾本
AS3.0現在有這種經典的書嗎?
※ 編輯: ulong 來自: 220.139.15.72 (12/18 03:01)
→ aquarianboy:精華區有,推EAS3 12/18 09:31
問題解決了 scars 建議的removeFromStage是一個可行的方法
當remove child時,會收到這個event
謝謝大家
※ 編輯: ulong 來自: 59.124.68.163 (12/21 20:29)