FC2ブログ
    05 «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.» 07

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