| | |
|
投稿者:たくみ 2006/12/07(木) 22:31
薫さんどうもですー。 薪さん御助言有り難うごさいます。
ツリー表示を見ると、「横から失礼します」が連発していて 不覚にもちょっと笑ってしまいました(笑 ちゃんとRe:をつけるようにあとで掲示板を修正しておかないと…(^^;ゞ
>ゲームで主人公の名前を変更可能にできるゲームがありますが。 >これ自体は、Yu-risの変数関係とダイアログ関係を使えば問題なくいけると思うのですが。 >これで変更された名前を名前枠に表示させようとすると、キャラ名は事前に設定するようになっているので、 >変更された名前が名前枠に表示出来ないという弊害があります。 >例えば、特定の変数『$name』とかを使って、この変数に名前を入れたら名前枠に表示できるようにするということは >出来ませんでしょうか?
いや、このあたりも質問されて気づくことが多いですね(^^; 仕事では主人公の名前が固定である事が多かったので、ハっとさせられました。 ただ、結果から言えば出来ますです^^ 標準命令としては用意されていないので、気持ち応急処置的なものになりますが、 変数内容表示機能 _[] を利用します。
マニュアルにあまり詳しく書いていないのでここで詳しく説明しますと、 考え方としては、スクリプト中に
_[$G.S(0)]「てすとですー♪」 //← $G.S(0) に「枝理」という文字列が入っているとします
というように記述があると、まず変数の中身が取り出され、
枝理「てすとですー♪」
と変換されます。その後に、名前表示部分の解析がなされるので、 スクリプトに通常どおり記述したのと同様、名前欄に正しく名前が表示されます。 結果的に、変数に格納されていた名前を名前欄に表示することができる、というわけです。
ただ、
_[$G.S(0)]「てすとですー♪」
主人公の台詞の度にこのような記述だと保守性が悪いので、 マクロ化してしまうと便利だと思います。 マクロファイル内で、
macro[name="主人公" str="_[$G.S(0)]" ]
と定義しておけば、
\[主人公]「てすとですー♪」
あるいは
\主人公;「てすとですー♪」
と書くことができるようになります。 このあたりで試してみていただければと思います。 これでまた何か不都合がみつかりましたらお教えいただければ助かりますです。 今後の参考になりました。有り難うございます^^
このあたりも、今後のバージョンアップでさらに便利に使えるようにしたいですね。 事前に定義ファイルで、「主人公」という文字列を変数 $G.S(0) と結びつけておくように出来れば、
主人公「テストですー♪」
とスクリプト中に記述されていたら、『主人公』の部分を自動的に $G.S(0) の中身に展開してくれれば、 さらに記述がすっきりしますしね。
ちなみに補足として、名前の解析機能ですが、 現状だと「」『』()の前に書かれている文字を名前かどうか判断しています。
枝理「てすとですー♪」 枝理『てすとですー♪』 枝理(てすとですー♪)
という記述に対して、正しく名前だと認識されるようになっています。 また、下のように
枝理『てすと「てすとですー♪」ですー♪』
括弧がネストしていても特に問題ありません。 このあたりの記号もいずれ設定できるようにしようと思います。 例えば“”を設定すれば
枝理“てすとですー♪”
という記述でも、枝理が正しく名前として認識されるようにしたりとか。
あと、名前画像のチラつき修正の件ですが、 いまちょっと次の準備でちょっとだけ動かなくてはいけなくて、 更新のほうはもうちょっとだけお待ちください。 早くて今週中、遅くても来週の前半にはバージョンアップしたいと思います。
| |
| | |
|