Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Примеры/Ограничительная рамка

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Описание[1]

Перемещайте курсор мышки, чтобы двигать эллипс по экрану. Впрочем, переместить его в любое место экрана не получится, потому что движение эллипса ограничено прямоугольной рамкой.

Пример

  1. float mx;
  2. float my;
  3. float easing = 0.05;
  4. int radius = 24;
  5. int edge = 100;
  6. int inner = edge + radius;
  7.  
  8. void setup() {
  9.   size(640, 360);
  10.   noStroke();
  11.   ellipseMode(RADIUS);
  12.   rectMode(CORNERS);
  13. }
  14.  
  15. void draw() {
  16.   background(51);
  17.  
  18.   if (abs(mouseX - mx) > 0.1) {
  19.     mx = mx + (mouseX - mx) * easing;
  20.   }
  21.   if (abs(mouseY - my) > 0.1) {
  22.     my = my + (mouseY- my) * easing;
  23.   }
  24.  
  25.   mx = constrain(mx, inner, width - inner);
  26.   my = constrain(my, inner, height - inner);
  27.   fill(76);
  28.   rect(edge, edge, width-edge, height-edge);
  29.   fill(255);  
  30.   ellipse(mx, my, radius, radius);
  31. }

См.также

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

  1. processing.org - Constrain