读书人

cocos2dx+box2d兑现物体爆裂效果

发布时间: 2012-07-30 16:19:05 作者: rapoo

cocos2dx+box2d实现物体爆裂效果
1.说明

    整个实现参考了网上的flash代码,代码也还没有做优化爆炸点是按照受理点随即角度裂开的,在下面例子中就是用的鼠标click点。对于分裂后的碎块如果太小,则直接丢弃。切分是用的box2d的raycast来实现的,切分完毕后在创建ccsprite为了绘制纹理,修改了CCSprite类,使之可以画一个纹理的某个区域,当然也可以从其继承一个类实现。由于自己工程的需要,原始的被切分body不能放在这儿释放,故做了下特殊处理。如果要实现爆炸效果,需要在切分完毕后给box2d对象一个冲量,目前设置为{1,1},可根据实际情况修改zArray为自己的用的array类,可以用类似的类或者直接用数组实现接口函数为BodyExplosion,此处可以将分裂次数作为参数传入



    2.分裂代码2.1 头文件

    void CCSprite::draw(void){CCNode::draw();CCAssert(! m_bUsesBatchNode, "");if(m_polyVertexCount!=0){drawPoly();return;}



读书人网 >操作系统

热点推荐