2011-06-10 132 views
1

我正在iOS上开发一款游戏作为游戏引擎,并且试图添加一个CCRibbon(其中的点可以用触摸填充),我知道如何,并让CCRibbon的形状与box2d相连,所以当一个物体与它碰撞时(由于重力),它会反弹,就好像它是正常的东西。会有人碰巧知道如何做到这一点/给我的选择? 非常感谢, 亚历山大CASSAGNECocos2d/Box2d CCRibbon碰撞检测

回答

1

每次取点,并使用积分+调整,使其形状的薄静态矩形Box2D的多边形。

for (int i = 0; i < ccribbon.points.length - 1; i++) 
{ 
    int j = i; 
    j++; 
    int width = 2; 

    Array ar = []; 
    ar[0] = new b2Vec2(ccribbon.points[i].x, ccribbon.points[i].y); 
    ar[1] = new b2Vec2(ccribbon.points[i].x + width, ccribbon.points[i].y + width); 
    ar[2] = new b2Vec2(ccribbon.points[j].x, ccribbon.points[j].y); 
    ar[3] = new b2Vec2(ccribbon.points[j].x + width, ccribbon.points[j].y + width); 

    //create new static object 
    b2Polygon b2p = new b2Polygon(); 
    b2p.setAsArray(ar); 

    //do rest to add it to world etc. 

} 
当然

不要复制的代码正是它只是从我记得,我也确信它的C#组合和ActionScript 3的kindof一个有很多空白,你的不那么伪代码”你需要填写。为什么评论在那里:P。

这基本上是我怎么做,但。虽然我的经验只是在box2d。

+0

谢谢我会试试然后接受你的答案。我会尝试“移植”它,因为它是ObjectiveC的;) – 2011-06-15 13:42:48

1
+0

我有......并且确实用于创建预定义的简单精灵(一个盒子,一个球......等等),确定形状(正方形,圆形等等)非常简单。但是,无法访问CCRibbon的形状。没有积分,我无法创造形状。没有形状,我不能创建夹具。 谢谢反正, 亚历山大卡萨涅 – 2011-06-11 21:45:11

+0

然后看看这个... http://www.physicseditor.de/ – Anish 2011-06-12 05:35:35

+0

这是非常好的,但问题是它不是动态的。无论如何,动态获取任何cocos2d形状并将其转换为box2d形状? – 2011-06-12 09:43:27