ページ 22

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

Posted: 2019年5月28日(火) 22:10
by ムノクラ
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) 閲覧された回数 2207 回
分けるとエラーになってしまいます。
分けないと問題なく動作するのですが…。

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

Posted: 2019年5月28日(火) 22:13
by astral
スコープといって、分けるとvarなどで宣言したものが別物扱いになります。
変数の$gameVariablesと違ってvar arrayは同一スクリプト内でしか使えません。

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

Posted: 2019年5月28日(火) 22:18
by ムノクラ
astral さんが書きました:スコープといって、分けるとvarなどで宣言したものが別物扱いになります。
変数の$gameVariablesと違ってvar arrayは同一スクリプト内でしか使えません。
そうなんですか!
勉強になりました!

ご指導いただき、ありがとうございました。