Янв 11
2011
zxcatИгроДел canvas, framework, gamedev, HTML5, Image, JavaScript, ИгроДел
Продолжаем написание HTML5 игры. Теперь, когда готова модульная система, можем опробовать все её преимущества на деле. Это первое, что мы сделаем в этой части. А второе — это напишем модуль для работы с изображениями-спрайтами. Пока что только с неподвижными, анимация будет позже.
Переходим на модули.
Для начала, адаптируем имеющийся код.
minddef.html
В html файле после описания стилей уберём подключение старого js-скрипта. Затем включим загрузку js-классов, ядра системы и опишем модуль-запускальщик:
<script type="text/javascript" src="core/class.js"></script>
<script type="text/javascript" src="core/zx.js"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
zx.unit('main', {
requires: ['minddef.game'],
body: function() { MindDefGame.start('canvas', 320, 480); }
});
}, false);
</script>
More
Янв 08
2011
zxcatbeta, ИгроДел canvas, gamedev, HTML5, JavaScript, ИгроДел
В этой части расскажу немного теории об устройстве игр и покажу небольшой пример работы с canvas.
Алгоритм практически каждой игры состоит из стандартной последовательности действий. Сначала происходит подготовка, настройка параметров игры (уровня), затем запускается повторяющийся игровой цикл, ну а после выхода из него (game over/переход на след. уровень) освобождаются выделенные ресурсы.
Самое интересное находится внутри цикла. Тут у нас происходит следующее:
- Опрос клавиатуры/мыши/итд — управление.
- Глобальные события (например, перемещение камеры).
- Обновление состояния игровых объектов (координаты, скорости, поведение: столкновение, умирание, появление, превращение и т.п.).
- Отрисовка игровых объектов и всего остального (задний фон, набранные очки и др.).
Вообще, слово «объект» слишком общее, им можно назвать что угодно. Но не придумал пока что ничего лучше (если есть идеи — сообщите ;) ). Поэтому уточню.
Игровым объектом будем считать элемент игры, обладающий своим поведением; с этим элементом игрок (или другие объекты) может взаимодействовать.
More