Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

11

06.12.2011, 21:32

Zitat

Oder muss ich erst mühselig einen statischen erstellen, darunter den MiniRectBody der dann auf dynamisch ist und mit einem b2DistanceJoint mit dem erstellten statischen Objekt verbunden ist und dann mit dem b2RevoluteJoint fortfahren?
nein, so wie du es in deinem anfangspost erklärt hast stimmts schon.

das Problem ist, dass ich dir ohne mehr Code auch nicht weiterhelfen kann, da es ja nicht an deinem Joint liegt. Bei mir funktioniert es einwandfrei.
New Project: Operation CityRacer

12

06.12.2011, 21:43

Dann mal alle Definitionen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
b2World *world = new b2World(b2Vec2(0, 9.81f));

    //Quadrat//
    b2BodyDef MiniRectBodyDef;
    MiniRectBodyDef.type  = b2_dynamicBody;
    MiniRectBodyDef.angle = 266;
    MiniRectBodyDef.position.Set(425, 275);
    b2Body *MiniRectBody = world->CreateBody(&MiniRectBodyDef);
    b2PolygonShape MiniRectPolygonShape;
    MiniRectPolygonShape.SetAsBox(1, 1);
    b2FixtureDef MiniFixRectDef;
    MiniFixRectDef.shape       = &MiniRectPolygonShape;
    MiniFixRectDef.density     = 1.f;
    MiniFixRectDef.friction    = 5.f;
    MiniFixRectDef.restitution = 1.f;
    b2Fixture *MiniFixRect = MiniRectBody->CreateFixture(&MiniFixRectDef);

    b2BodyDef RectBodyDef;
    RectBodyDef.type  = b2_staticBody;
    RectBodyDef.angle = 266;
    RectBodyDef.position.Set(425, 275);
    b2Body *RectBody = world->CreateBody(&RectBodyDef);
    b2PolygonShape RectPolygonShape;
    RectPolygonShape.SetAsBox(50, 50);
    b2FixtureDef FixRectDef;
    FixRectDef.shape       = &RectPolygonShape;
    FixRectDef.density     = 1.f;
    FixRectDef.friction    = 5.f;
    FixRectDef.restitution = 1.f;
    b2Fixture *FixRect = RectBody->CreateFixture(&FixRectDef);

    b2RevoluteJointDef RevJointDef;
    RevJointDef.Initialize(MiniRectBody, RectBody, MiniRectBody->GetWorldCenter());
    RevJointDef.enableLimit = false;
    RevJointDef.maxMotorTorque = 100000.0f;
    RevJointDef.motorSpeed = 30.0f;
    RevJointDef.enableMotor = true;
    b2RevoluteJoint *RevJoint       = (b2RevoluteJoint*)world->CreateJoint(&RevJointDef);


Achso: Natürlich bin ich nicht so unkonzentriert dabei, dass ich die Rotation nicht setzen würde. :thumbsup:

MfG
Check

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (06.12.2011, 22:01)


Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

13

06.12.2011, 22:33

mal ne Frage noch: sollte MiniRectBody nicht statisch sein? und sollte dein anderer Body nicht dynamisch sein?
New Project: Operation CityRacer

14

07.12.2011, 15:57

Copy&Paste-Fehler.... :S

MfG
Check

Werbeanzeige