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

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

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

 

【ハルシオンブログ】ボタンを押しっぱなしにして処理を連続で行いたい場合とかね 

こんにちは。
大坂です。

さてはて今週も木曜日です。
なんかどこにでもあるネタですが。
押しっぱなしにして処理を連続で行いたい場合なんかの時ね。

まぁEventTriggerを使ってフラグ立ててUpdateで処理を呼び出すだけなんですけどね。

とりあえずこんな感じのコード。
    public Text text;

// 押したフラグ
bool longTapFlg;
// 押してから処理を連続で流すまでの時間
const float LONG_TAP_TIME = 1f;
// 時間のカウント用
float longTapCounter;

public void OnBtnDown() {
// ボタンを押した時にフラグを立てる
longTapFlg = true;
}

public void OnBtnUp() {
// ボタンを離した時にフラグを落とす
longTapFlg = false;
// 時間のカウントを初期化
longTapCounter = 0;
}

public void UpdateText() {
// 適当に更新する処理
counter++;
text.text = counter.ToString();
}

void Update() {
// フラグが立ったら時間をカウント
if(longTapFlg) {
longTapCounter += Time.deltaTime;
// 設定した時間を越えたら処理をさせる
if(LONG_TAP_TIME <= longTapCounter) {
UpdateText();
}
}
}


あとは適当なオブジェクトにEventTriggerを付けて設定してあげれば行けますね。
今回はボタンにつけてます。
1クリックの処理もしたいときはボタンもつけてボタンのOnClickにも処理させたいのを付けておくとできますね。
こんな感じ。


で、動かしたのはこんな感じ。


何となくそれっぽく動いてますね。
今日もこれで終わりです。

ではまたノシ
スポンサーサイト

Category: Androidアプリ紹介

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/439-926301bc
この記事にトラックバックする(FC2ブログユーザー)