这几天在cocos2dx上的心得

想把PRKIT放到cocos2dx上运行以及CCBLADE都移过来,但是却频繁出莫名其妙的问题,不得其解,看代码改动主要是CCPoint以及b2Vec2的转换。

1.cocos2d的CGPoint是个结构体,而cocos2dx的CCPoint是个类,这2个有本质的区别,b2Vec2也是一个结构体。glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, vertices);vertices一定得是个结构体数组。

2.box2d很多函数,比如const b2Vec2& b2PolygonShape::GetVertex(int32 index)返回的是个引用,而不是结构体的复制。因此在box2d对象被释放时候这个结构体有可能不存在了,所以一定要自己重新创建一个结构体自己用是这样b2Vec2(x,y)。