Символи
Робота із текстовими рядками типу String передбачає використання методів, з якими можна ознайомитись на сторінці довідки Processing: https://processing.org/reference/String.html
Найчастіше використовується визначення символу, що стоїть на певній позиції в рядку (відлік починається з нуля).
message.charAt(3); - значення символу на позиції 3 рядка message.
Змінна message належить до типу String (текстовий рядок, стрічка). У ньому можна визначити окремий елемент c типу char (тип символ), наприклад за його позицією 3.
String message = "a bunch of text here.";
char c = message.charAt(3);
println(c);
с="u"
Вправа 1. Текст виводиться з однаковими інтервалами між літерами

PFont f;
String message = "Однакові інтервали між літерами";
void setup() {
size(500,200);
f=createFont("Arial",20,true);
}
void draw() {
background(255);
fill(0);
textFont(f);
int x=10;
for (int i=0; i< message.length(); i++) {
text(message.charAt(i),x,height/2);
x+=10;
}
}
Вправа 2. Текст виводиться з різними інтервалами між літерами, що залежать від розмірів літер (м та і мають різну ширину)

PFont f;
String message = "Справедливі інтервали між літерами";
void setup() {
size(500,200);
f=createFont("Arial",20,true);
}
void draw() {
background(255);
fill(0);
textFont(f);
int x=10;
for (int i=0; i< message.length(); i++) {
text(message.charAt(i),x,height/2);
x+=textWidth(message.charAt(i));
}
}
Поміркуйте: яка різниця між однаково та справедливо?

Вправа 3. Текст виводиться з різними розмірами шрифту для різних літер.

Зверніть увагу! В цьому проекті процедура draw() порожня. Натомість виведення відбувається у процедурі mousePressed(). Поміркуйте - чому?
PFont f;
String message = "Випадковий розмір літер";
void setup() {
size(500,200);
f=createFont("Arial",20,true);
}
void draw() {}
void mousePressed() {
background(255);
fill(0);
textFont(f);
int x=10;
for (int i=0; i< message.length(); i++) {
textSize(random(12,36));
text(message.charAt(i),x,height/2);
x+=textWidth(message.charAt(i));
}
}
Завдання: зробіть літери різних кольорів.

Вправа 4*. Рухомий текст
Текст виводиться по ширині екрану, починаючи з правого краю. При кожному виконанні процедури draw() відбувається зміщення ліворуч. Якщо початок тексту досягнув лівого краю вікна, потрібно виводити повідомлення не повністю, а відтинаючи його початкові символи (вони "переміщуються" за лівий край вікна).
String[] headlines = {
" Processing downloads break downloading record. ",
" Я люблю інформатику. ",
} ;
PFont f;
float x;
int index = 0;
void setup() {
size(400,200);
f = createFont( "Arial",16,true);
x = width;
}
void draw() {
background(255);
fill (0);
// показ тексту в позиції х
textFont(f,16);
textAlign (LEFT );
text(headlines[index],x,180);
// зменшуємо x (зміщення ліворуч)
x=x-3;
// якщо x менше -ширини, це значить, що текст за межами вікна
float w = textWidth(headlines[index]);
if (x < -w) {
x = width;
index = (index + 1) % headlines.length;
}
}