Hi
Did you create an AsyncTask ?
I know when I was doing particle system I had to add a task to update the PhysicsManager.
example:
In my include file:
PhysicsManager mPhysicsManager;
static AsyncTask::DoneStatus updateEffectsTask(GenericAsyncTask* task, void* data);
PT(AsyncTaskManager) mTaskMgr;
PT(GenericAsyncTask) mUpdateEffectsTask;
In my cpp file:
Constructor…
LinearEulerIntegrator *lei = new LinearEulerIntegrator();
mPhysicsManager.attach_linear_integrator(lei);
mUpdateEffectsTask = new GenericAsyncTask("mUpdateEffectsTask", (GenericAsyncTask::TaskFunc*)Effects::updateEffectsTask, this);
mTaskMgr = AsyncTaskManager::get_global_ptr();
mTaskMgr->add(mUpdateEffectsTask);
.
.
then in your task (my class is called Effects)
AsyncTask::DoneStatus Effects::updateEffectsTask(GenericAsyncTask* task, void* data) {
Effects effects = (Effects)data;
float dt = ClockObject::get_global_clock()->get_dt();
effects->mEffectsManager.do_particles(dt);
effects->mPhysicsManager.do_physics(dt);
return AsyncTask::DS_cont;
}
You might need to do something like this, but in your
case just do the:
pm.do_physics(dt);
tim