TimeShift или Пески Времени своими руками

Birkoff:
Здесь я выкладываю на суд небольшой исходник, который позволяет создавать эект Песков времени из Принца Персии.
Суть проста. Система автоматически регистрирует данные о положении и кадре анимации объекта(и можно добавить другие) и записывает их в трёхмерный массив.
В данном примере использовался массив размерами:
(x): 850 - при FPS 85 теоретическая запись событий -

10 игровых секунд.
(y): 1 - объект всего один, при добавлении других персонажей для регистрации данных размер по y нужно будет увеличивать.
(z): 3 - Располагает данные по ячейкам:
z=1 - Координата X спрайта
z=2 - Координата Y спрайта
z=3 - Кадр анимации спрайта
Для запуска "Песков времени" нажмите Shift.
Для работы не требуются дополнительные плагины.
Заранее спасибо.)

TimeShift.rar

KaMiKaZa:
Хороший исходник.
Но иногда замечается "дёрганье" персонажа.

Birkoff:


Полагаю, вы имеете в виду ситуацию, когда персонаж возвращается на исходную точку, когда и индексы элемента массива равны 1.
Здесь следует поставить условие на блокировку функции. Я не стал её реализовывать, потому что каждый сам для себя выберет способ блокировки.
Как пример можно использовать "перезарядку", то бишь когда система вернулась к начальным индексам, то блокировать включение до полной перезарядки (скажем секунд 10).
Если у вас дёрганье персонажа происходит во время отката времени назад (а не при окончании), то, если есть возможность запишите это на видео и покажите мне. Я постараюсь разобраться в чём тут дело.

domick12:
Birkoff, спасибо за полезный пример! Может сильно пригодится для различных целей. Плюсик!

gamer:
Насколько я знаю, пески времени будет sands of time, a shift это занос

daGamer:
Хороший пример, плюсую.
Сам пытался сделать подобное, но так как в массивах я ни бум бум, ничего у меня не вышло