Javascript初心者ですがあるファイルに
以下のようなクラスが定義されているとします
JavaScript
1Scene_Base.prototype = Object.create(Stage.prototype); 2Scene_Base.prototype.constructor = Scene_Base; 3 4Scene_Base.prototype.update = function() { 5 this.updateFade(); 6 this.updateChildren(); 7}; 8 9Scene_MenuBase.prototype = Object.create(Scene_Base.prototype); 10Scene_MenuBase.prototype.constructor = Scene_MenuBase;
JavaScript
1(() => { 2 class Scene_Test extends Scene_MenuBase { 3 update() { 4 super.update(); 5 処理A 6 } 7 } 8})();
このファイルとは別ファイルに処理Aのあとに処理Bを追加したいと思います。
この場合どのようにコードを記述するべきでしょうか?
コードは、コードブロックで記載ください。
```ここに言語名
ソースコード
```
という形式です。
つまり、updateメソッドを、外部のJavaScriptから拡張したい、機能追加したい、
ということでしょうか?
すみません。失礼しました。
>updateメソッドを、外部のJavaScriptから拡張したい、機能追加したい
情報が不足していてすみません。そのとおりです。よろしくおねがいします。
あ、
Scene_Hogehogeを継承していますが、
Scene_Hogehogeには、updateメソッドはいますか?
Scene_Hogehogeの仕様も合わせて、コードの記載をお願いします。
また、Scene_Hogehogeが外部JSに記載のスーパークラスってことでしょうか?
hogehogeは仮の名称でしたので追記しました。
javascript初心者なのでお手柔らかにお願いしたいですが
Scene_MenuBaseがスーパークラスだと思います。
外部JSからこのサブクラスのScene_Testにあるupdateメソッドの
処理Aに追加して処理Bを行いたいです。
処理Bが新しい外部JSになると思います。
処理Aのファイルは変更できないものと考えてください。
説明が悪くすみませんがよろしくおねがいします。
追記ありがとうございます。
Scene_MenuBaseはプロトタイプ定義なのに、
サブクラスはクラス定義となっていますが、これには意味がありますか??
確かに、内部的には、クラス構文もプロトタイプが動いておりますが、
処理のさせ方は統一したほうがいいかと思いますが・・・。
あともう一点、
処理Aのファイルとは、
Scene_MenuBaseが記述されいてるファイル、ということですね?
何かしらの事情で、Scene_MenuBaseは変更ができない、
ということでよろしいでしょうか?
Scene_MenuBaseが変更できないというよりScene_Testサブクラスが変更できないということになります。ですがこのScene_Testに追加して処理がしたいのです。Scene_Testに追加できないがために新しいファイルを作ってScene_Testに外部ファイルを通じて処理が追加できないのかということが知りたいです。
なるほど・・・。
わかりました。
回答に移ります。
すみません。Scene_Baseの記述不足してました。追加しました。
Scene_MenuBaseのほうにはupdateメソッドはみあたりませんでした。
それは、
Scene_MenuBase.prototype = Object.create(Scene_Base.prototype);
にて、引き継いでると思います。
回答1件
あなたの回答
tips
プレビュー