Processing:Справочник языка Processing/PShape/beginContour()

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


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


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


beginContour() [1]

PShape

Обозначение

beginContour()

Описание

Методы beginContour() и endContour() позволяют задавать фигуры, внутри которых вырезаны другие фигуры. К примеру, внутри буквы «O». Два этих метода всегда используются вместе. Между ними задается геометрия, которую вы хотите нарисовать. Пример ниже показывает, как при внутри большой фигуры вырезать вторую фигуру – поменьше.

Контуры внешней и внутренней фигур нужно задавать в противоположных направлениях. Это значит, что в коде последовательность точек внешней фигуры должна идти по часовой стрелке, а последовательность точек внутренней фигуры – против часовой стрелки.

Синтаксис

sh.beginContour()

Параметры

sh  любая переменная типа PShape. Тип данных  PShape

Возвращаемое значение

void

Пример

PShape s;

void setup() {
  size(100, 100);

  // делаем фигуру:
  s = createShape();
  s.beginShape();
  s.noStroke();

  // внешняя часть фигуры:
  s.vertex(-50,-50);
  s.vertex(50,-50);
  s.vertex(50,50);
  s.vertex(-50,50);

  // внутренняя часть фигуры:
  s.beginContour();
  s.vertex(-20,-20);
  s.vertex(-20,20);
  s.vertex(20,20);
  s.vertex(20,-20);
  s.endContour();

  // заканчиваем делать фигуру:
  s.endShape();
}

void draw() {
  background(52);
  translate(width/2, height/2);
  s.rotate(0.01);
  shape(s);
}

См.также

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