[心得]Mate的ListenerInjector

0 意見

之前有介紹過Mate 的Event map及Model map架構,這次來講Mate的ListenerInjector 。

同之前的 Model Map的概念,PropertyInjector能為 View注入資料,顧名思義,ListenerInjector則可為View注入監聽,在設計專案的時候,可用ListenerInjector把View的互動建立起來,建立一張 Listener Map表,明確指出事件跟View的關連,方便後期維護,且透過EventAnnouncer,在Event Map也能調用View的變化,使用起來很方便

簡單的ListenerInjector 寫法如下

ListenerMap.mxml

<?xml version="1.0" encoding="utf-8"?>
<EventMap xmlns="http://mate.asfusion.com/" xmlns:mx="http://www.adobe.com/2006/mxml" >
<Injectors target="{Main}" debug="true">
   <ListenerInjector eventType="{NavigateEvent.GOTO_HOME}" method="navigateStateHandler" />
   <ListenerInjector eventType="{NavigateEvent.GOTO_MUSIC}" method="navigateStateHandler"/>
   <ListenerInjector eventType="{NavigateEvent.GOTO_MOVIE}" method="navigateStateHandler"/>
   <ListenerInjector eventType="{NavigateEvent.GOTO_PROFILE}" method="navigateStateHandler" />
</Injectors>
</EventMap>
上面的程式讓Main的View監聽導覽事件(NavigateEvent)的變化,所以在Main裡要寫一個public 的方法來接收事件,範例是用navigateStateHandler

Main.mxml

public function navigateStateHandler(event:NavigateEvent):void
{
var type:String = event.type;
switchMainState(type);
}
在設計上,如果僅是view的變化其實就可以用Listener Map來對應,如果以之前Cairngorm 的概念,View的變化要透過model的值改變,反查比較不易,用Listener Map一下就能知道那些View對應那些事件,這也是Mate依賴注入的好處

Blog參照:Mate Framework Part1, Mate Framework Part2



使用unity開發的 LEGO STAR WARS

0 意見

樂高版的星際大戰,由LEGO及Three Melons所開發,整體畫面不錯,光劍也能反彈子彈,有興趣的玩家可以玩玩看

2009-12-23_131455.png

網址:http://starwars.lego.com/en-us/FunAndGames/CloneWars-Quest-For-R2D2.aspx

Three Melons:http://www.threemelons.com/



Flash CS5 的物理引擎

0 意見

Adobe MAX 2009中展示了CS5的物理引擎功能,相信未來的Flash動畫將更真實

原文:http://cs5.org/?p=408