Re: [問題] 寫一個砲台遊戲

看板Flash作者 ( 木 頭)時間18年前 (2007/05/03 18:37), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/5 (看更多)
※ 引述《yf2923850 (Mu)》之銘言: : 謝謝!! 我最後用了奇怪的方式把需要的功能做到了.... : http://sdf123a.myweb.hinet.net/test.rar (原始檔) : http://sdf123a.myweb.hinet.net/test.swf (SWF檔) : 可是現在卡在 擊中的判定上面 : 我用hitTest來判斷是否有碰到光束的影片片段 有碰到的話就讓球消失 : 但是hitTest在判斷上 影片片段的範圍太大了 連空白部分也算在裡面 : 導致我連光束都沒碰到球(只在附近) 球也會消失 : 我要如何把 擊中的判定限制在橘色光線上呢?? : 是要把砲台跟光束的動畫分開做嗎? 如果一條直線方程為 L1(x,y) = ax + by + c = 0 的話 那麼平面上的點 P (x0, y0) 到該直線的距離為: R(P,L1) = abs(L1(x0, y0)) / sqrt(a^2 + b^2) 如果那個球 (圓) 的圓心在 x0, y0, 半徑又為 r0 的話 只要 R(P, L1) < r0 就試為擊中 這是一種做法 但若你的物體是更複雜的幾何圖型,或/且 需要在三維空間運作的話 難度就更高了些 :p 我想到的方法有: 1) 將物件 O 化約為數個子物件 O1, O2, .... On, 且各子物件均為簡單型狀, (如球型,橢圓球,長方體等等) 再檢查火砲是否通過任一子物件 2) 將各物件進行座標轉換,自迪卡爾直角座標系統轉為觀查者為中心的極座 標 (r, theta, phi), 再將目標取其在此座標系統下,任一 r=k 之投影 又因砲彈直進,且由原點發出,故能簡易判斷該直線 (或射線) 是否與特定 球面投影上之型狀相交。 -- 鬼壓床怎麼辦 騎上去啊 Blog: http://blog.roodo.com/clifflu/ Since October, 2006 Photo Galelry: http://clifflu.pixnet.net/ 沒有了 T_T -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.61.82

05/03 19:18, , 1F
05/03 19:18, 1F
文章代碼(AID): #16ERk1e6 (Flash)
討論串 (同標題文章)
文章代碼(AID): #16ERk1e6 (Flash)