Einzelnen Beitrag anzeigen

Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#3

Re: [Andorra 2D]PhysicalTriangleSprite

  Alt 28. Dez 2008, 22:43
So, ich habe einen kleinen Fortschritt gemacht: Das Dreieck ist jetzt einigermaßen stabil, nur die Textur ist ein bisschen zu klein. Also die anderen Physicalsprites kollidieren noch ausßerhalb der Textur (im Anhang ist ein Bild, mit dem man das besser zeigen kann. Die grünen Linien sind die Grenzen des Dreiecks, an denen die blauen Bälle kollidieren)

Der Quelltext sieht jetzt so aus:
Delphi-Quellcode:
procedure TPhysicalTriangleConstruct.CreateConstruct(
  AData: TPhysicalConstructData);
var
  Collision:PNewtonCollision;
  Inertia:TAdVector3;
  Mat1:TAdMatrix;
begin
  if AData is TPhysicalSimpleData then
  begin
    with AData as TPhysicalSimpleData do
    begin
      Mat1 := AdMatrix_Rotation(0, 0 ,135 * Pi / 180);

      Collision := NewtonCreateCone(Parent.NewtonWorld, Width, Height, @mat1[0,0]);
      NewtonBody := NewtonCreateBody(Parent.NewtonWorld, Collision);
      NewtonReleaseCollision(Parent.NewtonWorld, Collision);

      with Inertia do
      begin
        x := Mass * (sqr(Height) + 10000) / 12;
        y := Mass * (sqr(Width) + 10000) / 12;
        z := Mass * (sqr(Width) + sqr(Height)) / 12;
        NewtonBodySetMassMatrix(NewtonBody, Mass, x, y, z);
      end;

      NewtonBodySetForceAndTorqueCallback(NewtonBody, ForceAndTorqueCallback);
    end;
  end;
end;
Miniaturansicht angehängter Grafiken
dreieck_620.jpg  
Benjamin
Optimismus ist nur ein Mangel an Information
  Mit Zitat antworten Zitat