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

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

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

 

【Unity】NGUIでのロングタップ処理 

モンスラが好評です!ありがとうありがとう!
あと少しで1万DLいきまっす!!
現在は来年1,2月にリリースをしたいと思っている
RPGを開発中!RPG開発中!大事なことなので2回言いました。
これまた面白いものになりますので楽しみにしてください!

モンスラの新機能を考えながら新しいアプリのリリース!
はたまたiphoneにモンスラを移植するか・・・
何に手を付けたらいいのか悩んでいる坂内です。

さて、今日はNGUIにおけるロングタップについてです。
まぁ簡単なのでみなさんすでに実装されていると思いますが、
今回ロングタップを実装しようとして、なにか簡単にやる方法はないかと
ぐーぐる先生に聞いたのですが、なんも教えてもらえなかったので
適当に実装してみました。

手順は以下です。
NGUIでボタンつくりまーす
②スクリプト用意しまーっす。
③UIButtonだと、On Clickしかないため、UIButton Messageを用意しまーす。
④もいっこUIButton Messageを用意しまーっす。
終わり。

では順番に説明をば。
【1 ボタンつくりまーす】
 これはそのままですね、ボタンをNGUIのWigetWizardから作成します。

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

 
【2 スクリプトを用意しまーっす】
 今回用意したスクリプトは以下になります。
 
using UnityEngine;
using System.Collections;

public class LongTap : MonoBehaviour {
float longTapDuration = 2.0f;
float lastTap;
bool tapFlg;

void OnTap(){
tapFlg = true;
lastTap = Time.realtimeSinceStartup;
}

void OnRelease(){
tapFlg = false;
}

void Update(){
if(tapFlg && Time.realtimeSinceStartup - lastTap > longTapDuration){
print("aaaaa");
tapFlg = false;
}
}

}

 はじめの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を設定します。


これでおしまいっ!
いちおうこれでできましたが、もっと簡単な方法あったらおせーてくださいませっ!

ではっ ノシ
スポンサーサイト



Category: 開発日記(Unity)

Thread: 日記

Janre: 日記

Tag: Android  Unity  NGUI  タップ 
tb 0 : cm 0   

【Unity】Orthello2DとNGUIの組み合わせ 

Orthello2Dを使用しながらのNGUIの使用。
この構成で開発を行ってる方がいるかわかりませんが!
これちょっと以下の問題あるんですよね。(そのままだと

OrthelloのViewの設定、「Pixel Perfect Resolution」のXが480、Yが854にしています。
 Custom Sizeは428です。(縦画面の場合)
 これ、どこかで見た設定方法でうちでもこれでやってます。(おかしいと思った方は教えてください!)
NGUIを使用すると・・・・・



Gameには出てるのに、Sceneには見当たらない!!
ってことですっごいズームするとあるんですよねー



この紫の線が画面全体を意味してるわけで・・・
Orthelloだと480x854のサイズになっているために、画面のサイズが合わないんですよねー

で、同じ大きさにNGUIを設定してみました。

NGUIのカメラを以下の設定に、
「Size」を428に、「Viewport Rect」のWを480に、Hを480(!?)に。
なんでこうなるんだろう?Wの480はなんとなくわかるんですが、Hが480!?
まぁこれで一応Orthelloの画面サイズと合います。
んで、UI Root (2D)の下にある「Anchor」のサイズXを480、Yを480に・・・・


えぇ よくわかってないですw

一応これでGameとSceneの大きさが同じになりました・・・
正しいやり方教えてください!!

Category: 開発日記(Unity)

Tag: Unity  Orthello  NGUI 
tb 0 : cm 0