メッセージウインドウ NAME背面に画像表示

36 views
Skip to first unread message

スーヘラ

unread,
Jun 19, 2024, 5:08:13 PM (13 days ago) Jun 19
to 宴ユーザーグループ
・宴のバージョン:3.11.4
・Unityのバージョン:2020.3.15.f2
・OSバージョン:Windows10

お疲れ様です。
メッセージウインドウのNAMETEXTの背面に名前が呼ばれた時のみ画像を表示したいのですが、どうすればできるでしょうか?
Message has been deleted

マッドネスラボ

unread,
Jun 19, 2024, 7:35:21 PM (13 days ago) Jun 19
to 宴ユーザーグループ
UTAGE4では デフォルトでその挙動になっていますが、UTAGE3では未実装なので拡張実装する必要があります。

AdvUguiMessageWindowに、OnPostChangeTextという、テキストが変わったときに呼ばれるイベントがあるので、それを使ってください

サンプルその1 GameObjectがactiveを切り替える場合

[SerializeField] private GameObject characterNameRoot;
public void OnPostChangeText(AdvMessageWindow window)
{
if (characterNameRoot != null)
{
characterNameRoot.SetActive(!string.IsNullOrEmpty(window.NameText));
}
}

サンプルその2 Imageコンポーネントのenabledのみを切り替える場合
[SerializeField] private Image nameBgImage;
public void OnPostChangeText(AdvMessageWindow window)
{
if (nameBgImage != null)
{
nameBgImage.enabled = !string.IsNullOrEmpty(window.NameText);
}
}

上記のサンプルを元にコンポーネントを作成し、
AdvUguiMessageWindowに、OnPostChangeText に登録してください

2024年6月20日木曜日 6:08:13 UTC+9 takumi...@gmail.com:
Message has been deleted

スーヘラ

unread,
Jun 20, 2024, 6:34:16 AM (13 days ago) Jun 20
to 宴ユーザーグループ
Name Bg Imageの追加はできました。
このあとの操作が分からないのですが、どうすればよいでしょうか?

2024年6月20日木曜日 8:35:21 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Jun 20, 2024, 6:49:49 AM (13 days ago) Jun 20
to 宴ユーザーグループ
かなり古いバージョンのUTAGEを使っているようなので、
AdvUguiMessageWindow にOnPostChangeTextイベントがなく、
AdvUguiMessageWindow.csを直接書き換えているのでしょうか?

であれば、

//テキストに変更があった場合
public virtual void OnTextChanged(AdvMessageWindow window)
{
中略・・・

LinkIcon();
      //最後に、nameBgImage.enabledのオンオフをNameTextの有無で切り替えるプログラムを追加する。
if (nameBgImage != null)
{
nameBgImage.enabled = !string.IsNullOrEmpty(window.NameText);
}
}


ただ、宴のソースコードを直接改変すると、アップデートで変更が無効化されてしまうので気を付けてください。

あとはNameBgImageに、背景となるImageコンポーネントを設定してください。
背景となる表示オブジェクトが複数階層になる場合は、
サンプルその1のほうで行ってください。


2024年6月20日木曜日 19:34:16 UTC+9 takumi...@gmail.com:

スーヘラ

unread,
Jun 21, 2024, 12:00:53 PM (12 days ago) Jun 21
to 宴ユーザーグループ
ありがとうございます
無事解決できました。

2024年6月20日木曜日 19:49:49 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages