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

Processing:Примеры/Отскок

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


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

Контакты:

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


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


Описание[1]

Когда фигура достигает края экрана, направление ее движения меняется на противоположное.

Пример

  1. int rad = 60;        // ширина фигуры
  2. float xpos, ypos;    // стартовая позиция фигуры    
  3.  
  4. float xspeed = 2.8;  // скорость фигуры по оси X
  5. float yspeed = 2.2;  // скорость фигуры по оси Y
  6.  
  7. int xdirection = 1;  // направление движения по оси X
  8. int ydirection = 1;  // направление движения по оси Y
  9.  
  10.  
  11. void setup()
  12. {
  13.   size(640, 360);
  14.   noStroke();
  15.   frameRate(30);
  16.   ellipseMode(RADIUS);
  17.   // задаем стартовую позицию фигуры:
  18.   xpos = width/2;
  19.   ypos = height/2;
  20. }
  21.  
  22. void draw()
  23. {
  24.   background(102);
  25.  
  26.   // обновляем позицию фигуры:
  27.   xpos = xpos + ( xspeed * xdirection );
  28.   ypos = ypos + ( yspeed * ydirection );
  29.  
  30.   // проверяем, не заходит ли фигура за края экрана;
  31.   // если заходит, инвертируем направление ее движения,
  32.   // умножая его на «-1»:
  33.   if (xpos > width-rad || xpos < rad) {
  34.     xdirection *= -1;
  35.   }
  36.   if (ypos > height-rad || ypos < rad) {
  37.     ydirection *= -1;
  38.   }
  39.  
  40.   // рисуем фигуру:
  41.   ellipse(xpos, ypos, rad, rad);
  42. }

См.также

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

  1. processing.org - Bounce