RichTextを使用して、一文字’表示を行うとRichText</>と色変更を行うときに記述していた記号までの文字が表示されるまで、色変更とほしい結果のテキスト表示が行われません
こちらなにか対処法などご存知方いますでしょうか?
3枚目が大まかな現在のノード構成になります
よろしくお願いいたします
RichTextを使用して、一文字’表示を行うとRichText</>と色変更を行うときに記述していた記号までの文字が表示されるまで、色変更とほしい結果のテキスト表示が行われません
こちらなにか対処法などご存知方いますでしょうか?
3枚目が大まかな現在のノード構成になります
よろしくお願いいたします
RichTextの開始タグが切り取り範囲(表示範囲)に入っていて、なおかつ終了タグが切り取り範囲(表示範囲)に入っていない場合に、終了タグを末尾に追加すれば良いかと思います
RichTextのタグは開始と終了が揃わない限り、範囲が確定しないのでスタイルの置き換えは発生しません
あとは、タグの部分は文字数に含めないようにしたほうが良いかと思います
具体的には、 次の文字が <
の場合は >
が来るまで進める、などです
なお、ノードグラフを貼っていただいていますが、解像度が低すぎるので全く参考になりません
お返事ありがとうございます。
解像度に関してすみません。画像のほう追加させていただきました。
RichTextのタグは開始と終了が揃わない限り、範囲が確定しないのでスタイルの置き換えは発生しません
上記に関して理解しました。
RichTextの開始タグが切り取り範囲(表示範囲)に入っていて、なおかつ終了タグが切り取り範囲(表示範囲)に入っていない場合 に、終了タグを末尾に追加すれば良いかと思います**
あとは、タグの部分は文字数に含めないようにしたほうが良いかと思います
具体的には、 次の文字が <
の場合は >
が来るまで進める、などです
タグを文字に含めないようにするにはForEachLoopなどで分割するのがいいのでしょうか?
上記ふたつに関して処理の組み方が現在の実力だと組み方が思いつきませんでした
1文字ずつ送る際に今何文字目まで取得するのか、を変数に持っていると思います(おそらく Current Page
でしょうか?)
その指定した位置にある1文字(最後の1文字)を確認して <
であれば、 >
が来るまで文字数カウントを進めればよいです
このとき、別の関数に開始タグの数を記録しておくとよいでしょう
上記の条件でカウントを進める際に+1しておけばよいです
終了タグの場合は必ず <
のあとに /
が来るので、この場合は開始タグのカウントを-1します
そうして進めたカウントを元に文字列を取得し、先に記録した開始タグの数の分だけ、末尾に終了タグを追加して補完すればよいです
T_Sumisakiさん手法を参考に組もうとしたのですが、うまく処理が組めず、
kiruru002さんのノード群を参考に処理を組ませていただいたのですが、===,!==はどのように作成されたのでしょうか?
==,!=とテキスト型の===を使用して上記ノード代替えを行おうとしたのですが、Kiruruさんの動画のような結果が得られませんでした
お手すきの際にご確認いただけますと幸いです
===,!==はどのように作成されたのでしょうか?
Equal exactly (String) ですね
これは文字列同士の比較をするノードで、String型を引っ張っているときに===と入力すれば出てきます
(post deleted by author)
===(Strig)が呼ばれなかったのはConfig設定を変更しているのが原因でした。
無事、色変更の適用もありながらテキスト表示が行えました!
WhilteLoop,SetWidgetSpace等、普段扱ったことのないノードのことが知れてとても勉強になりました。ノードを共有していただきありがとうございました!
こちらで解決とさせていただきます。