Je suis novice en C++ et en développement de jeux. J'ai codé une fonction en utilisant la physique des balles qui retourne la gravité du monde et il semble ne pas fonctionner. Il renvoie toujours 0. Cependant, j'ai initialisé le monde, le solveur, le répartiteur, la configuration de phase large et de collision.getGravity ne fonctionne pas?
Voici le code:
void _setGravity(btScalar gravity) //sets the gravity of the world
{
if(gravity > 0.f)
gravity = -gravity;
_dynamicsWorld->setGravity(btVector3(0, gravity, 0));
}
btScalar _getGravity(void) //returns the gravity of the world
{
return ((btScalar*)_dynamicsWorld->getGravity());
}
Y at-il quelque chose que je fais mal?
Merci.
Ce casting semble très suspect, pourquoi la coulée du résultat à un pointeur * *? –
Je pense que le code de _dynamicsWorld setGravity et getGravity aiderait beaucoup. Aussi juste une pensée: Vous définissez la gravité comme un vecteur, mais le renvoyer comme scalaire ....? –
Au lieu de lancer l'écriture d'une fonction de convertisseur appropriée. Cela vous aidera à comprendre où est le problème. – CyberGuy