2010-07-06 3 views
4

Я знаю объектно-ориентированный PHP и Java, и я могу хорошо зарекомендовать Javascript на данный момент.Как сделать игру в Javascript?

Однако для жизни я не уверен, как Google сделал игру в JavaScript.

Кажется, что он сжат (код), поэтому я не могу понять, что происходит.

Я думал, что javascript был только однопоточным, что еще более усложняло разработку игры.

Я видел GWT, но я думал, что это больше для проектирования интерфейсов, я не видел в нем никакой разработки игр. Если кто-то может направить меня на какой-то инструментарий или открыть глаза на то, как люди кодируют игры в Javascript, я был бы признателен!

ответ

4

Google (если вы думаете о pacman игры), используется новая функция HTML5, которая поддерживает своего рода «резьбе» под названием WebWorkers. Вы также можете использовать таймауты и т. Д., Чтобы притворяться, что используете потоки, хотя на самом деле это не так.

Написание игры в Javascript аналогично тому, как вы это сделали бы на C. Или, скорее, messy C с большинством вещей в одном файле. Вы должны просто определить все свои компоненты в одном файле javascript (или несколько, если вы используете WebWorkers) и нажмите кнопку go. Графика в основном выполняется с помощью элемента canvas 2d HTML5, или если вы действительно на грани, система 3D холста 3D, которая пока не поддерживается должным образом во всех современных браузерах.

Фактически вы можете создать игру, просто установив одну большую ширину и высоту Canvas 100%, а затем запрограммируйте всю свою систему в этом файле javascript, игнорируя тот факт, что вы находитесь в Интернете (если хотите) , Большинство обычных графических, потоковых, баз данных, сетей и т. Д. Стандартных функций игры уже встроены в последнюю спецификацию HTML 5.

0

Это действительно сложно сделать сложную игру в Javascript сейчас, в основном из-за несовместимости браузеров. Но ребята из Google сделали port of quake 2 to Javascript с GWT.

Для создания вашей собственной игры вы можете использовать холст HTML5 или лучшую векторную графику (VML для IE и SVG для других), возможно, с библиотекой raphael.js в качестве уровня абстракции. Также вы можете использовать какой-то физический движок, такой как Box2DJS

Игра 3D Javascript теперь не является вариантом, потому что WebGL находится в разработке.