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

トピックの投稿

返信へ
アバター
ムノクラ
記事: 2119
登録日時: 2018年2月23日(金) 11:41
投稿素材
連絡する:

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

投稿記事 by ムノクラ »

下記の要望を読んで、スクリプトの配列とコモンイベントの2つで解決できるんじゃないか?と思って挑戦しました。
変数操作→コモン呼び出しを一行で行うコマンド
viewtopic.php?f=49&t=7870

しかし、上手くいきません。
Syntax errorになってしまいます。

下記を参考に組んでみました。

RPGツクールMVの変数で遊ぶ - drhaisai_blog
http://drhaisai.hatenablog.com/entry/2017/12/11/003518
【解決】変数で配列を利用して、スクリプトを動かしたい SS01.png
【解決】変数で配列を利用して、スクリプトを動かしたい SS02.png
【解決】変数で配列を利用して、スクリプトを動かしたい SS03.png
コモンイベント1:プラグイン代行の中身は下記です。

コード: 全て選択

$gameVariables.setValue($gameVariables.value($gameVariables.value(1)[0]),$gameVariables.value($gameVariables.value(1)[0])+$gameVariables.value(1)[1]);
this.setupChild($dataCommonEvents[$gameVariables.value(1)[2]].list, 0);
どなたか後学のためにご指導ください。
最後に編集したユーザー ムノクラ [ 2019年5月28日(火) 22:18 ], 累計 1 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。

返信 2 / 2ページ

アバター
ムノクラ
記事: 2119
登録日時: 2018年2月23日(金) 11:41
投稿素材
連絡する:

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

投稿記事 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) 閲覧された回数 2459 回
分けるとエラーになってしまいます。
分けないと問題なく動作するのですが…。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
astral
記事: 106
登録日時: 2018年11月14日(水) 00:21
連絡する:

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

投稿記事 by astral »

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

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

投稿記事 by ムノクラ »

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

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

“MV:質問”に戻る