Создайте cpShape из CGRect в cocos2d и chipmunk - PullRequest
0 голосов
/ 04 ноября 2011

Я не могу понять, как создать cpShape, который будет соответствовать CGRect.Вот что я попробовал до сих пор, но безуспешно:

    CGPoint p1 = rect.origin;
    CGPoint p2 = CGPointMake(rect.origin.x + rect.size.width, rect.origin.y);
    CGPoint p3 = CGPointMake(rect.origin.x, rect.origin.y + rect.size.height);
    CGPoint p4 = CGPointMake(rect.origin.x + rect.size.width, rect.origin.y + rect.size.height);

    int num = 4;
    CGPoint verts[] = {p2, p1, p3, p4};
    shape = cpPolyShapeNew(body, num, verts, cpvzero);

Я не понимаю, почему это не подходит для моего CGRect?

1 Ответ

1 голос
/ 05 ноября 2011

Ответ от имени user251552

Хорошо, я понял это:

//Converting points in chipmunk coordinates
    CGPoint p1 = CGPointMake(-rect.size.width/2, -rect.size.height/2);
    CGPoint p2 = CGPointMake(-rect.size.width/2, +rect.size.height/2);
    CGPoint p3 = CGPointMake(+rect.size.width/2, +rect.size.height/2);
    CGPoint p4 = CGPointMake(+rect.size.width/2, -rect.size.height/2);

    int num = 4;
    CGPoint verts[] = {p1, p2, p3, p4};

    shape = cpPolyShapeNew(body, num, verts, cpvzero);
...