Ich habe mich gefragt, ob Experten das Wissen und die Ressourcen teilen könnten, die erforderlich sind, um Spiele mit den neuesten HTML-Standards und JavaScript (oder wie manche HTML 5 nennen) zu erstellen. Gibt es JavaScript-Bibliotheken, die für den Prozess wesentlich sind? <canvas>
Welche anderen HTML-Elemente müssen außer dem Tag beachtet werden?
web
html5
javascript
Edmundito
quelle
quelle
Es gibt bereits einige Frameworks: GameQuery und Akihabara , ein Plugin für jQuery, mit dem Sie einige spielbezogene Aktivitäten ausführen können, z. B. Animationen, Gruppieren von Sprites, Erkennen von Kollisionen und Lesen von Spielereingaben.
quelle
Schauen Sie sich RaphaelJS an, um mehr Ressourcen zur Verfügung zu stellen . Es ist eine sehr schöne SVG-Zeichnungs- und Animationsbibliothek mit einer schönen API. Vergiss nicht, dir die Demos anzuschauen.
Insgesamt würde ich
<canvas>
Tags über die direkte DOM-Manipulation empfehlen (z. B. jedes Sprite für sich allein<div>
machen, um das Testen von Treffern erstaunlich einfach zu machen). Es ist einfach, DOM-Manipulationen falsch und schlecht durchzuführen, während herkömmliche 2D-Entwicklungsstrategien auf einer HTML-Zeichenfläche gut funktionieren.quelle
Zusätzlich zu einigen der vorhandenen Frameworks für die Erstellung von Spielen sollten Sie die Burst Engine kennen, ein JS-Framework für die Anzeige von SVG-basierten Animationen in einem HTML5-Canvas:
http://burst.bocoup.com/
Bisher haben Leute die Tags und erwähnt, aber es gibt noch andere DOM-Dinge, die für die Entwicklung von JS / HTML-Spielen von entscheidender Bedeutung sind, darunter Dinge wie das Hinzufügen von EventListener-Rückrufen zum Element für Ereignisse wie 'mousemove' und 'mousedown'. Dies nimmt beispielsweise das erste Zeichenflächenelement, das es finden kann, und richtet es so ein, dass es beim Klicken auf die Zeichenfläche eine von Ihnen definierte Funktion namens "shootAtClick" aufruft:
document.getElementsByTagName ("CANVAS") [0] .addEventListener ('mousedown', shootAtClick, false);
Sie können es in Aktion in diesem Beispiel sehen, in dem ich die Akihabara-Engine erweitert habe, um grundlegende Maussteuerung zu akzeptieren. (Drücken Sie Z, um zu beginnen, verwenden Sie die Pfeiltasten, um sich zu bewegen, und klicken Sie mit der Maus, um in Richtung des Cursors zu schießen.)
quelle
Kenntnisse darüber, welche HTML5-Komponenten in welchen Browsern unterstützt werden.
Obwohl die browserübergreifende Kompatibilität mit der Zeit immer besser und einheitlicher wird, werden einige der neueren Komponenten immer noch nicht vollständig gleichermaßen unterstützt.
Der lokale Speicher kann einige browserspezifische Unterschiede aufweisen, und für die Unterstützung älterer Versionen benötigen Sie auf jeden Fall eine Bibliothek wie jStorage oder YUI Storage Lite .
Auch Web-Sockets können browserspezifische Unterschiede aufweisen, aber socket.io sieht aus wie eine vielversprechende Bibliothek, die eine bequeme Abstraktion bietet.
Audiokompatibilität ist eine ziemlich wichtige Komponente, die unterschiedliche Audiodateien für unterschiedliche Browser erfordert: http://html5doctor.com/native-audio-in-the-browser/
Chrome weist einige schwerwiegende Audiobugs auf, z. B. die Unfähigkeit, kurze Audiodateien abzuspielen , und das Abspielen vieler Sounds gleichzeitig kann den gesamten Browser zum Absturz bringen.
Die Hauptsache ist, die Unterschiede zwischen den Browsern zu verstehen, Bibliotheken zu verwenden, um zu abstrahieren und bei Bedarf ältere Versionen zu unterstützen.
quelle
HTML und JavaScript sind ehrlich gesagt ziemlich schlechte Plattformen für die Spieleentwicklung, aber das spielt keine Rolle, bis Sie sich für eine Art Spiel entschieden haben. Die Antwort wäre für einen Ego-Shooter, ein RTS oder ein Puzzlespiel völlig anders.
Beachten Sie, dass Sie anfangen, vage, von Hand gewellte Antworten zu erhalten, die zufällige Technologien verfälschen, die ordentlich erscheinen. Dies ist ein Warnsignal dafür, dass Sie keine Frage mit einer besonders legitimen Antwort gestellt haben.
Sie können auch fragen, welche C ++ - Inhalte Sie zum Schreiben von Anwendungen benötigen. Das hängt davon ab. Wenn Sie uns mehr über das Projekt erzählen, erhalten Sie möglicherweise eine nützliche Antwort.
Im Großen und Ganzen gibt es einen Grund, warum fast alle Web-Spiele immer noch Flash sind.
quelle