jQuery und MooTools sind großartige JavaScript-Bibliotheken. Ich bevorzuge jQuery. Beide unterstützen Sie bei der Entwicklung Ihres JS-Spiels, wenn Sie das DOM verwenden. Wenn Sie mit Canvas-Rendering arbeiten, sollten Sie nach wie vor eine dieser Bibliotheken verwenden, aber Sie müssen die Canvas-Funktionen erlernen. Hier ist ein Tutorial, das Sie mit dem Canvas-Bereich vertraut macht, indem Sie einen Breakout-Klon erstellen. Es könnte also genau das sein, wonach Sie suchen (und es verwendet jQuery).
Das Animieren von Sprites besteht darin, eine Bildquelle zu ändern oder mehrere Bilder vorab zu laden und sie auszutauschen, oder in einer Leinwand, in der nur Frames einer Animation gezeichnet werden. Die oben genannten Bibliotheken können in jedem dieser Fälle helfen. Die Bibliotheken helfen auch bei der Eingabe (sehen Sie sich Ereignisse wie onkeypress und onmousemove an).
Zum Vorabladen von Ressourcen habe ich einige Spiele vorgestellt, die ein einzelnes "Sprite Sheet" verwenden ( hier ist das für Googles Pacman- Spiel). Ich glaube, dass sie im Grunde genommen einen DIV mit einer Kachelgröße erstellen, wobei die CSS-Hintergrundbild-Eigenschaft auf das Sprite-Blatt und die Hintergrundpositions- Eigenschaft auf den Versatz der Kachel auf dem Sprite-Blatt festgelegt sind. Ich habe keine Bibliothek gesehen, die dies für Sie erledigt, aber jQuery oder MooTools können Ihnen dabei helfen, die DIV dynamisch zu erstellen und deren CSS zu manipulieren. Andernfalls müssen Sie beim Vorabladen von Bildern <img>
Tags für die Bilder erstellen, die Sie vorab laden möchten, und diese nicht zur Seite hinzufügen (oder unsichtbar hinzufügen). Hier ist ein Blog-Beitrag Das enthält Code für eine Funktion, die jQuery verwendet, um Bilder vorab für Sie zu laden.
SoundManager 2 scheint die zu verwendende JS- Soundbibliothek zu sein. Ich weiß, dass Vanthia es verwendet und Googles Pacman etwas Ähnliches (oder zumindest die gleiche Technik, nämlich eine versteckte Flash-Datei auf der Seite zu verwenden, um Sounds abzuspielen).
Für die Vernetzung kann jQuery AJAX für Sie handhaben. Wenn Sie mehr Echtzeit-Vernetzung wünschen (und der Server dies tun muss), schauen Sie in JavaScript-Sockets . Ich weiß nicht, ob es eine stabile Bibliothek dafür gibt, aber Sie könnten dies oder jenes untersuchen . Im Wesentlichen wird eine versteckte Java- oder Flash-Datei auf der Seite verwendet, damit Sie eine echte Socket-Kommunikation mit JavaScript durchführen können. Dies ist viel schneller als AJAX-Polling und etwas effizienter als "AJAX Push" . Am wahrscheinlichsten ist jedoch AJAX Push das, was Sie wollen, und APE (Ajax Push Engine) ist wahrscheinlich die zu verwendende Bibliothek.
Hier ist auch ein Google-Tech-Vortrag zum Thema "Erstellen einer JavaScript-basierten Game Engine für das Web" . Es sieht ordentlich aus.