[Box2D, C++] Wystrzał
Ostatnio zmodyfikowano 2013-06-04 20:04
kubawal Temat założony przez niniejszego użytkownika |
[Box2D, C++] Wystrzał » 2013-04-27 20:54:13 Witam! Chcialbym sie spytac, jak mozna zasymulowac wystrzal w Box2d. Np. if( sf::Keyboard::IsKeyPressed( sf::Key::Space ) { b2BodyDef kulaDef; b2Body kula = world->CreateBody( kulaDef ); b2CircleDef kulaShapeDef kula->CreateShape( kulaShapeDef ); kula->SetMassFromShapes();
Czy ktoś wie jak to zrobic? |
|
pekfos |
» 2013-04-27 20:56:18 Nadaj obiektowi prędkość. Szukałeś w dokumentacji Box2D? |
|
kubawal Temat założony przez niniejszego użytkownika |
» 2013-04-27 21:09:19 Szukałem w manualu ale nic konkretnego nie znalazłem. Może do dlatego ze angielskiego się dopiero uczę :) Nadać prędkość? A jak mam skierować kulę w odpowiednie miejsce za pomocą samej prędkości? |
|
DejaVu |
» 2013-04-27 21:25:16 |
|
kubawal Temat założony przez niniejszego użytkownika |
» 2013-04-27 21:43:51 Żaden z tych programów z linków nie jest w C++ |
|
MrPoxipol |
» 2013-04-27 21:54:36 Wystarczy, że przeniesiesz(czyt. przepiszesz) go na C++. Trochę kreatywności.. |
|
kubawal Temat założony przez niniejszego użytkownika |
» 2013-04-28 19:34:03 Gdym tylko wiedział, co to za język... ;) Ale nie, można się połapać o co chodzi. /edit: Chyba znalazłem coś. To funkcje ApplyForce() i ApplyLinearImpulse() Z manuala: Forces and Impulses You can apply forces, torques, and impulses to a body. When you apply a force or an impulse, you provide a world point where the load is applied. This often results in a torque about the center of mass.
void ApplyForce( const b2Vec2 & force, const b2Vec2 & point ); void ApplyTorque( float32 torque ); void ApplyLinearImpulse( const b2Vec2 & impulse, const b2Vec2 & point ); void ApplyAngularImpulse( float32 impulse );
Applying a force, torque, or impulse wakes the body. Sometimes this is undesirable. For example, you may be applying a steady force and want to allow the body to sleep to improve performance. In this case you can use the following code.
if( myBody->IsAwake() == true ) { myBody->ApplyForce( myForce, myPoint ); }
|
Tylko czym różnią się te funkcje i jak je zastosować? Mój angielski trochę kuleje, a tłumacz google wypisuje bzdury, więc... |
|
DejaVu |
» 2013-06-04 20:04:34 Rozwiązałeś problem? :) Podziel się nim :P |
|
« 1 » |