Box2D 물리 엔진을 사용하고 있습니다. 그리고 box2D에는 b2PolygonShape이라는 모양이 있습니다.
이 클래스에서는 다각형을 만들 수 있습니다. 포인트 배열과 정점 카운트를 취하는 Set () 함수도 있습니다.
Box2D에는 다음과 같은 예가 있습니다.
// This defines a triangle in CCW order.
b2Vec2 vertices[3];
vertices[0].Set(0.0f, 0.0f);
vertices[1].Set(1.0f, 0.0f);
vertices[2].Set(0.0f, 1.0f);
int32 count = 3;
b2PolygonShape polygon;
polygon.Set(vertices, count);
작동합니다. 그러나이 기능을 연습하고 엉망으로 만들려고했을 때 다음과 같이했습니다.
b2Vec2 vertices[4];
vertices[0].Set(0, 0);
vertices[1].Set(0,10);
vertices[2].Set(10,10);
vertices[3].Set(10,0);
int32 count = 4;
b2PolygonShape polygon;
polygon.Set(vertices, count);
컴파일하고 실행했을 때 Set () 함수 후에 충돌했습니다. 이것이 사각형을 만들지 않습니까?
또한 콘솔에서 나는 이것을 얻었다.
Assertion failed: s > 0.0f
내가 뭘 잘못 했어?