Урок 7.4 · Интерфейсы и сайты с нуля · Модуль 7. Персонаж и движение · По подписке
Цель урока: Научить героя двигаться по нажатию: хранить координату, менять её и не выпускать за край.
Нужно знать заранее: Урок 7.3
Объяснение
Зачем это нужно:
Движение в игре — это число, которое меняется. Кажется, что за ним стоит сложная физика, но в простом случае это одна переменная: сколько пикселей от левого края сцены. Всё остальное — то же самое, только чисел больше: x, y, скорость, номер кадра.
Как это работает:
Положение героя хранится в переменной, а CSS-свойство left получается из неё:
let x = 0
document.getElementById('right').onclick = function () {
x = x + 40
document.getElementById('hero').style.left = x + 'px'
}
Обратите внимание на 'px'. В CSS единицы обязательны: left = 40 не сработает, а left = '40px' сработает. Поэтому к числу приклеивают строку.
Настоящие игры чаще слушают клавиатуру:
document.addEventListener('keydown', function (event) { ... })
Приём тот же — меняется x. Кнопки мы оставим по двум причинам: на телефоне нет клавиатуры, а проверить нажатие кнопки можно в любом браузере.
Край сцены. Если x растёт бесконечно, герой уходит за экран, и игра ломается. Край считается просто: ширина сцены минус ширина героя. У нас 240 − 80 = 160. Значит x может быть от 0 до 160:
if (x > 160) { x = 160 }
if (x < 0) { x = 0 }
Число на экране (#pos) помогает видеть состояние: это тот же textContent, что в счётчике нажатий.
Компьютер без страха — Файлы, браузер, пароли, мошенники, документы и деньги в интернете простыми словами. Бесплатно и без оплаты.
Если уже случилось — Деньги ушли с карты, пропала симка, взломали аккаунт, потерялись документы — порядок действий по шагам и куда звонить.
Какой компьютер нужен — Чек-лист по уровням: для учёбы ничего покупать не нужно, для своего проекта — 16 ГБ и SSD, для работы — 32 ГБ. Плюс нейросети и устаревание железа.
Без кода: ставить задачу — Как объяснить задачу программисту и принять работу. Кода нет ни строчки.
Профессии и языки — Кто такие программисты, зачем столько языков и что делать после курса.
Потренироваться
Практикум: задачи из жизни — Та же команда урока — на работе, дома и в документах. 63 задачи с проверкой вывода и без регистрации.
Игры-тренажёры — Найти ошибку в чужом коде, прочитать, что делает программа, и увидеть, что случится, если нажать клавишу.
Симулятор: от задания до сдачи — Пройти путь целиком: папка, терминал, файл, сохранение, запуск, проверка по критерию приёмки. Два сценария и две системы.
Мастерская экрана — Проверить цвета и раскладку страницы: контраст, шаблоны, конструктор.
Колесо фортуны — Одна прокрутка в день: скидка на подписку или дни доступа.
Словари и юмор
Словарь программиста — Слова из уроков и кода: парсинг, функция, хеш, компиляция.
Словарь руководителя — Слова из работы простыми словами: скоуп, дедлайн, MVP, бэклог.
Корявые задачи — Юмор: как ставят задачи и что из этого получается. С моралью.
Сайт, оплата и помощь
Родителям — Возраст, время на уроки, безопасность в сообществе, деньги и результат — что важно знать до оплаты.