In meinem Fall verwende ich das Phaser-Framework.Javascript Prototyp Funktion überschreiben, wenn x
Also in diesem Beispiel erweitern ich die Gruppenklasse des Phaser. Jede "Schauspieler" -Klasse (Sprite, Group, ...) ruft alle paar Millisekunden den Prototyp update()
auf.
Meine Idee war, diese Funktion nur zu erweitern, wenn die Anwendung auf einem Desktop (also nicht auf einem Telefon) ausgeführt wird.
zum Beispiel:
var MousePointer = function (game, parent, name) {
Phaser.Group.call(this, game, parent, name);
this.init();
};
MousePointer.prototype = Object.create(Phaser.Group.prototype);
MousePointer.prototype.constructor = MousePointer;
MousePointer.prototype.init = function() {
// ... init
};
MousePointer.prototype.update = function() {
// Do something when on desktop
};
Ich kann möglicherweise nicht verwende ein, wenn clausule in der update()
Funktion zu überprüfen, ob der Spieler auf dekstop/Tablet/Telefon. Gibt es also eine Möglichkeit, den Prototyp bei der Initialisierung tatsächlich zu überschreiben?
zum Beispiel (Pseudo-Code):
if(onPhone)
MousePointer.prototype.update = parent.prototype.update;
else
MousePointer.prototype.update = this.update;