Chipmunk是一个支持iPhone平台游戏开发的2D物理引擎,提供2D physic和rigid body特性。Chipmunk特性是灵活和易用。
下面是关于Chipmunk的简介和一个简单的教程
- Introduction
- Setup
- Basic Concepts
- Initializing Chipmunk
- Defining the ball's body and shapes
- Tracking the ball's movements
- Defining the floor's body and shapes
- Evaluating the results & Conclusion
- Download the complete project
chipmunk本是一个独立的开源项目,用纯c编写.cocos2d同时整合了chipmunk和box2d两个物理引擎.
相比之下,chipmunk更轻量易用,但是相关的文档很少.
box2d还没开始学习,暂时不敢妄言.
chipmunk的官方地址:http://code.google.com/p/chipmunk-physics/
之所以在对cocos2d还一知半解的时候就开始学chipmunk,是因为公司最近给的项目,需要用到物理引擎.被人赶着学习也是件好事,因为俺的确是 个懒人.
[一些基本的概念]
space:这是一个虚拟出物理空间,所有刚体(body),形状(shape),连接(joint)都在这个空间里发生物理事件.
body:刚体.在物理上,刚体是被抽象为一个物理例子实体单元去看待的,但是它不同与真正的粒子,因为刚体可以有形状(shape)并且可以旋转.另 外,刚体上附带着最基本的物理属性:
shape:刚体的形状.刚体间发生碰撞,是以刚体的形状外延为碰撞临界的.一个刚体可以附加多个shape形成复杂的刚体外形.同属于一个刚体的形状之 间不会发生碰撞.
joint:连接,两个以上的刚体连接在一起,比如一条锁链,是由多个刚体的铁环组成的.具体joint的使用,暂时还没深入研究.
[Demo HelloChipmunk]
利用cocos2d的项目模板,可以方便的建立一个支持cocos2d和chipmunk的项目.
与HelloCocos2d类似的,初始项目还是建立了一个AppDelegate和一个CCLayer的实现(HelloChipmunkScene, 这个模板命名我觉得有点问题,其实这个类是继承自CCLayer的,可是却以Scene冠名).
AppDelegate与上一个项目HelloCocos2d的完全一样,不再做重复分析了.
直接看关键