(1) 把每個格子都做成物件,每個物件都有編號,物件移動時,透過一個中間的物件來在不同的物件移動。每個物件都有回傳定位點的method,所以移動時,透過hit的事件發生,取得定位點,再用動畫的效果,把角色移過去。
優點:透過算式產生定位點,所以格子有調整時,可以自己取得定位點
缺點:物件關係較複雜
(2) 把所有格子角色要落下的定位點預先記下來,例如[{grid:1,posX:0,posY:20},{grid:2,posX:50,posY:20},...],丟出骰子時,就讓角色去取得這個值,一格一格移過去。
優點:實作簡單,只需處理角色
缺點:一旦格子有變動,定位點又要重算,如果規畫沒有很完整,這個動作會累死人
至於tween,其實flash預設的不是很好用,可參考GreenSock http://www.greensock.com/tweenlite/, 花點時間學一下,處理動畫會如魚得水,如虎添翼。
2.自訂一個事件,當走完格子的時候,發送一個"WALK_STOP"的事件,然後註冊這個事件的處理器,再把事件視窗秀出。
以上講的是方向,你必須具備AS3的物件觀念、在架構上,能把展現層和資料層分開、會客製事件做起來會比較順手。