2013-07-29 6 views
0

Как я могу обновить пространство в chupmunk Мой код:Бурундук: как обновить форму?

// left 
    shape1 = cpSegmentShapeNew(edge, cpvzero, cpv(0.0f, size.height), 0.0f); 
    shape1->u = 0.1f; // minimal friction on the ground 
    shape1->e = 0.7f; 
    cpSpaceAddStaticShape(_space, shape1); // a body can be represented by multiple shapes 

    // top 
    shape2 = cpSegmentShapeNew(edge, cpvzero, cpv(size.width, 0.0f), 0.0f); 
    shape2->u = 0.1f; 
    shape2->e = 0.7f; 
    cpSpaceAddStaticShape(_space, shape2); 

    // right 
    shape3 = cpSegmentShapeNew(edge, cpv(size.width, 0.0f), cpv(size.width, size.height), 0.0f); 
    shape3->u = 0.1f; 
    shape3->e = 0.7f; 
    cpSpaceAddStaticShape(_space, shape3); 

    // bottom 
    shape4 = cpSegmentShapeNew(edge, cpv(0.0f, size.height), cpv(size.width, size.height), 0.0f); 
    shape4->u = 0.1f; 
    shape4->e = 0.7f; 
    cpSpaceAddStaticShape(_space, shape4); 

если мяч касаться дна формы Ball touch как этот after collosion мяч идти вверх, но нижняя форма удаления и отображать зеленую линию, что хотите я сделать, но я не знаете, как удалить фигуру из тела. любые предложения приветствуются.

ответ

-1
cpSpaceRemoveStaticShape(_space, shape4); 
+0

Как это ответ. Возможно, это сработало, но без объяснения того, что это такое, это не совсем хороший ответ. -1 будет удалять, когда будет включать объяснение. – Popeye

0

Так что три вещи.

1) Функции cpSpace [Добавить | Удалить] StaticShape() устарели, и вместо этого вы должны использовать функции cpSpace [Добавить | Удалить] Shape().

2) Как сказано в последнем ответе, cpSpaceAddShape() добавит форму в пространство. Если вы хотите удалить его, вы вызываете cpSpaceRemoveShape(). Там действительно ничего более, чем это.

3) Бурундук не имеет графики, поэтому, если вы хотите нарисовать зеленую линию, вам нужно использовать любую функциональность, предоставляемую вашей графикой или библиотекой рендеринга.

Смежные вопросы