DEMO: http://cnwander.com/demo/billiards/ 原文地址:http://cnwander.com/blog/?p=11
JS小游戲系列: [JS小游戲]貪吃蛇+詳細(xì)注釋
先貼上代碼:
運行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
雖厚顏冠名桌球,其實與真實桌球還相差甚遠(yuǎn),還有太多需要改進(jìn)的地方。 具體待解決的問題:
- 由于瀏覽器上刷新頻率不可能太高,可能當(dāng)檢測兩球距離時,兩球已經(jīng)重疊了大部分,甚至完全越過。
完全越過的情況先不考慮,重疊部分如果還原到精確的相切狀態(tài),運行非常緩慢,所以我只采用了計算量較少的近似值,具體問題主要體現(xiàn)在開球時,多球碰撞時有些詭異。 (如果哪位有好的優(yōu)化計算方法,可以拿出來與wander分享,那wander真的感激不盡)
- 球自身滾動與桌面摩擦力問題。如正中擊球的瞬間,母球滑行狀態(tài)的摩擦力會大于向前滾動時的摩擦力,小于縮桿時摩擦力等等。這個問題好解決,只是剛開始沒考慮進(jìn)去,之后也沒添加了,具體體現(xiàn)在兩球正撞后,撞擊球?qū)⑼耆o止,這是不正確的。
- 能量損耗問題,無論與邊沿碰撞還是球與球相撞,都是直接減去一個固定值,這肯定是存在很大問題的。
其它肯定還會有很多問題,擔(dān)心假期把心玩油了,回頭沒心思繼續(xù),干脆一氣呵成,趕得有些匆忙,問題回頭再慢慢解決吧,先發(fā)上來,對這塊有興趣的同學(xué)一塊兒探討探討。
大學(xué)數(shù)學(xué)基本是過場,高中的物理數(shù)學(xué)與忘得所剩無幾,真正做東西才發(fā)現(xiàn)自己這塊太薄弱,希望在這方面經(jīng)驗比較豐富的同學(xué)不吝賜教。
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 下一頁 JS實現(xiàn)2D桌球小游戲 [2]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|