2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、原文地址::blog.complex_okarticlecategy871440網(wǎng)上已經(jīng)有個(gè)Box2D用戶手冊(cè)的翻譯,但是基于v2.0.1,跟最新手冊(cè)有很多不對(duì)應(yīng)。在這里決定將文檔的全文再翻譯出來(lái),更準(zhǔn)確的說(shuō)是根據(jù)網(wǎng)上流傳的v2.0.1版本,將最新文檔重新整理一遍。很多內(nèi)容是直接復(fù)制自Box2Dv2.0.1用戶手冊(cè)原文:Box2Dv2.0.2UserManual譯者:AmanJIANG(江超宇)Box2Dv2.1.0用戶手冊(cè)版權(quán)?200

2、72010ErinCatto第01章導(dǎo)言導(dǎo)言(Introduction)1.1關(guān)于關(guān)于Box2D是個(gè)二維剛體仿真庫(kù)用于編寫游戲。程序員可以使用它讓游戲中的物體運(yùn)動(dòng)起來(lái)更真實(shí)讓游戲世界更具交互性。以游戲的角度來(lái)看,物理引擎只是個(gè)程序性動(dòng)畫系統(tǒng)。(proceduralanimation)(譯注:做動(dòng)畫常有兩種方法一種是預(yù)先準(zhǔn)備好動(dòng)畫所需的數(shù)據(jù),比如圖片,再一幀一幀地播放。另一種是以一定方法,動(dòng)態(tài)計(jì)算出動(dòng)畫所需的數(shù)據(jù),根據(jù)數(shù)據(jù)再進(jìn)行繪圖。從這

3、種角度看,預(yù)先準(zhǔn)備的,可稱為數(shù)據(jù)性動(dòng)畫,動(dòng)態(tài)計(jì)算的可稱為程序性動(dòng)畫。這個(gè)區(qū)別,就類似以前我們做歷史題和數(shù)學(xué)題,做歷史題,記憶很重要,也就是答案需要預(yù)先準(zhǔn)備好的。做數(shù)學(xué)題,方法就很重要,答案是需要用方法推導(dǎo)出來(lái)的。Box2D就是用物理學(xué)的方法,推導(dǎo)出那游戲世界物體的位置,角度等數(shù)據(jù)。而B(niǎo)ox2D也僅僅推導(dǎo)出數(shù)據(jù),至于得到數(shù)據(jù)之后怎么處理就是程序員自己的事情了。)Box2D用可移植的C來(lái)寫成,它定義的大部分類型都有b2前綴希望這能有效消除B

4、ox2D和你自己的游戲引擎之間的名字沖突。1.2先備條件先備條件(Prerequisites)在此手冊(cè)中我假定你已經(jīng)熟悉了基本的物理概念比如質(zhì)量(mass)力(fce)扭矩(tque)和沖量(impulses)。如果沒(méi)有建議讀一下ChrisHecker和DavidBaraff(google這些名字)的教程你不需要理解得非常細(xì)致只需很好地了解一些基本概念幫助你使用Box2D。Wikipedia也是個(gè)很好的地方,去獲取物理和數(shù)學(xué)知識(shí)。Wik

5、ipedia的內(nèi)容經(jīng)過(guò)了精心的整理,在某些方面可能比google更有用。約束約束(constraint)約束是個(gè)物理連接用于消除物體的自由度。在2D中物體有3個(gè)自由度(水平,垂直,旋轉(zhuǎn))。如果我們把一個(gè)物體釘在墻上(像鐘擺那樣)那就把它約束到了墻上。這個(gè)時(shí)候此物體就只能繞著釘子旋轉(zhuǎn)所以這個(gè)約束消除了它2個(gè)自由度。(譯注:簡(jiǎn)單的說(shuō)需要用幾個(gè)參數(shù)來(lái)確定物體的空間狀態(tài)這個(gè)物體就有幾個(gè)自由度。在二維中,完全沒(méi)有約束的條件下我們要確定物體的狀態(tài)要

6、有x坐標(biāo)y坐標(biāo)旋轉(zhuǎn)角這三個(gè)參數(shù)所以自由度為3。如果物體被釘在墻上只要有旋轉(zhuǎn)角,就可以完全確定物體的狀態(tài),有了釘子這個(gè)約束,物體自由度就變成了1。)接觸約束接觸約束(contactconstraint)一種特殊的約束設(shè)計(jì)的目的是為了防止剛體被穿透也用于模擬摩擦和恢復(fù)。接觸約束不用你來(lái)創(chuàng)建它們會(huì)自動(dòng)被Box2D生成。關(guān)節(jié)關(guān)節(jié)(joint)關(guān)節(jié)就是種約束用于將兩個(gè)或多個(gè)body固定到一起。Box2D支持不同的關(guān)節(jié)類型:轉(zhuǎn)動(dòng)(revolute)

7、棱柱(prismatic)距離(distance)等。一些關(guān)節(jié)可以有限制(limits)和馬達(dá)(mots)。關(guān)節(jié)限制關(guān)節(jié)限制(jointlimit)關(guān)節(jié)限制限定了一個(gè)關(guān)節(jié)的運(yùn)動(dòng)范圍。例如人類的胳膊肘只能在某一角度范圍內(nèi)運(yùn)動(dòng)。關(guān)節(jié)馬達(dá)關(guān)節(jié)馬達(dá)(jointmot)根據(jù)關(guān)節(jié)的自由度關(guān)節(jié)馬達(dá)可以驅(qū)動(dòng)關(guān)節(jié)所連接的物體。例如你可以使用一個(gè)馬達(dá)來(lái)驅(qū)動(dòng)一個(gè)肘的旋轉(zhuǎn)。世界世界(wld)一個(gè)物理世界就是各種剛體(bodies)夾具(fixtures)約束(

8、constraints)相互作用的集合。Box2D支持創(chuàng)建多個(gè)世界但這通常沒(méi)有必要。libgdx核心概念應(yīng)用到游戲之初步理解:1、利用wld模擬創(chuàng)建游戲的物理世界;2、利用body創(chuàng)建各種通用物體;3、利用fixtures給予通用物體基本屬性(密度、摩擦力)以仿真各種真實(shí)物體;4、利用joint將兩個(gè)或多個(gè)物體(body)關(guān)聯(lián)到一起,創(chuàng)建組合一起運(yùn)動(dòng)的物體,如旋轉(zhuǎn)機(jī)器人,類似使用組合多個(gè)圖片實(shí)現(xiàn)動(dòng)畫效果的物體。5、當(dāng)游戲中各種物體狀態(tài)發(fā)

9、生改變,導(dǎo)致出現(xiàn)碰撞時(shí),contact及contactconstraint就出現(xiàn)了,contact用來(lái)表示兩個(gè)物體之間出現(xiàn)了碰撞,contactconstraint用于限制碰撞的影響范圍。6、通常游戲需要對(duì)物體的碰撞進(jìn)行處理,以實(shí)現(xiàn)游戲效果,此時(shí)需要利用ContactListener相應(yīng)的接口消除部分物體的碰撞、記錄發(fā)生碰撞的物體狀態(tài)以立即實(shí)現(xiàn)游戲效果。1.6模塊模塊(Modules)Box2D由三個(gè)模塊組成:公共(Common)、碰撞

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論