FC2ブログ
    09 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】SuperTextMeshのイベントがすごい使える!!文字列にイベントを設定できるのです! 

    こんにちは。
    10月に入ってしまいましたね。あと3か月弱で今年も終わってしまいます。
    坂内です。

    早いもんですねぇ~ポケガ3はいつできるんでしょうか。
    とりあえず来年の4月頃を目途に頑張っていこうと思います。

    さて、Unityの話になります。

    最近使っているSuperTextMeshというアセットなのですが、なかなか素敵な機能があったので紹介しますね。




    このSuperTextMeshの中で、文字列を順に出すタイミングで、イベントを発生させることができます。

    まずはSuperTextMeshを用意します。




    まずはここまでで、文字を1文字ずつだすことができます。



    次にイベントをキャッチして文字を出すクラスを作ります。

    [STMEvents.cs]

    using UnityEngine;

    public class STMEvents : MonoBehaviour
    {
    [SerializeField] SuperTextMesh lblString;

    public void EventProc(string str, STMTextInfo info) {
    lblString.text = "<c=rainbow><w>" + str;
    }
    }



    <c=rainbow></w>はSuperTextMeshの機能で、レインボー色で派手に文字を見せるタグです。

    EventProcを呼ばれた時に、strでもらった文字をレインボー色で表示するってメソッドです。

    SuperTextMeshのEventを設定します。


    これだけだとイベント自体が発生しません。
    そこで、文字列にイベントを仕込みます。



    ただの文字列ですが、文字列の中に””という文字列を入れることで、イベントとして認識されます。


    何も起きない
    イベント1
    イベント2
    イベント3
    あい うえ お かき くけ こ



    これを、以下のように変更します。


    何も起きない
    <e=イベント1>イベント1</e>
    <e=イベント2>イベント2</e>
    <e=イベント3>イベント3</e>
    <e=あい>あい</e> <e=うえ>うえ</e> <e=お>お</e> <e=かき>かき</e> <e=くけ>くけ</e> <e=こ>こ</e>




    こうすることで、というときに、イベントが発生。
    の度にイベントを発生させることができます。



    また、というイベントでは、範囲内の1文字1文字ごとにイベントを発生させれます。

    文字列を変更

    <e2=event>あいうえおかきくけこ</e2>



    コードもちょっと変更
    [STMEvents.cs]

    using UnityEngine;

    public class STMEvents : MonoBehaviour
    {
    [SerializeField] SuperTextMesh lblString;

    public void EventProc(string str, STMTextInfo info) {
    lblString.text = "<c=rainbow><w>" + info.character;
    }
    }





    こんな感じのことができるSuperTextMeshがおすすめです!




    ということで、今日はこのへんであでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0