《Box2D物理遊戲程式設計基礎》意見徵集

ladeng6666發表於2013-05-14

在這個智慧手機、平板計算機風靡世界的年代,與其坐在計算機前,勞氣傷神的玩上一天的大型遊戲,反而不如在上下班路上、午休期間,掏出手機玩一兩局簡單的益智遊戲,更能讓人放鬆身心。加上現在Ios和Android兩大主流移動平臺系統,結合多樣化的觸屏體驗,給人帶來了五無比的樂趣,讓人慾罷不能。

看看時下比較流行的遊戲,憤怒的小鳥、搗蛋豬、小鱷魚愛洗澡、猴子也瘋狂等等,大都是模擬真實物理碰撞類的遊戲,本書將向你介紹一個專門用於此類遊戲開發的開源物理引擎:Box2D。它也是業界遊戲開發者常用的一個物理引擎,它可以幫我們可以省去複雜的物理公式計算,快速的建立自己的物理遊戲!

網上搜尋一下Box2D,相關開發教程猶如雨後春筍,層出不窮,也包括官方的Box2D使用手冊,筆者也曾試著去學習這些教程,但總是找不到切入點,剛體啊、世界啊,毫無頭緒,剪不斷,理還亂(你有沒有類似的感覺?)。直到我看到了emanuele feronato網站,他的教程淺顯易懂,讓我真正入了門,本著向Emanuele feronato學習的精神,我寫下了這本書,將Box2D學習經驗分享給各位初學者,希望這本書能帶來你所想要的。

對Box2D感興趣的讀者,可以在我的網站上,試讀我的Box2D系列教程(同時也是9RIA天地會論壇精品文章),地址如下:

http://www.ladeng6666.com/blog/category/box2d/

本書目前已經完成了前7章的編寫,內容相對於網站上的教程,更加系統和詳細。希望對Box2D剛興趣的讀者多多提建議,把你想要理解的內容反饋給我。 您可以通過郵件和我溝通 ladeng6666@163.com

本書目錄大致如下:

前言
A.1 是否需要物理知識
A.2 適用物件
A.3 需要的什麼
A.4 convention

  1. 認識Box2D世界
    1.1 什麼是Box2D引擎
    1.2 建立Box2D世界
    1.2.1 重力
    1.2.2 建立物理的b2world世界
    1.3 開啟Box2D模擬
    1.4 小結

  2. Box2D剛體
    2.1 什麼是剛體
    2.2 在世界中建立剛體
    2.2.1 b2BodyDef
    2.2.2 b2FixtureDef
    2.3 b2DebugDraw除錯檢視
    2.4 靜態剛體、動態剛體和KINEMATIC剛體
    2.5 剛體的形狀 2.5.1 簡單的形狀 2.5.2 複雜的多邊形
    2.6 質量、摩擦係數、彈性係數
    2.7 自定義屬性實現剛體貼圖
    2.8 小結

  3. 剛體互動
    3.1 選擇並刪除剛體 3.2 滑鼠拖動剛體
    3.3 移動剛體 3.3.1 力,循序漸進——ApplyForce 3.3.2 速度疊加——ApplyImpulse
    3.3.3 一觸即發——SetLinearVelocity 3.4 旋轉剛體 3.5 小結

  4. 自定義Box2D剛體運動(給剛體加的料) 4.1 LDEasyBox2D 讓Box2D簡單一點 4.2 改變剛體運動軌跡 4.2.1 漂浮的氣球 4.2.2 拋擲小鳥 4.2.3 加速跳躍
    4.3 只檢測不碰撞
    4.3.1 isSensor感測器剛體 4.3.2 FilterData讓剛體井水不犯河水 4.4 剛體縮放
    4.5 小結

  5. 剛體碰撞檢測
    5.1 碰撞事件偵聽器b2ContactListener
    5.3 自定義碰撞偵聽器 5.2 獲取碰撞資訊
    5.2.1 碰撞物件
    5.2.2 碰撞位置 5.2.3 碰撞衝量 5.2.4 像Flash一樣偵聽Box2D碰撞事件 5.4 遊戲中的碰撞處理 5.4.1 漂浮的氣球 5.4.2 萬有引力 5.5 小結

  6. 關節
    6.1 認識Box2D關節 6.1 b2MouseJoint滑鼠關節 6.6 b2PrismaticJoint 平移關節
    6.7 LineJoint 線段關節 6.3 b2RevoluteJoint馬達關節
    6.2 b2DistanceJoint連桿關節
    6.5 b2WeldJoint組合關節 6.4 b2PulleyJoint滑輪關節 6.8 GearJoint
    6.9 FrictionJoint

  7. 控制器 7.1 b2buoyancyController
    7.2 b2GravityController 7.3 b2ConstantAccelController 7.4 b2ConstantForceController 7.5 b2TensorDampingController

  8. 遊戲中的Box2D應用

  9. 移動裝置中的物理遊戲開發

相關文章