【ハルシオンブログ】UnityのSuperTextMeshを使う際に、途中で文字色を変えたくても変わらないっていう話。
こんにちは。坂内です。
一昨日の夜の地震すごかったですね・・・・
また地震が続いてしまうと思うと大変すぎです・・・
福島の皆さんお気をつけてください。
今日は雨!また大雨の地域もあるようなのでお気をつけくださいませ。
さて、Unityのお話。
SuperTextMeshという文字関連のアセットを使ってるのですが、文字色を途中で変えようとしても変わらない現象が・・・
ちゃんとドキュメントとか見てないのがいけないのかもしれませんw
uGUIのTextやTextMeshProとかだと「().color = 色」とかで変わるじゃないですか。
これが効かない。
「ボタンを押すと、ボタンの中の文字の色を変える」というのを作ってみましたが、こんな感じで色の部分は変わってるのですが、実際の画面の文字色が変わらないという感じになります。

SuperTextMeshだと色の変え方が別なのかもしれません・・・・
ただ、カラーピッカーのところを手で変えると文字の色も変わるんですよ・・・・

これってSuperTextMeshのバグなんでしょうか?
ってことで、こんなコードを無理やり書いて対応すれば、ちゃんと変わるようになります。
無駄に text.enable = falseとtrueをしてあげると・・・・・

ちゃんと変わってくれました!
って無理やりな方法で対応してみたけど、もっといい方法ありますか?
なにかわかる方いましたら教えてくださいませ。
.colorで変えようとしていること自体が違うのかもしれませんorz
ということで、今日はSuperTextMeshの文字色の変更についてでした。
では、あでゅ~ノシ
一昨日の夜の地震すごかったですね・・・・
また地震が続いてしまうと思うと大変すぎです・・・
福島の皆さんお気をつけてください。
今日は雨!また大雨の地域もあるようなのでお気をつけくださいませ。
さて、Unityのお話。
SuperTextMeshという文字関連のアセットを使ってるのですが、文字色を途中で変えようとしても変わらない現象が・・・
ちゃんとドキュメントとか見てないのがいけないのかもしれませんw
uGUIのTextやTextMeshProとかだと「
これが効かない。
「ボタンを押すと、ボタンの中の文字の色を変える」というのを作ってみましたが、こんな感じで色の部分は変わってるのですが、実際の画面の文字色が変わらないという感じになります。

SuperTextMeshだと色の変え方が別なのかもしれません・・・・
ただ、カラーピッカーのところを手で変えると文字の色も変わるんですよ・・・・

これってSuperTextMeshのバグなんでしょうか?
ってことで、こんなコードを無理やり書いて対応すれば、ちゃんと変わるようになります。
using UnityEngine;
using UnityEngine.UI;
public class Blog20210215 : MonoBehaviour
{
[SerializeField] Button btnChangeColor;
private void Awake() {
btnChangeColor.onClick.AddListener(OnClickButton);
}
public void OnClickButton() {
SuperTextMesh text = btnChangeColor.transform.GetComponentInChildren();
text.color = new Color(Random.Range(0f,1f), Random.Range(0f, 1f), Random.Range(0f, 1f));
text.enabled = false;
text.enabled = true;
}
}
無駄に text.enable = falseとtrueをしてあげると・・・・・

ちゃんと変わってくれました!
って無理やりな方法で対応してみたけど、もっといい方法ありますか?
なにかわかる方いましたら教えてくださいませ。
.colorで変えようとしていること自体が違うのかもしれませんorz
ということで、今日はSuperTextMeshの文字色の変更についてでした。
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】変数の値を別クラスに渡して更新したいときは参照渡しをしよう | 【ハルシオンブログ】Unityの2Dで光と影を使う方法。※どこかで見た記事です »
コメント
| h o m e |