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

アバター
MEIKOI
記事: 168
登録日時: 2018年9月22日(土) 20:13
連絡を取る:

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

投稿記事by MEIKOI » 2019年10月21日(月) 13:01

こんにちは。

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番目は、リフレッシュ?が行われないのでしょうか?

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

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

教えていただけたらありがたいです。
最後に編集したユーザー MEIKOI on 2019年10月22日(火) 07:24 [ 編集 1 回目 ]

-----------------------------------------
https://twitter.com/meikoimv
-----------------------------------------
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

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

投稿記事by トリアコンタン » 2019年10月21日(月) 13:36

こんにちは!

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

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

1. 使っているプラグインと競合する怖れがあること(プラグインが本来期待する処理が実行されない可能性があります)
2. 一度も使用していない変数を参照しようとすると不正な値が返ること。(本来であれば0が返ります)
3. そもそも速度差が極めて軽微であること。(あくまでも理屈の上では最速というだけです)
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
MEIKOI
記事: 168
登録日時: 2018年9月22日(土) 20:13
連絡を取る:

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

投稿記事by MEIKOI » 2019年10月21日(月) 14:14

ご回答ありがとうございます!

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

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

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

感謝です^^

“MV:質問” へ戻る