2011-06-15 2 views
0

Je travaille sur un projet de physique éducative et j'ai choisi Box2D comme mon moteur principal pour un jeu de physique appelé "Construisez votre propre fusée". Box12D semble très intuitif et la documentation semble assez bonne IMMO, mais je n'a pas pu trouver comment régler le temps de sommeil d'un corps donné. C'est possible?Dans Box2D, comment définir sleepTime d'un objet?

J'ai déjà essayé l'approche paresseuse:

var newB = new b2BodyDef(); 
    newB.m_sleepTime = 12000; 

Malheureusement, le newB commence encore dormir presque instantanément après elle pénètre dans une position de repos.

+4

J'ai un cousin comme ça. – kennebec

+0

lol le commentaire le plus utile jamais – marcio

Répondre

2

Vous pouvez définir SetSleepingAllowed (bool) sur un corps individuel ou définir le monde entier pour ne pas dormir lorsque vous le créez. À moins que vous n'ayez un nombre énorme de corps dans votre simulation, j'utiliserais juste un de ceux-ci et garderais le corps éveillé tout le temps. Vous pouvez également définir SetAwake (bool) sur des corps individuels si vous savez quand vous en aurez besoin pour être éveillé.

+0

Je me demande simplement pourquoi il y a une propriété sleepTime si elle n'a aucun effet. – marcio

+0

En regardant la source tout à l'heure, je vois que vous avez raison. Mais cette propriété semble être seulement utilisée par les internes du moteur et non pour nous de jouer avec :) – iforce2d

+0

A décidé de l'accepter puisque c'est une situation non gagnante – marcio