Анимации
Анимацией называют запрограммированные изменения изображения на экране. Например, мультик, в котором
фигурка человечка передвигается на фоне каких-то изображений. Для создания анимации необходимы две вещи: перерисовка и задержка по времени.
В самом деле, невозможно изменить какую-то деталь изображения, не перерисовав всего изображения полностью. Перерисовку нам
обеспечивают коллекции, как мы видели в предыдущей теме. Задержка по времени требуется для того, чтобы запрограммированные
изменения изображения не произошли мгновенно, в этом случае мы не увидим динамики, а увидим лишь последний кадр. Для создания и регулировки
задержек по времени имеется встроенный объект timer с двумя методами:
num = timer.start(fun, ms) и
timer.stop(num),
здесь fun - заранее созданная функция, которая будет выполняться через равные промежутки времени в ms милисекунд до тех пор пока не сработает второй метод timer.stop(num). Функция fun при этом должна внутри своего тела содержать создание каждого нового изображения (перерисовку), а также полную очистку графической панели при помощи метода draw.clear().
Для начала испробуем работу таймера без перерисовки. Напечатайте в редакторе следующий фрагмент:
nn={x:0};
fun = function(){
nn.x=nn.x+1;
show(nn.x);
if(nn.x > 5){
timer.stop(num);
}
}
num=timer.start(fun, 3000);
Эта программа через каждые 3 секунды выводит в консоль число nn.x, и как только это число примет значение больше 5, т.е. 6, процесс должен остановиться.
num = timer.start(fun, ms) и
timer.stop(num),
здесь fun - заранее созданная функция, которая будет выполняться через равные промежутки времени в ms милисекунд до тех пор пока не сработает второй метод timer.stop(num). Функция fun при этом должна внутри своего тела содержать создание каждого нового изображения (перерисовку), а также полную очистку графической панели при помощи метода draw.clear().
Для начала испробуем работу таймера без перерисовки. Напечатайте в редакторе следующий фрагмент:
nn={x:0};
fun = function(){
nn.x=nn.x+1;
show(nn.x);
if(nn.x > 5){
timer.stop(num);
}
}
num=timer.start(fun, 3000);
Эта программа через каждые 3 секунды выводит в консоль число nn.x, и как только это число примет значение больше 5, т.е. 6, процесс должен остановиться.