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

まみむ
記事: 8
登録日時: 2017年10月01日(日) 00:10

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

投稿記事by まみむ » 2018年6月05日(火) 12:22

ページを見て下さり有難うございます。

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

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

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


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

ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

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

投稿記事by ショウ » 2018年6月05日(火) 17:38

一番単純な方法は愚直に条件分岐で全パターンの文章を作る。

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

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

投稿記事by faida » 2018年6月05日(火) 22:42

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"}
とかで変数に代入するのはたぶんいけるのでは。

表示はショウ様の言う通りなので特に言及することはないです。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
まみむ
記事: 8
登録日時: 2017年10月01日(日) 00:10

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

投稿記事by まみむ » 2018年6月05日(火) 23:57

ショウさん、faidaさん

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

“VX / Ace:質問” へ戻る