07 «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.» 09

ハルシオンシステムの気まま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.blog.fc2.com/tb.php/169-7e490560
この記事にトラックバックする(FC2ブログユーザー)