以下ページに、「文字色と文字列を変数に入れる制御文字」のご質問があり、
viewtopic.php?t=2751
変数の操作:
#0001 = '\x1bC[18] 赤文字 \x1bC[0]'
上記の記述で、赤色の文字列を変数に入れられることを確認しました。
これを、スクリプト上で再現したいのですが、
制御文字が扱えないのか、反映されませんでした。
スクリプトコマンド:
コード: 全て選択
$gameVariables.setValue(1, '\x1bC[3] 緑文字 \x1bC[0]');
そこで、
以下のようにしました。
変数の操作:
#0002 = '\x1bC[3] 緑文字 \x1bC[0]'
スクリプトコマンド:
コード: 全て選択
$gameVariables.setValue(1, $gameVariables.value(2));
しかし、ワンクッションあるせいで、
文字色は反映されませんでした。
なぜ、スクリプトで代入しなければならないかと申しますと
Switch文で条件式を使用せざるを得ない場面がありまして
それが以下の処理になります。
コード: 全て選択
switch ($gameVariables.value(1)) {
case 1: $gameVariables.setValue(1, $gameVariables.value(2)); break;
case 2: $gameVariables.setValue(1, $gameVariables.value(3)); break;
case 3: $gameVariables.setValue(1, $gameVariables.value(4)); break;
case 4: $gameVariables.setValue(1, $gameVariables.value(5)); break;
case 5: $gameVariables.setValue(1, $gameVariables.value(6)); break;
case 6: $gameVariables.setValue(1, $gameVariables.value(7)); break;
case 7: $gameVariables.setValue(1, $gameVariables.value(8)); break;
case 8: $gameVariables.setValue(1, $gameVariables.value(9)); break;
case 9: $gameVariables.setValue(1, $gameVariables.value(10)); break;
default: $gameVariables.setValue(1, ' '); break;
}
$gameVariables.value(1)の値が1~9の場合でそれぞれ分岐させてから変数に代入しなければならず
しかも上記のスクリプトが9つ分、存在するため
条件分岐コマンドでの処理は避けたいと考えております。
文字列と色情報をセットで変数に入れるスクリプトは
どのように記述すればよいでしょうか?
どうかよろしくお願いいたします。