看板 Flash 關於我們 聯絡資訊
※ 引述《MagicYan (【賣幾客.羊】)》之銘言: : override public function listNotificationInterests():Array : { : return [StageMediator.KEYDOWN]; : } : 底下再寫處理通知的handleNotification(n:Inotification) : 現在問題來了,一旦這樣寫了之後,不就寫死了,將來想在執行期 : 新增或移除感興趣的通知,或是處理通知的function不都變得很不 : 靈活嗎?這種狀況有解決方案嗎? 如果是每次呼叫notifyObservers()的時候 都會去呼叫listNotificationInterests()的話 就沒有這個問題 因為該Array可以是動態更新的 不過現實總是殘酷的 我看了一下View.as 在registerMediator()的時候 就已經把listNotificationInterests()的回傳值給註冊起來了 而不是每次呼叫notifyObservers()的時候都更新一次 這樣的話並不是沒有辦法動態更新 每次你listNotificationInterests()回傳的Array有變動的時候 就用removeMediator()和registerMediator()重新把Mediator註冊一次 這樣就達到你想要的效果 雖然有點麻煩 但是至少是可行的 :) -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.164.207
MagicYan:這問題不曉得下個版本會不會改善...不然自己動手改 xD 06/02 22:54