Приклади цієї книги написані з використанням p5js (в оригінальній книзі це Processing — обгортка для мови програмування Java). Хоча вам достатньо лише невеликого досвіду програмування, ви повинні розуміти базову структуру програми на p5js, як використовувати змінні, як малювати фігури та отримувати дані положення курсора миші та як працюють оператори if/else.
Буде корисним також розуміння того, як використовувати об’єкти p5.Vector для зберігання координат, але ми ще розглянемо основи, якщо ви не використовували їх раніше.
Наприкінці ми поговоримо про використання зіткнень в обʼєктно-орієнтованому стилі. Розуміння об’єктно-орієнтованого програмування не буде обов’язковим для роботи з цією книгою, але воно буде корисним для використання її тем у великих проєктах з великою кількістю об’єктів, що стикаються один з одним.
Раніше не використовували p5js? Це нормально! Якщо раніше ви вже використовували іншу мову програмування, то вам буде легко зрозуміти ці приклади та перенести їх код на потрібну мову, яку ви виберете.
Основою прикладів із зіткненнями є функції, тож вам необхідно ознайомитися з ними, щоб використовувати цю книгу. Якщо ви ніколи раніше не створювали функцію, тоді уважно прочитайте цей розділ. Якщо ви вже розумієте цю тему, можете пропустити її й перейти до наступної секції.
Функція — це самодостатній фрагмент коду, який можна використовувати повторно. Функції використовуються для операцій, які ви хочете виконати кілька разів, як-от перевірка зіткнень між двома об’єктами.
Функція повертає (надсилає назад) значення певного типу (як число або булеве значення). Наприклад, ось функція, яка повертає рядок "Привіт!"
function sayHi() {
return "Привіт!";
}
Коли функція робить щось корисне, то може повернути у місце її виклику певні дані за допомогою команди
return
. Інколи функції не потрібно нічого повертати, наприклад, коли вона просто малює
прямокутник, тоді команді return
не потрібна (в такому випадку функція за замовчуванням
поверне значення undefined
). Звучить знайомо? Складові програми p5js
такі як setup()
і draw()
є функціями!
Функції також можуть отримувати параметри або аргументи, які в них передаються. Аргументу задається ім’я, яке існує лише всередині функції. Кілька аргументів розділяються комами. Ось проста функція, яка додає два числа:
function sum(a, b) {
return a + b;
}
Наприклад, нашу функцію sum()
можна використати наступним чином:
let result = sum(2, 2);
console.log(result);
// >> 4
Усі приклади в цій книзі є функціями. Їм передаються параметри об’єктів, що підлягають перевірці (такі як
положення або розмір), і вони повертають значення boolean
незалежно від того,
відбувається зіткнення чи ні. Їх також можна змінити, щоб повернути місце зіткнення, як у прикладі
Лінія і Лінія. Переглядайте повний код у кінці кожного
прикладу, щоб побачити як функція структурована та як вона викликається зі своїми параметрами.
В оригінальній версії книги використовується Java
-подібний синтаксис
Processing
, тому там зустрічається і розповідається про відмінність між цілочисленним
числовим типом int
та числовим типом з рухомою крапкоюю float
.
Але у javascript
і відповідно p5js
за замовчуванням
одразу використовуються числа з рухомою крапкою, а отже тут ця частина перекладу відсутня, як і повʼязані нюанси
роботи з ними. Тож просто не зважайте на цей абзац. Навіщо тоді він взагалі надуркований? Він на той
випадок, якщо ви перейдете на оригінальну версію книги й здивуєтьеся відмінностям. Так, вони будуть, оскільки
приклади перекладу перероблені з використанням p5js
.
Далі: Точка і Точка