我創建了這個相當簡單的JavaScript;球或「分子」在屏幕上移動。我希望增加功能,當一個球與另一個球接觸時,他們交換速度。我們不必擔心任何角度,只是當他們彼此接觸時,速度會互換。 (而不是改變速度,雖然在代碼鏈接,我剛剛編碼顏色變化)Javascript:簡單粒子運動,粒子彈性彈跳其他粒子
我一直在試圖調用函數'someplace'來識別分子觸摸時,但我沒有運氣好。我不明白爲什麼。
鏈接代碼:
似乎有三個主要問題:
分子似乎是隨機變化的,而不是在兩個分子碰。
當一個設置在陣列具有發言權,3個分子,只有兩個出現,第一個是實際存在的,但不響應.fillstyle變化,靠在帆布
所以不可見隨着功能的方法我會只有當陣列中的一系列分子(1和2或4和5)接觸時才能夠識別...我如何檢查所有分子?
你可能想看看四叉樹碰撞檢測與屏幕上的許多項目一次,因此快速移動:http://gamedev.tutsplus.com/tutorials/implementation/quick-tip-use-quadtrees-to-detect-likely-collisions-in-2d-space/ – eterps
@eterps:你真的嘗試過這種解決碰撞的方式嗎?本文提出了一種不適合javascript的方法 - 創建了太多的垃圾回收,創建了太多的垃圾回收,並且提到了一些「細節」,這些細節只會......使其工作。除非有非常特殊的需求,否則簡單的空間散列表現會更好。 – GameAlchemist