ページ 11

ONのスイッチ名を文章に表示 VXace

Posted: 2018年6月05日(火) 12:22
by まみむ
ページを見て下さり有難うございます。

文章に、特定のONのスイッチのみ名前を表示させるという事は可能でしょうか?
やりたい事は、以下の感じです。

[1: 〇×〇] ON
[2: △△×] 
[3: ×〇△] ON

---------------
〇×〇
×〇△
---------------
↑ 1,3がONの時の文章


可能でしたら方法を教えてくださると嬉しいです。
よろしくお願いします。

Re: ONのスイッチ名を文章に表示 VXace

Posted: 2018年6月05日(火) 17:38
by ショウ
一番単純な方法は愚直に条件分岐で全パターンの文章を作る。

それか$game_variables[変数ID] = "代入する文字列"
で変数に必要な文字列を代入して¥V[変数ID]で表示させる方法。
スイッチ名なんだから名前が途中で変わったりしないだろうし直接打ち込んで
$game_variables[1] = "〇×〇"とかでいい。
あとは条件分岐でスイッチのONOFF判別してどの変数にどの文字列を代入する
かって感じで組む感じ、表示させたい数とか次第で多少手間ではあるけど全パ
ターンの文章を作る必要は無くなる。
まぁ手間としては正直大差ない様な気もするけど。

Re: ONのスイッチ名を文章に表示 VXace

Posted: 2018年6月05日(火) 22:42
by faida
VXAceだと、なんとスイッチ名をゲーム中に取得できるんです。
まぁデバッグウィンドウのことなんですが。

$data_system.switches[n]でIDがnのスイッチ名を取得できます。
なので、イベントコマンドののスクリプトで

コード: 全て選択

nums = (1..3).select{|id|$game_switches[id]}
arr = nums.collect{|id|$data_system.switches[id]}
$game_variables[n] = "" # nは適当な変数ID
arr.each{|name|$game_variables[n] += name + "\en"}
とかで変数に代入するのはたぶんいけるのでは。

表示はショウ様の言う通りなので特に言及することはないです。

Re: ONのスイッチ名を文章に表示 VXace

Posted: 2018年6月05日(火) 23:57
by まみむ
ショウさん、faidaさん

お二人の言ってくださった内容で試してみたら、自分のしたかった事がしっかりと表現できました!
有難うございました!