Я бы не создавал отдельные страницы.Страница - это контекст, приложение, в котором используются компоненты.Javascript позволяет создавать классы (не путать с классами CSS).Вы можете создавать экземпляры каждого класса.Так что, если у вас есть класс Car, вы можете создать два экземпляра и заставить их взаимодействовать со страницей.Например:
// Javascript is a prototyped language. A class is defined as a function:
function Car()
{
// Some initialization of properties by assigning to this.propname
this.x = 0; this.y = 0;
this.direction = 0;
this.velocity = 0;
}
// Add methods by extending the prototype
Car.prototype.show = function()
{
// For each Car object, create and remember a DOM element.
// This is what makes your car visible.
this.DOMelement = document.createElement('div');
// Set style properties to position the car.
// Add sub-elements to make the case visible (images?)
}
Car.prototype.move = function()
{
// Update this.x and this.y
// Move/update the related DOM element accordingly.
}
Теперь вы можете создать две машины:
var Car1 = new Car();
var Car2 = new Car();
Car1.show(); // Show the first.
Вам также потребуется захватить ключи.Я делал это не часто, но, вероятно, есть множество примеров.
Вы можете сделать клавиши управления свойством автомобиля, чтобы вы могли создать автомобиль и указать его ключи.Машина может сказать игре, какие ключи она хочет.Игра может обрабатывать все вводимые данные и отправлять их в нужную машину.
После этого вам нужно будет создать какой-то цикл для добавления анимации.
//Instead of an actual loop, you can create a function to render a single frame
function tick()
{
// Handle input and redirect it to the appropriate cars
// Call .move of all the cars
}
// Call the tick function repeatedly every 10 ms.
setInterval('tick', 10);
Конечно, вы также можете создать класс для хранения всей этой игровой информации.Таким образом, вы не загромождаете свой оконный объект (все глобальные переменные и функции фактически станут частью оконного объекта), и вам будет легче встроить игру в существующий сайт.Вы можете запустить даже две отдельные игры на одной странице!Хотя они будут бороться за ключи.
В любом случае, есть много пробелов, которые нужно заполнить, но я надеюсь, что это дает вам представление.