start_position.y + sin(angle) * radius));
countMe = false;
sound_manager->preload(SOUNDFILE);
+
+ set_colgroup_active(COLGROUP_TOUCHABLE);
}
void
{
writer.start_list("flame");
- writer.write_float("x", start_position.x);
- writer.write_float("y", start_position.y);
- writer.write_float("radius", radius);
- writer.write_float("speed", speed);
+ writer.write("x", start_position.x);
+ writer.write("y", start_position.y);
+ writer.write("radius", radius);
+ writer.write("speed", speed);
writer.end_list("flame");
}
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);
}
IMPLEMENT_FACTORY(Flame, "flame")
-