【解決】変数で配列を利用して、スクリプトを動かしたい

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 変数で配列を利用して、スクリプトを動かしたい

投稿記事by ムノクラ » 2019年5月28日(火) 22:10

astral さんが書きました:>入れ子が多いということのようですが、動いている記述だと、変数1[0]というように見えるのですが、そういうものだと理解するのがしぜんということでしょうか。

入れ子が多いというより、$gameVariables.setValueや$gameVariables.valueの仕様の認識の違いのような気がします。

配列を直接指定する場合にも対応して、わかりやすく書くとこういう感じでしょうか。

コード: 全て選択

var array = $gameVariables.value(1);
var id = array[0];
var value = $gameVariables.value(id) + array[1];
$gameVariables.setValue(id, value);

var event = $dataCommonEvents[array[2]];
if (event) {//存在しないコモンイベントIDの場合のエラー対策
    this.setupChild(event.list, 0);
}

配列を直接指定する場合は、先頭を
var array = [11, -10, 2];
に置き換えてください。


これはわかりやすいです!

早速、応用してみようとして、つまづきました!
SS06.png

SS07.png

SS08.png
SS08.png (36.96 KiB) 閲覧数: 1842 回


分けるとエラーになってしまいます。
分けないと問題なく動作するのですが…。

---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
astral
記事: 106
登録日時: 2018年11月14日(水) 00:21
連絡を取る:

Re: 変数で配列を利用して、スクリプトを動かしたい

投稿記事by astral » 2019年5月28日(火) 22:13

スコープといって、分けるとvarなどで宣言したものが別物扱いになります。
変数の$gameVariablesと違ってvar arrayは同一スクリプト内でしか使えません。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 変数で配列を利用して、スクリプトを動かしたい

投稿記事by ムノクラ » 2019年5月28日(火) 22:18

astral さんが書きました:スコープといって、分けるとvarなどで宣言したものが別物扱いになります。
変数の$gameVariablesと違ってvar arrayは同一スクリプト内でしか使えません。


そうなんですか!
勉強になりました!

ご指導いただき、ありがとうございました。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。

“MV:質問” へ戻る