Cocos2d / Box2d CCRibbon Обнаружение столкновений - PullRequest
1 голос
/ 10 июня 2011

Я разрабатываю игру на iOS с cocos2d + box2d в качестве игрового движка и пытаюсь добавить CCRibbon (где точки заполняются касаниями), который я знаю, как это сделать, и получить форму этого CCRibbonсвязан с box2d, поэтому, когда объект сталкивается с ним (из-за силы тяжести), он отскакивает, как будто это обычная вещь.Кто-нибудь случайно знает, как это сделать / дать мне альтернативы?Большое спасибо, Александр Кассань

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Возьмите каждую точку и создайте тонкий статический прямоугольный прямоугольник 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. это своего рода не такой псевдокод с множеством пробелов, которые вам нужно будет заполнить. Почему там есть комментарии: P.

Это в принципекак бы я это сделалМой опыт только в box2d для флэш-памяти.

1 голос
/ 11 июня 2011
...