看板 Flash 關於我們 聯絡資訊
最近小弟寫一個敲擊的FLASH 但是...卻碰上了一個問題 想說請教一下各位大大 就是...我已經從元件庫裡面呼叫出來的影片元件 但是沒辦法跟我舞台上的另外一個影片元件做HitTest的碰撞 在網路上我爬了一些文還是想不太出頭緒 想請各位大大幫我看一下 ↓Fla編輯的原始檔案 http://0rz.tw/yKcuA ↓swf的播放檔 http://0rz.tw/D1B1T -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.45.52
shingoliang:你要哪個元件跟哪個元件作碰撞?太鼓跟黑色?還是..? 10/15 16:06
phs5222:當綠色的按鈕按下去的時候 偵測太鼓的圖和黑色的區塊 10/15 16:10
phs5222:是否有做HitTest 10/15 16:10
sextitanic:不然的話用個陣列或是堆疊,把你新增出來的元件名稱 10/15 18:12
sextitanic:放到堆疊或是陣列之中,等你新增的元件被 remove 掉時 10/15 18:12
sextitanic:順便把堆疊或是陣列中的資料清掉,並把後面的元件名稱 10/15 18:12
sextitanic:往前移,如陣列 hitArray[0]原先是 m1,m1 被 remove 10/15 18:13
sextitanic:就把 m2從 hitArray[1] 往前移到 [0],m3、m4 依此類推 10/15 18:14
sextitanic:然後用個迴圈做 hitTest 10/15 18:17
sextitanic:hit1.hitTest(hitArray[i]) 類似這樣子的方法 10/15 18:19
sextitanic:通常這種遊戲一次只會偵測一個,那就再設個變數為布林 10/15 18:19
sextitanic:如果每次都只偵測有沒有跟 hitArray 陣列 [0]做碰撞 10/15 18:20
sextitanic:那如果[0]過去還沒消失,但[1]在黑色方塊,那會沒反應 10/15 18:30
sextitanic:所以用迴圈偵測所有在場景上的太鼓有沒有跟黑塊碰撞 10/15 18:31
sextitanic:但如果 [0]跟[1]的元件同時碰撞到黑色區塊,會一起消掉 10/15 18:32
sextitanic:所以用個布林變數,預設為 false,當按鈕按下去之後 10/15 18:33
sextitanic:如果布林變數是 false,偵測碰撞,有碰撞到就設為 true 10/15 18:34
sextitanic:如果是true的話就跳離偵測碰撞的迴圈,並將它設為false 10/15 18:34
sextitanic:寫了一大串,歹勢呀,只是我覺得應該可行的方案 @@" 10/15 18:35