Yanflyさん製プラグイン等が function(){ }(); で囲われていないのはなぜ?
Posted: 2016年4月04日(月) 07:54
皆様
お疲れさまです。
まず、あまりjavascriptの知識もないのに専門的な部分の質問になることをお許しください。
ツクールの多くのプラグインについて、グローバル汚染というものを起こさないよう、プラグイン全体をfunctionで囲うということがされていると存じます。
しかし、Yanflyさん製のすべてのプラグインを筆頭に、一部プラグインではそれが行われておりません。
わたしはツクールのプラグインはfunctionで囲うのが定型であると思っていたため、Yanflyさんのプラグインにすべてfunctionがついていないのを疑問に感じております。
ツクールのプラグインにおいてfunctionをつけないケースについて、どういった意図なのか等、どなたかご教示いただけないでしょうか。
(質問の背景)
現在わたしの自作ゲームが、一部環境できわめてツクールMVさんのメモリリークと思われる挙動(※)を起こしやすくなっており、原因となるプラグインの割り出しを行っていたところ、(メニュー開閉連打での感覚的な検証のため確証はあまりないのですが)functionで囲われていないプラグインが原因である可能性が疑われてきたためです。(このプラグインは、BattleManagerとGame_BattlerBaseしか変更しておらず、メモリまたはマップのスクロールに影響が出るのが少し腑に落ちません。本当に原因でない可能性もありますが……。)
※メニューを数回開閉するとマップのスクロールがひどく重くなることがあります。メニュー開閉連打であらゆるブラウザ製ゲームで再現できると思われるのですが、わたしのゲームにおいて発生率がきわめて高く、プレイに支障をきたしています。
お疲れさまです。
まず、あまりjavascriptの知識もないのに専門的な部分の質問になることをお許しください。
ツクールの多くのプラグインについて、グローバル汚染というものを起こさないよう、プラグイン全体をfunctionで囲うということがされていると存じます。
しかし、Yanflyさん製のすべてのプラグインを筆頭に、一部プラグインではそれが行われておりません。
わたしはツクールのプラグインはfunctionで囲うのが定型であると思っていたため、Yanflyさんのプラグインにすべてfunctionがついていないのを疑問に感じております。
ツクールのプラグインにおいてfunctionをつけないケースについて、どういった意図なのか等、どなたかご教示いただけないでしょうか。
(質問の背景)
現在わたしの自作ゲームが、一部環境できわめてツクールMVさんのメモリリークと思われる挙動(※)を起こしやすくなっており、原因となるプラグインの割り出しを行っていたところ、(メニュー開閉連打での感覚的な検証のため確証はあまりないのですが)functionで囲われていないプラグインが原因である可能性が疑われてきたためです。(このプラグインは、BattleManagerとGame_BattlerBaseしか変更しておらず、メモリまたはマップのスクロールに影響が出るのが少し腑に落ちません。本当に原因でない可能性もありますが……。)
※メニューを数回開閉するとマップのスクロールがひどく重くなることがあります。メニュー開閉連打であらゆるブラウザ製ゲームで再現できると思われるのですが、わたしのゲームにおいて発生率がきわめて高く、プレイに支障をきたしています。