Любые книги по созданию игр на JavaScript с чистым DOM, а не canvas

0

Хорошо, я медленно изучал html и javascript уже 2 месяца. Я хочу начать делать игры, до сих пор я сделал приложение для викторины и номерную галочку для Android, используя обертку (Andromo). Я хочу начать создавать платформеры, поэтому я начал искать онлайн-уроки и получать электронные книги. Проблема с ebooks и онлайн - они всегда переключаются на холст, когда он добирается до части экшн-игр. Я не понимаю, почему я не могу делать игры, используя только DOM, а не холст. Причина, по которой мне не нравится холст, - это некоторые вещи, которые кажутся похожими на то, что он заставил вас писать навсегда. Большинство онлайн-примеров делают точку на экране, и она требует тонны кода. ПРИМЕР Javascript DOM, чтобы сделать изображение на экране

<img src="powerman.png" width="50 height="50" >

Теперь, если вы сделаете это на холсте, вот так

var canvas = document.querySelector("canvas");
var draw   = canvas.getContext("2d");

var monster = new Image();
monster.addEventListener("load",loadHandler,false);
monster.src= "powerman.png";

function loadHandler()
{
draw.drawImage(monster,0,0);

Это похоже на тонну нестандартного кодирования, я не понимаю, как холст должен быть быстрее, когда у него есть строка после строки кодирования для каждой простой вещи. И это просто, чтобы отобразить изображение, когда вы делаете движение символа на экране, забудьте об этом на DOM, вы просто поместите направление, в котором вы находитесь, на холсте вы должны очистить() и удалить предыдущее изображение, поскольку ваше перемещение слишком велико. Я почти как будто холст был сделан, чтобы заставить людей отказаться от кодирования. Мне нравится кодирование, но оно имеет смысл для меня. Вот почему, если вы знаете какие-либо электронные книги или учебники по созданию игровых платформ в чистом DOM, которые будут настолько полезными.

  • 1
    Когда я только познакомился с JQuery, я сделал простую игру JQuery «змея и лестница» без html5 funscripts.popbild.com/snakeladder
  • 0
    Вы, конечно, можете использовать обычные элементы DOM, и есть много библиотек, которые делают его значительно проще (и более производительным), таких как Tweenlite / Max от Greensock. Кроме того, у вас есть преимущество в стилизации вещей с помощью CSS таким образом, что вы можете легко настроить свои спрайты, не углубляясь в сложную геометрию холста.
Показать ещё 1 комментарий
Теги:
dom
canvas

1 ответ

0

Вероятно, вы не найдете книг по этой теме, потому что использование DOM для создания игры - плохая идея. Тем не менее, это может сработать для некоторых игр, которые не настолько насыщены графикой. Если вам интересно, Google сделал игру без холста несколько лет назад. Вы можете посмотреть на это: http://macek.github.io/google_pacman/

  • 0
    Итак, создание игры с использованием чистого JavaScript без холста должно работать медленнее? Часть, которую я не понимаю, состоит в том, что игра, созданная только с использованием javascript, будет иметь меньше кода, чем игра с canvas. Кроме того, многие книги всегда посвящены функциям рисования, которые я не буду использовать, потому что у меня будут изображения. Если бы я сидел там, рисуя мудрое программирование, это заняло бы огромное количество времени, а не работало бы над игровой логикой, которая мне нравится.
  • 2
    Количество используемого кода не влияет на сложность или производительность программы. То, что вам нужно вводить больше кода, не означает, что ваша программа работает медленнее. DOM был разработан для управления статическими элементами документа. Он не был предназначен для игры.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню