Animate::Animate():
target(0),
anim(0),
+ stacked(false),
player(0)
{ }
void Animate::start(float, float d)
{
- float speed = (d ? (anim->get_duration()/Time::sec)/d : 1.0f);
- player->play(*target, *anim, speed);
+ float speed = 1.0f;
+ if(!anim->is_looping() && d)
+ speed = (anim->get_duration()/Time::sec)/d;
+ if(stacked)
+ player->play_stacked(*target, *anim, speed);
+ else
+ player->play(*target, *anim, speed);
}
{
a.player = &demo.get_animation_player();
add("animation", &Loader::animation);
+ add("stacked", &Animate::stacked);
add("target", &Loader::target);
}