cocos2d-x游戏开发 跑酷(四) 关联与物理世界
原創。轉載注明出處http://blog.csdn.net/dawn_moon/article/details/21451077
前面一節盡管實現了一個跑動的人物,可是他只不過一個精靈在運行一個跑動的幀動畫而已。這一節我要實現精靈和物理世界關聯。讓這個人跟實際的Parkour一樣,有實際體積,會碰撞。
 
一個精靈怎么樣和一個物理的body關聯起來。使他具有一個剛體的特性。在cocos2d-x box2d 入門這篇文章里面,我有簡單講了一下。
有人說將一個body的userData設為精靈就能夠了,事實上這是不夠的。body的userData是一個void型指針,用來存放用戶自己定義數據。
假設只這樣賦值一下,你會發現,精靈和剛體是分開運動的。這個userData是為了存放精靈,在興許位置迭代的時候方便取出這個精靈,然后將它和剛體的位置同步。
看cocos2d-x box2d 入門里面的update函數。就知道還須要做位置迭代的。
 
為了方便,我把引擎自帶的物理精靈CCPhysicsSprite改了一下,去掉了chipmunk的代碼,保留了box2d的接口。
這個就是一個box2d的物理精靈B2Sprite。
然后將Runner里面的成員變量mRunner類型改成B2Sprite,其創建函數也要改動為
[cpp]?view plaincopyprint?
[cpp]?view plaincopyprint?
然后跑起來就看到一個帶碰撞區域的精靈
轉載于:https://www.cnblogs.com/blfshiye/p/5043551.html
總結
以上是生活随笔為你收集整理的cocos2d-x游戏开发 跑酷(四) 关联与物理世界的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: C语言编程题:(C语言)分糖果 通俗易懂
- 下一篇: Acrobat XI的破解补丁amtli
