【Unity】NGUIでのロングタップ処理
モンスラが好評です!ありがとうありがとう!
あと少しで1万DLいきまっす!!
現在は来年1,2月にリリースをしたいと思っている
RPGを開発中!RPG開発中!大事なことなので2回言いました。
これまた面白いものになりますので楽しみにしてください!
モンスラの新機能を考えながら新しいアプリのリリース!
はたまたiphoneにモンスラを移植するか・・・
何に手を付けたらいいのか悩んでいる坂内です。
さて、今日はNGUIにおけるロングタップについてです。
まぁ簡単なのでみなさんすでに実装されていると思いますが、
今回ロングタップを実装しようとして、なにか簡単にやる方法はないかと
ぐーぐる先生に聞いたのですが、なんも教えてもらえなかったので
適当に実装してみました。
手順は以下です。
①NGUIでボタンつくりまーす
②スクリプト用意しまーっす。
③UIButtonだと、On Clickしかないため、UIButton Messageを用意しまーす。
④もいっこUIButton Messageを用意しまーっす。
終わり。
では順番に説明をば。
【1 ボタンつくりまーす】
これはそのままですね、ボタンをNGUIのWigetWizardから作成します。

適当な絵を用意したので、Labelは消しております。

【2 スクリプトを用意しまーっす】
今回用意したスクリプトは以下になります。
はじめのlongTapDurationは、ロングタップの時間を指定しています、2秒ロングタップすれば
ロングタップ時の処理を実行するってことっすね。
lastTapは、タップを始めた時間を保存するやつっす。
メソッドといえば、OnTapが押された時、OnReleaseは離された時の処理っす。
Updateにて、「押されている、且つ押され始めてからlongTapDurationの時間が経った場合」の条件で
print分を処理しています。
この際、tapFlgをfalseにしないとずっと押されていると処理が行われてしまいまっす。
【3 UIButtonだと、On Clickしかないため、UIButton Messageを用意しまーす】
ButtonにUIButton Messageを追加します。
「Add Component」⇒「NGUI」⇒「Interaction」⇒「Button Message」で追加できます。
追加したら、先ほどのスクリプトを設定しているオブジェクトを「Target」に設定し、
「Trigger」をOnPressに変更し、「Function Name」に先ほどのスクリプトで作った
OnTapにします。

【4 もいっこUIButton Messageを用意しまーっす】
3と同じくUIButton Messageを追加します。
追加したら先ほどと同じ感じで「Target」の設定を行います。
「Trigger」はOnReleaseに変更し、「Function Name」にはOnReleaseを設定します。

これでおしまいっ!
いちおうこれでできましたが、もっと簡単な方法あったらおせーてくださいませっ!
ではっ ノシ
あと少しで1万DLいきまっす!!
現在は来年1,2月にリリースをしたいと思っている
RPGを開発中!RPG開発中!大事なことなので2回言いました。
これまた面白いものになりますので楽しみにしてください!
モンスラの新機能を考えながら新しいアプリのリリース!
はたまたiphoneにモンスラを移植するか・・・
何に手を付けたらいいのか悩んでいる坂内です。
さて、今日はNGUIにおけるロングタップについてです。
まぁ簡単なのでみなさんすでに実装されていると思いますが、
今回ロングタップを実装しようとして、なにか簡単にやる方法はないかと
ぐーぐる先生に聞いたのですが、なんも教えてもらえなかったので
適当に実装してみました。
手順は以下です。
①NGUIでボタンつくりまーす
②スクリプト用意しまーっす。
③UIButtonだと、On Clickしかないため、UIButton Messageを用意しまーす。
④もいっこUIButton Messageを用意しまーっす。
終わり。
では順番に説明をば。
【1 ボタンつくりまーす】
これはそのままですね、ボタンをNGUIのWigetWizardから作成します。

適当な絵を用意したので、Labelは消しております。

【2 スクリプトを用意しまーっす】
今回用意したスクリプトは以下になります。
using UnityEngine; |
はじめのlongTapDurationは、ロングタップの時間を指定しています、2秒ロングタップすれば
ロングタップ時の処理を実行するってことっすね。
lastTapは、タップを始めた時間を保存するやつっす。
メソッドといえば、OnTapが押された時、OnReleaseは離された時の処理っす。
Updateにて、「押されている、且つ押され始めてからlongTapDurationの時間が経った場合」の条件で
print分を処理しています。
この際、tapFlgをfalseにしないとずっと押されていると処理が行われてしまいまっす。
【3 UIButtonだと、On Clickしかないため、UIButton Messageを用意しまーす】
ButtonにUIButton Messageを追加します。
「Add Component」⇒「NGUI」⇒「Interaction」⇒「Button Message」で追加できます。
追加したら、先ほどのスクリプトを設定しているオブジェクトを「Target」に設定し、
「Trigger」をOnPressに変更し、「Function Name」に先ほどのスクリプトで作った
OnTapにします。

【4 もいっこUIButton Messageを用意しまーっす】
3と同じくUIButton Messageを追加します。
追加したら先ほどと同じ感じで「Target」の設定を行います。
「Trigger」はOnReleaseに変更し、「Function Name」にはOnReleaseを設定します。

これでおしまいっ!
いちおうこれでできましたが、もっと簡単な方法あったらおせーてくださいませっ!
ではっ ノシ
« 【Unity】NGUIの基本操作その8 | 【Unity】Orthelloを使っていて・・・ »
コメント
| h o m e |