*

[Unity]Unity4.6 UIチュートリアル Lesson6.UI Events and Event Triggers 日本語要約

公開日: : 最終更新日:2014/12/17 C#, Unity, ソース

前回の続き。

ついにずっと画面で見えていた謎のEventSystemに触れます。

なんか今回から説明役の人が変わったみたい。前の人の方がかっこいい声だったなぁ。

それはさておき早速。

EventSystemはEvent SystemとInput Moduleというコンポーネントを最初から含んでいます。
Unity_

まずはEvent System(Script)というコンポーネントの説明。
このコンポーネントはFirst Selectedというプロパティを持ちます。
こちらにUIのオブジェクトを設定するとゲームを開始した瞬間に選択した状態になります。

具体的にやるために、まずはSceneを作成して、GameObjectからUIButtonを作ってみましょう。
Unity_

デフォルトの色だと選択されたときの色が変わらなくてわからないので、適当に色を指定してください。
(動画ではわずかに色変わったやろ? って言ってるけどデフォルトのボタンじゃ色変わったように見えない……)
Unity_

そして、Event System(Script)のFirst SelectedButtonをドラッグ&ドロップ。
Unity_

早速Ctrl+Pで実行すると、色が選択されたときの色になりました。
Unity_
選択された=アクティブになった、という意味です。Tabキーでアクティブのボタンを変更するようにフォーカスを当てているだけです。
また、マウスオーバーなどをするとこの選択状態が解除されます。

バージョンが違うのかわかりませんが、Send Navigation EventとDrag Thresholdが解説がなかったのでスルーして、
次はalon Input Moduleについて。

Horizontal Axis,Verical Axis,Submit Button,Cancel Buttonはそれぞれ矢印キーと決定キーの動作です。
さっきのボタンを右クリックしてDupulicateで四つにしてください。
Unity_

そして四つになったらこんな感じに並べます。
Unity_

そしたら実行して、矢印キーを押したりしてみてください。
Unity_
こんな感じに動く設定です。
例えばHorizontalの値をVerticalに、Verticalの値をHorizontalにするとかなりあべこべな状態になります。
ユーザをおちょくるのに丁度いいですね!

あとは、例えばButtonの場合はクリックされるとOn Clickというメソッドが呼ばれます。
Imageコンポーネントだった場合、クリックされたときのデフォルトのメソッドはありません。
どんな感じかやってみましょうか。
とりあえず動画に習って、爆弾の絵を描きます。
がんばって描いて下さい。

 

 

 

 

私は描けないんで、動画から抜き出して使います。
bomb
この画像をProjectのAssetsフォルダにドラッグ&ドロップでスプライトにします。
Unity_

そして出来たBombをクリックして、Texture TypeをSprite(2D and UI)にして、Hierarchyに放り込む。
Unity_

いい具合な位置にして、コンポーネントにBombScriptを追加。
Unity_

BombScriptを追加したらMonoでBombScriptを開いて、以下のように編集。

using UnityEngine;
using System.Collections;

public class BombScript : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}

	public void TurnRed(){
		SpriteRenderer renderer = gameObject.GetComponent<SpriteRenderer>();
		renderer.color = Color.red;
	}
}

単純にスプライトの色を赤くしているだけです。
ちゃんとアクセサをpublicにしておきましょう。

スクリプトを保存したら、好きなButtonを選択して、On Click()の+ボタンを押します。
Unity_

次にbombをドラッグ&ドロップ。
Unity_

最後に先ほど作成したScriptのTurnRedを選択します。
Unity_

それでは実行してボタンを押してみましょう。
Unity_
クリックされたときに設定したメソッドが呼ばれているのがわかります。
この機能を利用すればいちいちSendMessageをしなくてよいわけでかなり綺麗な形になります。

といったところでした。お疲れ様でした。

次回更新しました→[Unity]Unity4.6 UIチュートリアル Lesson7.UI Slider 日本語要約

ad

関連記事

logo

[C#]AS400をDBに見立ててPCのPGMからODBC接続する

◆前提条件◆ PCにClient Accessがインストールされている。 PCに.NET Fra

記事を読む

wannabenote

[C#, Excel]最終行を取得する

Excelを触っているのでC#でExcelネタが続きます。 Excelの行数が知りたい Exce

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 同じ色で繋がったパズルを消去する ソース解説

◆全文 using UnityEngine; using System.Collecti

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 直線で3つ同色のパズルを消去する

前回の続き。 パズドラじゃなくて、パズドラ+ぷよぷよの謎パズルを作ってしまったので、 今回は

記事を読む

unity socket

[Unity]Socket通信でP2Pすっぞ 接続待ち受け

P2Pしましょ。 まずはサーバーとして待ちうけまで作ります。 UnityだとNAT越えどうす

記事を読む

logo

[Unity]Unity2Dチュートリアル 同じ色のパズルを消去する ソース解説

◆全文 using UnityEngine; using System.Collecti

記事を読む

addcomp

[Unity]コードリファレンス コンポーネントをアタッチする。

コンポーネントをプログラム実行時に追加します。 AddComponent() AddComp

記事を読む

unity

[Unity]コードリファレンス GameObject生成

Unityをまじめに扱う必要が出てきたので、自分用のリファレンスを書いていきます。 適当にボタ

記事を読む

logo

[C#, AS400]列挙体の文字列化&DB2/400にODBC接続

定数をなるべく書きたくないんです。 あとからメンテをするときに複数箇所変更しなくてはいけないから。

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 同じ色で繋がったパズルを消去する

前回の続き。 前回で横に同じ色がある場合は消去できるようになりました。 テトリスとぷよぷよを足し

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑