変数内の文字列に制御文字を使用したい

へりお
記事: 10
登録日時: 2018年3月03日(土) 19:10

変数内の文字列に制御文字を使用したい

投稿記事by へりお » 2018年3月03日(土) 21:13

はじめまして、ツクールもJavaScriptも初心者で不可解なご質問をさせて頂くかも知れませんが御容赦下さい。

現在エクセルからjsonファイルを吐き出し、jsonファイル内の文字列を変数に代入し表示に使用したいと考えています。
こちらの方法で表示は問題なく行えているのですが、制御文字が反応せず困っています。
エクセル内で制御文字を含んだ形で記入し、呼び出しているのですがそのままで表示される状態です。
色々参考にして試してはいるのですが手詰まり気味で、どなたか助言をお願いします。
添付ファイル
スクリーンショット (119).png

アバター
しぐれん
記事: 974
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: 変数内の文字列に制御文字を使用したい

投稿記事by しぐれん » 2018年3月03日(土) 22:48

おそらくエスケープシーケンスが正しく認識されていないのだと思います。
\\と2回入力することで機能すると思います。
consoleで$gameMessage.add("\\i[1]")と入力したところ、アイコンが表示されました。

Visual Studio Codeなどでデバッグ実行してみてください。
Game_Message.prototype.add()とWindow_Message.prototype.updateMessage()にブレークポイントを設置し、F11を押しながら処理の流れを見てください。
現在、プラグイン依頼はお休み中です。
へりお
記事: 10
登録日時: 2018年3月03日(土) 19:10

Re: 変数内の文字列に制御文字を使用したい

投稿記事by へりお » 2018年3月04日(日) 01:57

お返事ありがとうございます。
ご指摘いただきました\\で試してみましたがそのままのようです・・・
変数にどう入力されているのかの確認を行っていませんでしたので見てみましたら
エスケープシーケンスとして認識されていないようです。
どうすれば認識するのでしょうか・・・重ねてとなりますが検討もつかず、ご回答よろしくお願いします。
添付ファイル
スクリーンショット (123).png
アバター
しぐれん
記事: 974
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: 変数内の文字列に制御文字を使用したい

投稿記事by しぐれん » 2018年3月04日(日) 09:33

理解しました。
スクリプトで$gameMessage.add($gameVariables.value(33))と入力してください。
これでメッセージへ直接変数の内容を送り込めます。
おそらく、変数の置換が止められていてそのまま表示されているんだろうと思います。
現在、プラグイン依頼はお休み中です。
へりお
記事: 10
登録日時: 2018年3月03日(土) 19:10

Re: 変数内の文字列に制御文字を使用したい

投稿記事by へりお » 2018年3月05日(月) 00:12

解答ありがとうございます。
お返事遅くなりすみません。

私のやり方がどこか違うのかもしれません、画像の下の方の表示になってしまいます。
ただ試しにツクールの中で文字列をエスケープシーケンスに置換してみたらどうだろうと
試してみたところ不思議と置換されました。
(どうしてかわからず正しいやり方か不安なのですが・・・)
とりあえずこの方法でいこうかと思います。ご回答いただきましてありがとうございます。
この方法に問題ありそうでしたらご指摘のほどお願いします。
添付ファイル
スクリーンショット (124).png

“MV:質問” へ戻る