ページ 11

【解決済み】$gameVariables._data[n] = などについて

Posted: 2019年10月21日(月) 13:01
by MEIKOI
こんにちは。

1番目。$gameVariables.setValue(n, 1 + $gameVariables.value(n));
2番目。$gameVariables.setValue(n, 1 + $gameVariables._data[n]);
3番目。$gameVariables._data[n] = 1 + $gameVariables.value(n);
4番目。$gameVariables._data[n] = 1 + $gameVariables._data[n];

1番目と2番目は、リフレッシュ?がされるのでしょうか?
3番目と4番目は、リフレッシュ?が行われないのでしょうか?

またリフレッシュうんぬんを抜きして
処理そのものの速度が最も早いものは
何番目になりますでしょうか?理由も知りたいです。

なんか気になってしまい手が止まりました。

教えていただけたらありがたいです。

Re: $gameVariables._data[n] = などについて

Posted: 2019年10月21日(月) 13:36
by トリアコンタン
こんにちは!

1と2はリフレッシュ(全てのマップイベントおよびコモンイベントについて有効ページをチェックし、ページが変わった場合は再セットアップする処理)が実行され、3と4は実行されません。

実行速度は理屈の上では3が最速と思われます。なぜならメソッド経由ではなく、プロパティ(実際に格納されている値)を直接参照するからです。ですが、以下の理由により推奨できません。

1. 使っているプラグインと競合する怖れがあること(プラグインが本来期待する処理が実行されない可能性があります)
2. 一度も使用していない変数を参照しようとすると不正な値が返ること。(本来であれば0が返ります)
3. そもそも速度差が極めて軽微であること。(あくまでも理屈の上では最速というだけです)

【解決済み】Re: $gameVariables._data[n] = などについて

Posted: 2019年10月21日(月) 14:14
by MEIKOI
ご回答ありがとうございます!

いつもプラグインもろもろなどお世話になっています!

3番目がおすすめで無いと言うことが、知ることができて良かったです。

とりあえず、4番目の記述で書いているので、今のままで行こうと思いました!

感謝です^^