FC2ブログ
    08 «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.» 10

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

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

     

    【ハルシオンブログ】初心に戻って。画面をタップすると文字がぽーんって表示する方法。それにしても体裁もなんもない汚いブログですね。(∀`*ゞ)テヘッ 

    おはようございます。坂内です。
    ここ数年鳴りを潜めていた花粉が俺の中で大暴れしているようです。
    つ、つれえ orz

    さて、ネタもないので、初心に戻って「画面をタップすると数字が飛び出るよ」とかってものを解説。

    【数字が飛び出るよ】
     ①飛び出るテキストを用意しよう
      
      UIー>Textで飛び出るテキストのベースを用意
     ②テキストにフォントを指定したり、サイズを指定しよう
     ③出現場所から上にぽーんと飛び出る動きを作る
      ぽーんと飛び出る感じにしたいので、作成したTextにRigidbody2Dを付けます。(物理法則にしたがって上に飛んだあとに落としたいから)


     ④以下のスクリプトを①で作ったテキストオブジェクトにつけます。
      <PopupText.cs>  
    using UnityEngine;
    using UnityEngine.UI;

    public class PopupText : MonoBehaviour {

    int[] RANDOM_NUM = {0,999999};
    float[] UP_POWER = {300f,450f};

    void Awake() {
    transform.SetParent(GameObject.Find("Canvas").transform,false);
    }

      void Start () {
    Text txt = GetComponent <Text>();
    txt.text = Random.Range(RANDOM_NUM[0],RANDOM_NUM[1]).ToString("n0");
    Rigidbody2D rigid = GetComponent<Rigidbody2D>();
    rigid.AddForce(Vector2.up * Random.Range(UP_POWER[0],UP_POWER[1]));
    Invoke("DestroyNum",1.5f);
      }

    void DestroyNum() {
    Destroy(gameObject);
    }
    }

     ⑤このテキストオブジェクトはプレハブにしておきます。
      

    【呼び出されたら上で作った数字が飛び出るようなものを作る】
     ①とりあえずこんな感じのスクリプトを作ってCanvasにでもつけておきましょう。
     <PopupManager.cs>
    using UnityEngine;

    public class PopupManager : MonoBehaviour {

    public GameObject popupObject;

    public void PopupObject() {
    Instantiate(popupObject);
    }
    }

     popupObjectには先ほど作ったテキストのプレハブをアサインします。
     

    【画面をタップ】
     簡単に画面をタップといってもいくつか方法があると思います。
     その中の2つほどを紹介。
     ■画面全部をボタンにする方法
      ①こんな感じで画面いっぱいにImageを置きます。
      
      ②ImaageのColorにあるαを0にして見た目は何もないようにします。
      ③ImageにButtonコンポーネントを付ける。
       ButtonのOnClickにCanvasにつけたPopupManagerのPopupObjectを指定します。


     ■画面がタップされたのを検出する方法
      ①先ほど作ったPopupManager.csに次のコードを追加する。
    <PopupManager.cs>
    using UnityEngine;

    public class PopupManager : MonoBehaviour {

    public GameObject popupObject;

    public void PopupObject() {
    Instantiate(popupObject);
    }

    void Update() {
    if(Input.GetMouseButtonDown(0)) {
    PopupObject();
    }
    }
    }


     追加されたのはvoid Updateです。
     Input.GetMouseButtonDown(0)で「画面が押された」を検出しています。
     
    以上、【数字が飛び出るよ】【呼び出されたら上で作った数字が飛び出るようなものを作る】【画面をタップ】
    の3つの過程を終えると、こんな感じの物ができます。



    ってことで、文字を飛び出す方法でした。

    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/482-87e120c1
    この記事にトラックバックする(FC2ブログユーザー)