迭代for循环的最佳方法,然后再向后迭代它?

use*_*168 3 c++ iterator loops for-loop

我发现在编写动画时我有时会遇到一次for循环,然后再重复该值.这通常用于跳跃动画,或者消失然后再次出现动画.

这是我做过的一个例子 -

// Make the sprite slowly disappear
for (int i = 256; i > 0; --i)
{
    sprite.opacity(i);
    draw();
}

// Make the sprite slowly appear again
for (int i = 0; i < 256; ++i)
{
    sprite.opacity(i);
    draw();
}
Run Code Online (Sandbox Code Playgroud)

每次我这样做,我都深深感到它太过分了.什么是更好的方式来解决这个问题?我不完全确定什么是最佳做法.我想我可以使用reverse_iterator,但我也不确定如何实现它.

Cia*_*Pan 12

考虑使用<cmath>abs()函数:

for( int i = -255; i <= 255; i++)
    use( abs( i ) );
Run Code Online (Sandbox Code Playgroud)

  • 与没有`abs`的两个循环相比,这是多少? (3认同)