Spieleentwicklung mit JavaScript - PlayFieldControl-Klasse
Version vom 12:31, 3. Sep. 2010 bei Monettenom (Diskussion | Beiträge)
PlayFieldControl-Klasse
Der nächste naheliegende Schritt besteht darin, das EventHandling in eine Klasse zu packen, die für die Steuerung des Spielfelds zuständig ist. Vorerst soll es genügen, die Karte mit der Maus verschieben zu können.
Hier ergibt sich allerdings ein Problem: Da die Methode addEventListener eine Funktion erwartet, geht der Context zum Objekt, dessen Methoden aufgerufen werden sollen verloren. Die Handlerfunktionen werden zwar aufgerufen, aber über this wird nicht auf den Inhalt des EventHandler-Objekts zugegriffen, sondern auf die Inhalte desjenigen DOM-Objekts, an die die EventHandler gebunden sind.
Beispiel:
var div = document.getElementById( "board_div" ); div.addEventListener('mousedown', OnMouseDown, false); function OnMouseDown( e ) { alert( this ); }