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

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


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


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


translate() [1]

Обозначение

translate()

Описание

Перемещает объект в дисплейном окне. С помощью параметра x задается перемещение влево-вправо, с помощью параметра y – вниз-вверх, а с помощью параметра z – вблизь-вдаль от экрана. Чтобы использовать в translate() параметр z, в коде также нужен метод size() с параметром P3D – как показано в примере ниже.

Эта трансформация применяется ко всему, что с объектом происходит потом, а последующие вызовы translate() суммируют эффект. К примеру, вызов translate(50, 0), а затем translate(20, 0) – это то же самое, что и translate(70, 0). Если translate() будет вызвана внутри draw(), с началом следующего цикла трансформация сбросится. В дальнейшем этим методом можно управлять при помощи методов pushMatrix() и popMatrix().

Синтаксис

translate(x, y)
translate(x, y, z)

Параметры

x  перемещение объекта влево-вправо. Тип данных  float
y  перемещение объекта вверх-вниз. Тип данных  float
z  перемещение объекта вдаль-вблизь. Тип данных  float

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

void

Пример

№1

Processing translate 0.png


translate(30, 20);
rect(0, 0, 55, 55);

№2

Processing translate 1.png


// перемещение объектов в 3D требует метода size() с параметром P3D:
size(100, 100, P3D);
// перемещаем объект на 30 пикселей вбок, на 20 вниз
// и на 50 назад (т.е. «вдаль» от экрана):
translate(30, 20, -50);
rect(0, 0, 55, 55);

№3

Processing translate 2.png


rect(0, 0, 55, 55);  // рисуем прямоугольник с 
                     // с исходными координатами 0,0
translate(30, 20);
rect(0, 0, 55, 55);  // рисуем новый прямоугольник на 0,0
translate(14, 14);
rect(0, 0, 55, 55);  // рисуем новый прямоугольник на 0,0

См.также

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