Fix up the animation test so that it works with random timings even if the example has a timing.
This commit is contained in:
parent
dea0607901
commit
bdfc2397e2
4 changed files with 16 additions and 15 deletions
17
animate2.cpp
17
animate2.cpp
|
|
@ -58,17 +58,18 @@ namespace animate2 {
|
|||
dbc::check(sequence.frame_count == sequence.frames.size(), "frame_count doesn't match frame.size()");
|
||||
|
||||
auto duration = sequence.durations.at(sequence.current);
|
||||
auto elapsed = sequence.timer.getElapsedTime().toDuration();
|
||||
// std::cout << "subframe: " << sequence.subframe << " elapsed: " << elapsed << " duration: " << duration << std::endl;
|
||||
bool frame_change = false;
|
||||
|
||||
if(sequence.timer.getElapsedTime() >= duration) {
|
||||
if(elapsed < duration) {
|
||||
// BUG: subframe will just run crazy because I don't actually do delta time difference here vvvvv
|
||||
sequence.subframe = std::lerp(sequence.subframe, 1.0, sequence.timer.DELTA * transform.ease_rate);
|
||||
} else {
|
||||
sequence.timer.restart();
|
||||
sequence.current++;
|
||||
if(sequence.subframe > SUB_FRAME_SENSITIVITY) sequence.subframe = 0.0f;
|
||||
frame_change = true;
|
||||
} else {
|
||||
sequence.subframe = std::lerp(sequence.subframe, 1.0, sequence.timer.DELTA * transform.ease_rate);
|
||||
|
||||
std::cout << "subframe: " << sequence.subframe << " duration: " << duration << std::endl;
|
||||
}
|
||||
|
||||
if(sequence.current >= sequence.frame_count) {
|
||||
|
|
@ -152,9 +153,9 @@ namespace animate2 {
|
|||
|
||||
motion(*this, pos_out, scale_out, tick);
|
||||
|
||||
fmt::println("sub: {}, tick: {}, tr: {},{}; pos: {},{}; scale: {},{}",
|
||||
seq.subframe, tick, min_y, max_y, pos_out.x, pos_out.y,
|
||||
scale_out.x, scale_out.y);
|
||||
// fmt::println("sub: {}, tick: {}, tr: {},{}; pos: {},{}; scale: {},{}",
|
||||
// seq.subframe, tick, min_y, max_y, pos_out.x, pos_out.y,
|
||||
// scale_out.x, scale_out.y);
|
||||
}
|
||||
|
||||
Animate2 load(const std::string &file, const std::string &anim_name) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue