Это где то в дебрях исходного кода движка, но не суть важно, поскольку движок полностью рабочий и конструкция вида
Code
if(CheckKey(DIK_D)&&!keyp) //keyp изначально false
{
curAnim=1;
SetAnimation(anim,curAnim);
keyp=true;
x++;
}
td = timeGetTime() - startTime;
startTime = timeGetTime();
if(KeysCheck())
{
switch(curAnim)
{
case 1: x+=step*td; break;
...
}
}
else
{
SetAnimationSpeed(anim,0);
keyp=false;
}
if(!DrawSpriteA(anim, x,y) // функция отвечает за воспроизведение анимации
{
ResetAnimation(anim); // перезапускает анимацию на конечном кадре
}
отлично работает: персонаж шагает вправо, пока нажата клавиша D и останавливается, когда клавиша отпущена.
Мне нужен цикл, который бы определенное время самовыполнялся. Само собой, еще пару дней втыкания в этот дурацкий косяк, и решение может и придет, но...