Information Technology Reference
In-Depth Information
In der vorletzten Zeile des Listings wird dem window -Objekt die GameLib -Klasse
mit dem neuen Namen KnappDran zugewiesen. Die init -Funktion dieser Klasse
lädt die vorhandenen Spiele, initialisiert das canvas -Element und startet das
erste Spiel:
this.init = function() {
// build game-selection pulldown
var o = ''
for (var i=0; i'gamedata.length; i++) {
o += addOpt(i,gamedata[i].title);
}
_get('selGame').innerHTML = o;
_get('selGame').options.selectedIndex = 0;
_get('selGame').onchange = function() {
startGame(this.value);
};
// define empty image used for map later
image = new Image();
canvas = document.querySelector("CANVAS");
context = canvas.getContext('2d');
canvas.onclick = function(evt) {
checkPosition(evt);
};
...
startGame(0);
};
Listing 8.2: Die init -Funktion der GameLib -Bibliothek
Die Funktionen addOpt() und _get() werden Ihnen wahrscheinlich fremd sein.
Es handelt sich dabei um zwei Hilfsfunktionen. addOpt() dient dazu, die Zei-
chenkette für ein neues option -Element zusammenzustellen, und _get() er-
möglicht einen effizienten Zugriff auf die Elemente im DOM-Baum (der Zugriff
erfolgt über ihre ID ). Bei dem HTML-Element mit der ID selGame handelt es sich
um die Auswahlliste aller Spiele. Diese Liste wird mit selectedIndex = 0 auf
das erste Element gesetzt. Wird ein anderer Eintrag aus dieser Liste ausge-
wählt, so kommt die startGame -Funktion mit diesem neuen Wert zum Einsatz.
Dem canvas -Element wird ein Event-Handler für das Mausklick-Event zuge-
wiesen, der die checkPosition -Funktion aufruft. Abschließend wird das erste
Spiel gestartet.
Search WWH ::




Custom Search