Exemple #1
0
void Board::InitDemo() {
  physics->SetIterations(20);
  physics->SetSteps(1);
  physics->ResizeStaticHash(40.0f,1000);
  physics->ResizeActiveHash(40.0f,1000);

        PhysicsObject* obj = physics->CreateStaticObject();
        obj->AddSegmentShape(SexyVector2(0,470), SexyVector2(640, 470), 0.0f,1.0f,1.0f);

        float radius = 15.0f;
        obj = physics->CreateObject(10.0f, physics->ComputeMomentForCircle(10.0f, 0.0f, radius, SexyVector2(0.0f,0.0f)));
        obj->SetPosition(SexyVector2(320,  455));
        obj->AddCircleShape(radius, SexyVector2(0,0), 1.0f,1.0f);

        int num = 4;
        SexyVector2 verts[] = {
                SexyVector2(-15,-15),
                SexyVector2(-15, 15),
                SexyVector2( 15, 15),
                SexyVector2( 15,-15),
        };

        int i,j;
        for(i=0; i<14; i++){
                for(j=0; j<=i; j++){
                  PhysicsObject* obj = physics->CreateObject(1.0f, physics->ComputeMomentForPoly(1.0f, num, verts, SexyVector2(0.0f,0.0f)));
                  obj->AddPolyShape(num, verts, SexyVector2(0.0f,0.0f),0.0f,0.4f);
                  obj->SetPosition(SexyVector2(300 + j*32 - i*16,  i*32));
                }
        }

}
Exemple #2
0
PhysicsObject* Board::MakeBox(const SexyVector2& position) 
{
  int num = 4;
  SexyVector2 verts[] = {
    SexyVector2(-15,-7),
    SexyVector2(-15, 7),
    SexyVector2( 15, 7),
    SexyVector2( 15,-7)
  };

  PhysicsObject* obj;
  obj = physics->CreateObject(1.0f, physics->ComputeMomentForPoly(1.0f, num, verts, SexyVector2(0.0f,0.0f)));
  obj->AddPolyShape(num, verts, SexyVector2(0.0f,0.0f),0.0f,1.0f);
  obj->SetPosition(position);

  return obj;
}