Processing:Примеры/Плавная анимация

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


Описание[1]

Перемещайте курсор по экрану – эллипс будет следовать за ним. Между прорисовкой кадров программа рассчитывает расстояние между позициями эллипса и курсора. Если это расстояние больше одного пикселя, эллипс в течение одного кадра преодолеет часть этого расстояния (5%).

Пример

float x;
float y;
float easing = 0.05;

void setup() {
  size(640, 360); 
  noStroke();  
}

void draw() { 
  background(51);
  
  float targetX = mouseX;
  float dx = targetX - x;
  x += dx * easing;
  
  float targetY = mouseY;
  float dy = targetY - y;
  y += dy * easing;
  
  ellipse(x, y, 66, 66);
}

См.также

Внешние ссылки