devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

タッチデバイス向けの、GUI Textureでボタンを実装するテストコード。

前提条件:

複数ボタンの同時押しは考慮しない。マルチタップ時には最初のタップを処理の対象とする。
「ボタンがタップされた」は、「ボタンの上でタップが開始」されて、「ボタンの上でタップが終了」した時とする。

コードの構成と内容:

GUI Textureに追加するコード(GUIButton.cs)と全体を制御するコード(Scene.cs)の2つ。
ボタン自体の状態(画像の入れ替え、状態の遷移など)はGUIButton.csが担当する。
ボタンが押された際の振る舞いは、Scene.csが担当する。Start()で自分自身とタップされた時(OnTap)のメッセージ(メソッド名)をボタンへ設定しておく。
ボタンの状態は、プロパティbuttonStatusで取得することが出来る。

ボタンは以下の4つの状態を持つ

  • UP – 何もされていない状態
  • DOWN – 押されている状態(ボタンがタップされた)
  • CANCEL – キャンセルされた状態(ボタンの外でタップがタップが終了した)
  • END – 押下終了(ボタンの上でタップが終了した)

Pocket

“Unity3D:GUI Textureでボタンを作成(2)” への1件のコメント

  1. naru design より:

    Unity Remote で実機デバッグしていると、touchPhaseが上手く拾えないことがまれに発生する。実機転送後は問題なく動作しているので気にしなければ良いんだけど。
    あえて、デバッグをスムーズに進めるために、現在はtouchPhaseを使わない方法を模索中。
    タッチ周りのデバッグが効率よく出来れば、こんな苦労しなくていいんだけど。

コメントを残す

Trackback URL: