Processing:Примеры/Щекотка

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


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


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


Описание[1]

Если навести курсором на слово «tickle» в середине экрана, оно начнет дрожать. Если постараться, его можно «выщекотать» за пределы экрана.

Пример

String message = "tickle";
float x, y; // координаты X и Y для текста
float hr, vr;  // горизонтальный и вертикальный радиус текста 

void setup() {
  size(640, 360);
  
  // создаем шрифт:
  textFont(createFont("SourceCodePro-Regular.ttf", 36));
  textAlign(CENTER, CENTER);
  
  hr = textWidth(message) / 2;
  vr = (textAscent() + textDescent()) / 2;
  noStroke();
  x = width / 2;
  y = height / 2;
}

void draw() {
  // вместо очищения фона делаем его затухание,
  // рисуя сверху полупрозрачный прямоугольник:
  fill(204, 120);
  rect(0, 0, width, height);
  
  // если курсор находится над текстом, меняем его позицию:
  if (abs(mouseX - x) < hr &&
      abs(mouseY - y) < vr) {
    x += random(-5, 5);
    y += random(-5, 5);
  }
  fill(0);
  text("tickle", x, y);
}

См.также

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