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やらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】uGUIでスワイプさせたいんだけど?え?ボタンじゃできないの?ではこうしてやろう! 

    おはようございます!
    坂内っす!

    ポケットガール開発中です(まだかよっ)。
    色々色色々ありすぎて、なかなか順調に進んでない今日この頃。

    えーと、今日はuGUIにてオブジェクトをスワイプして触れてみようって話。
    え?なに?

    ボタンってタップしないとだめですよね。

    でも、スワイプして物に触れたい時ってあるじゃないですか。

    コインだったり、それっぽいボタンだったりと。

    そういう時にはこうやれるんよ?って話です。

    例えば、ピアノみたいな感じで、ボタンを並べるとします。



    これは、各鍵盤にButtonコンポーネントをつけています。
    Buttonの呼び先としては、以下になっています。

    public void SoundOut(int soundNo){
    switch(soundNo){
    case 0:
    音を出す;
    break;
    case 1:
    音を出す;
    break;
    case 2:
    音を出す;
    break;
    case 3:
    音を出す;
    break;
    case 4:
    音を出す;
    break;
    case 5:
    音を出す;
    break;
    case 6:
    音を出す;
    break;
    case 7:
    音を出す;
    break;
    }
    }


    で、これだと以下の動画のように、押す(クリックダウン>クリックアップ)をしないと、音はでません。
    スワイプだと音が出ないってことですね。(動画の黄色い丸がマウスカーソル)

    動画:20150113_m1

    でも、スワイプでも音だしたーーい!って時は「EventTrigger」を使うとできます。

    使うのは、EventTriggerのPointerEnterです。
    PointEnterだけだと、押した時の処理が動かなくなるので、PinterDownもつけときます。



    で、呼び先のコードも以下のように変えておきます。

    public void SoundOut(int soundNo){
    if(!Input.GetMouseButton(0)){
    return;
    }
    switch(soundNo){
    case 0:
    音を出す;
    break;
    case 1:
    音を出す;
    break;
    case 2:
    音を出す;
    break;
    case 3:
    音を出す;
    break;
    case 4:
    音を出す;
    break;
    case 5:
    音を出す;
    break;
    case 6:
    音を出す;
    break;
    case 7:
    音を出す;
    break;
    }
    }


    って、やっときます。

    そうすると以下みたいな動きに!!
    わー素敵!やったね!ってなるわけですが、どうでしょう?

    動画:20150113_m2

    以上、久々の開発ネタでした。

    アデュ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

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