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

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

1

18.09.2009, 15:17

Box2D veränderbare Gravitation?

Huhu,

die Frage richtet sich an die, welche schon etwas mehr Erfahrung mit Box2D haben und zwar geht es um folgendes:

Ich habe einen Groundbody auf dem ein dynamischer Body liegt. Nun möchte ich beispielsweise per Pfeiltasten den Groundbodie nach links und rechts schwenken und dabei soll sich die Gravitation ändern (Siehe Bild).

http://www.250kb.de/u/090918/j/9ddea040.jpg

Meine Fragen nun:

1. Kann man die Gravitation während der Simualtion ändern?! Denn mir ist bisher nur bekannt das Box2D mit konstanter Gravitation arbeitet.

2.Ist es möglich zur Laufzeit (während der Box2D Simulation) das Sprite des Groundbodies zu drehen, sodass sich das Box2D-Polygon mit anpasst?

Hoffe mir kann jemand helfen. Grüße Toa

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

18.09.2009, 15:18

ja kannst du machen, du gibst ja für die gravitation einen vektor an. und denn kannst du bei der world mit der methode setgravity ändern wie dir lustig ist ;)

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

3

18.09.2009, 15:21

Nunja, Box2D arbeitet aber mit konstanter Gravitation. Ich möchte diese ja während der Simulation ändern!

4

22.01.2010, 16:07

Zitat

ja kannst du machen, du gibst ja für die gravitation einen vektor an. und denn kannst du bei der world mit der methode setgravity ändern wie dir lustig ist



Zitat

Nunja, Box2D arbeitet aber mit konstanter Gravitation. Ich möchte diese ja während der Simulation ändern!


Ja, das geht doch während der Simulation:



C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
//Global:

b2Vec2 gravity;

//Hier startest du die Simulation (vor der Gameloop)

gravity.Set(-50.0f, -10.0f);
m_world = new b2World(m_worldAABB, gravity, doSleep);


//Hier änderst du nur die Gravitation (während der Gameloop)

gravity.Set(50.0f, 10.0f);
m_world->SetGravity(gravity);



PS: Beschäftige mich im Zusammenhang mit der Planung einer neuen 2D-AllInOne-Engine seit ein paar Wochen mit Box2D. Das Spiel nach GooseGogs wird dann davon Gebrauch machen ;)

Werbeanzeige