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.