start_position.y + sin(angle) * radius));
countMe = false;
sound_manager->preload(SOUNDFILE);
+
+ set_colgroup_active(COLGROUP_TOUCHABLE);
}
void
void
Flame::active_update(float elapsed_time)
{
- angle = fmodf(angle + elapsed_time * speed, 2*M_PI);
+ angle = fmodf(angle + elapsed_time * speed, (float) (2*M_PI));
Vector newpos(start_position.x + cos(angle) * radius,
start_position.y + sin(angle) * radius);
movement = newpos - get_pos();
void
Flame::activate()
{
- set_group(COLGROUP_TOUCHABLE);
-
sound_source.reset(sound_manager->create_sound_source(SOUNDFILE));
sound_source->set_position(get_pos());
sound_source->set_looping(true);
void
Flame::deactivate()
{
- sound_source->stop();
- sound_source.release();
+ sound_source.reset();
}
void
}
IMPLEMENT_FACTORY(Flame, "flame")
-