Wednesday, August 10, 2005

Flash Lite [ 9 ] Test hit

在Flash Lite裡面要做需要偵測碰撞的Game比較困難,
因為像是"hitTest"這個程式,目前是不支援的。

如果用舊有的方法,只能不斷的偵測物件的位置,
判斷在特定的範圍時,表示有碰撞到,
但是如果畫面上的物件很多的時候,
需要不斷的執行很多判斷式,
有可能會造成手機記憶體的不足,
進而發生當機的狀況。

這次試著做"CRAZY TAXI"的遊戲,
遊戲中會隨機出現不同的障礙物,

試了一種方法可以減少判斷,
而且可以比較容易增加物件,
用起來感覺還不錯, 跟大家分享一下~~

畫面中的車子,我製作了一個影片片段,
利用左右鍵控制車子轉換車道,當車子在最左邊車道時,
_root.po=1;

另外做了一個影片片段,來放出現的障礙物,
並用亂數取兩個變數,p表示障礙物出現的車道,k表示障礙物的種類,
當k為1時,並不會出現障礙物。

在製作車子的時候,僅左右移動,所以車頭的位置是固定的,
所以我在障礙物的影片片段中,當障礙物移動到靠近車頭的影格,
寫了下面的判斷式,

if(_root.po==1 and _root.obs.p==1 and _root.obs1.k!=1){
call("/:hit");
}

利用影格來決定判斷的時機,
如果此時車子跟物件出現在同車道,就會撞到。

2 comments:

Anonymous said...

耶耶

等我測試 XD

Anonymous said...

速度很快耶

沒兩下就撞暈了