Processing:Справочник языка Processing/this: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 8: Строка 8:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
this
this
</syntaxhighlight>
</syntaxhighlight>
Строка 22: Строка 22:
===№1===
===№1===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
float ypos = 50;
float ypos = 50;


Строка 41: Строка 41:
===№2===
===№2===


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
import processing.video.*;
import processing.video.*;
Movie myMovie;
Movie myMovie;
Строка 62: Строка 62:


=См.также=
=См.также=
{{ads}}


=Внешние ссылки=
=Внешние ссылки=
Строка 84: Строка 86:
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Телепорт}}

Версия от 19:50, 4 мая 2022

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


Черновик


this[1]

Обозначение

this

Описание

Ссылается на текущий объект (т. е. "этот объект"), который изменится в зависимости от контекста, в котором this это ссылка. В Processing наиболее часто this используется для передачи ссылки из текущего объекта в одну из библиотек.

Ключевое слово this может также использоваться для ссылки на собственный метод объекта внутри самого себя, но обычно это не требуется. Например, если вызывается метод filter() объекта с именем tree класса PImage из другого объекта, то необходимо написать tree.filter(). Чтобы вызвать этот метод внутри самого объекта класса PImage, можно просто написать filter() или, более явно, this.filter(). В дополнительном уровне конкретности в this.filter() нет необходимости, поскольку он всегда подразумевается.

Пример

№1

float ypos = 50;

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

void draw() {
  line(0, 0, 100, ypos);
  // "this" ссылается на скетч Processing 
  // и в этом случае он не обязателен
  this.ypos = 100;
  line(0, 0, 100, ypos);
}

№2

import processing.video.*;
Movie myMovie;

void setup() {
  size(200, 200);
  background(0);
  // "this" ссылается на скетч Processing 
  myMovie = new Movie(this, "totoro.mov");
  myMovie.loop();
}

void draw() {
  if (myMovie.available()) {
    myMovie.read();
  }
  image(myMovie, 0, 0);
}

См.также

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