今天收到PhysicsEditor作者發過來的license key,所以順便把PhysicsEditor也嘗試了一下。主要是嘗試將PhysicsEditor與cocos2dx,box2d結合開發的一些步驟。之前大概網絡檢索了一下,知道PhysicsEditor的功能其實很簡單。一句話就是給圖片的邊緣定位,并且指定圖片對齊(重心?)位置,然后導出成plist文件。用來快速給box2d提供圖片邊緣設定的工具,懶人利器 。廢話不多說,我們一步一步開始探索吧。
1. 從官網下好安裝文件,在安裝包里找到Examples文件夾。選中Cocos2d-X中的工程,導入xcode。
可以看到,其中有其他各類框架的例子程序。選擇自己熟悉的框架目錄,簡單通過這些程序就能知道PhysicsEditor的大致使用方式。
2. 可以看到,GB2ShapeCache-x.cpp中實現了自己的解析類。主要是用來解析PhysicsEditor所生成的plist文件。在HelloWorldScene.cpp中,通過一行代碼就能將plist導入進來。
3. HelloWorldScene.cpp中其他代碼都是標準的cocos2dx和box2d語法,暫不介紹。這里主要找一下如何將plist中的配置應用到box2d具體的一個body中去。如下圖所示,只需要在創建body時調用GB2ShapeCache系列函數,將對應邊緣和對齊位置追加到body中就行了。
4. 接下來,看一下實際效果
5. 這樣物體下落時就會根據PhysicsEditor設定的邊緣,進行邊緣碰撞檢測。
6. 還缺少什么?是的,我們來看一下PhysicsEditor的真正界面,了解如何生成對應的plist。
進入工程目錄,可以看到有一個.pes后綴的文件,就是PhysicsEditor的工程文件,雙擊打開。
7. 邊緣設定和中心點都是可以手動調整的,也可以使用工具欄中的魔棒工具,自動幫你設定好邊緣。
最后,選擇Publish導出成box2d plist文件格式就OK了。
跟TexturePacker一樣,PhysicsEditor是一個簡單,但是非常實用的工具。對于cocos2dx快速開發來說確實都是很好的輔助工具。
文章列表