iphone - Cocos2d/Box2d CCRibbon 碰撞检测

标签 iphone ios cocos2d-iphone box2d

我正在使用 cocos2d+box2d 作为游戏引擎在 iOS 上开发一款游戏,我正在尝试添加一个 CCRibbon(其中的点会被触摸填充),我知道如何添加并获得该 CCRibbon 的形状连接到 box2d,所以当一个物体与它碰撞时(由于重力),它会弹开,就好像它是正常的东西一样。有人会碰巧知道怎么做/给我替代方案吗? 非常感谢, 亚历山大·卡萨涅

最佳答案

获取每个点并使用这些点+调整使其成为一个形状来创建一个薄的静态矩形 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 的组合。它是一种不太伪的代码,有很多你需要填充的空白in. 为什么会有评论 :P.

这基本上就是我会怎么做。不过,我的经验仅限于 box2d for flash。

关于iphone - Cocos2d/Box2d CCRibbon 碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310300/

相关文章:

iphone - 获取TMXTiledMap的tileet文件名

iphone - 如何使用 NSData 或使用数据字节 objective-c 生成 pdf?

iphone - 通过推送通知发送超过 256 字节的数据

ios - 使用钥匙串(keychain)存储设备标识符

ios - UIView 上面的 UIAlertView

ios - 在更大的背景上处理玩家移动

iphone - 碰撞检测

iphone - MonoDevelop/MonoTouch #if iPHONE?

ios - 如何在 iOS 中点击缩放和双击缩小?

ios - 如何使用 setBlendFunc 将 CCSprite 转换为黑白/灰色