引擎簡介
[3]對於iPhone、iPad和Android遊戲,可以使用Cocos2d遊戲引擎和Corona Framework。
安裝
由於box2d套用了cmake,所以要先下載安裝cmake
box2d的最新版
可在下面網址下載。
vs可選擇vs2010專業版
打開cmake,在where is source code 選擇box2d解壓後的資料夾,不是裡面的box2d資料夾,
在where to build the binaries 選擇/Box2D_v(版本)/Build
點configure選擇vs版本,然後運行,沒有出錯就行(指的是沒有最後沒生成box2d.sln,可以看按鈕下面有 沒有紅色的提示),然後再按 generate,那么在build裡面就可生成box2d.sln,
沒有的話就是出錯,照上面看看where is source code選擇的資料夾有沒有錯。
打開box2d.sln,選擇testbed或者helloworld為你的啟動項目,在選擇release,可生成testbed。
如果還遇到錯誤,那就登入作者的論壇去看看別人發的貼子有沒有你的錯誤,網頁可翻譯後在看
這個只是用來box2d的測試,了解一些box2d的工作原理,並不是box2d庫的的一部分
box2d是由freeglut和glui製作的。
名稱解釋
•世界world
世界本是混沌的一體,盤古的神斧砍下去之後才有了天和地,形成了真正的世界,之後才有了山川、河流、花草、樹木。Box2D也一樣,現在Box2D在我們的腦中也是混沌的一片,在創建物體或進行物理模擬之前,首先我們也是要先創建世界。
Box2D中用b2World類來表示世界。它是Box2D的一個核心類之一,集成了Box2D對所有對象的創建、刪除、碰撞模擬的相關接口。
•剛體Body
生活中我們看到的任何物體都可以用東西來描述,會飛的東西是鳥,踩油門能跑的東西是汽車,能載船的東西是水,有半徑的東西是圓,有寬和高的東西是矩形。“東西”這個詞在Box2D的字典中叫做“剛體”,英文名字叫b2Body。
b2Body是Box2D的核心類,是學習Box2D的基礎,也是重中之重。b2Body用來模擬現實物理世界中的所有物體。Box2D中的任何碰撞、反彈、運動軌跡等各種物理現象模擬和數據計算都是基於剛體實現的,所以剛體b2Body所包含的信息有很多,如物體的坐標、角度、受力大小、速度、質量等大量的信息。
•定點Fixture
英文“Fixture”是“固定設施”的意思(一些網路教程中也譯為“夾具”,"定製器"),在Box2D中b2FixtureDef用來定義剛體所固有的一些屬性,並保存在b2Fixture對象中。現實中通常是物體材料特性相關的一些屬性,如剛體的密度、摩擦係數等屬性都是由b2FixtureDef保存的。
•形狀
形狀是一個b2Shape類型的對象,實現了剛體的具體形狀,Box2D將基於這個形狀進行精確的物理碰撞模擬。實際上,b2Shape只是一個抽象的父類,沒有實際創建形狀的過程。在實際開發過程中,b2FixtureDef.shape的屬性值都是b2CircleShape、b2PolygonShape等b2Shape的子類對象。
基本用法
-Testbed 設定(linux, windows, mac)
-Testbed 結構
-為testbed創建一個‘test’
-剛體體(Bodies)
-定製器(Fixtures)
-World設定
-自定義重力(Custom gravity)
-力與衝量(Forces and impulses)
-勻速運動(Moving at constant speed)
-讓物體按指定角度旋轉(Keeping a body rotated at given angle)
-跳躍(Jumping)
-使用debug draw
-畫自己的物體(Drawing your own objects)
-User data
-碰撞剖析(Anatomy of a collision)
-碰撞回調(Collision callbacks)
-碰撞過濾(Collision filtering)
-感測器(Sensors)
-射線投射(Raycasting)
-查詢World(World querying)
-移除物體(Removing bodies)
-“觸地”問題(The ‘touching the ground’question)
-連線器(Joints)
-一些陷阱(Some gotchas)
高級話題
-車輛懸浮(Vehicle suspension)
-黏性彈力(Sticky projectiles)
-飛行軌跡(Projected trajectory)
-爆炸(Explosions)
-易碎物體(Breakable bodies)
-自上而下汽車物理(Top-down car physics)
-地形(Terrain)
-單面牆和平台(One-way walls and platforms)
-傳送帶(Conveyor belts)
-自動扶梯?(Escalators?)
-電梯(Elevators)
-飛箭(Arrow in flight)
-高級運動特性(Advanced character movement)
相關書籍
《Box2D物理遊戲編程初學者指南》
•書籍介紹
•書籍目錄