私の場合、私はPhaserフレームワークを使用しています。JavaScriptのプロトタイプ関数のオーバーライド時x
この例では、フェイザーのグループクラスを拡張しています。すべての「アクター」クラス(スプライト、グループ、...)は、数ミリ秒ごとにupdate()
プロトタイプを呼び出します。
私の考えは、アプリケーションがデスクトップ上で実行されている場合(電話ではなく)にのみこの機能を拡張することでした。例えば
:
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
};
私はおそらくプレイヤーはdekstop /タブレット/携帯電話上にあるかどうかを確認するためにupdate()
機能であればclausuleを使用することはできません。初期化時に実際にプロトタイプをオーバーライドする方法はありますか?例えば
(擬似コード):
if(onPhone)
MousePointer.prototype.update = parent.prototype.update;
else
MousePointer.prototype.update = this.update;