みかづきブログ その3

3ヶ月つづけてみました。

Unityでインスタンスをまたいでイベントを通知するし引数を必要としないとき(delegateをつかう)

例えばUIボタンを押したときにSpriteにアタッチしているスクリプトのpublicメソッドを叩きたい時、JavaScriptならEventDispatcherを使ったりしていたんですが、Unityだとどうしたもんかと思っていました。

とりあえずdelegateをつかってイベントを渡してみることにしました。


ButtonController(ボタンにアタッチするスクリプト)
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ClickEventArgs : EventArgs {

}

public class ButtonController : MonoBehaviour {
	public event EventHandler OnClickHandler = delegate {
		Debug.Log ("CLICK!");
	};

	public void OnClick () {
		this.OnClickHandler (this, ClickEventArgs.Empty);
	}
}
SpriteController(スプライトにアタッチするスクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpriteController : MonoBehaviour {
	public void Say () {
		Debug.Log ("Sprite!");
	}
}
GameController
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameController : MonoBehaviour {
	[SerializeField]
	private GameObject Button;
	[SerializeField]
	private GameObject Sprite;

	// Use this for initialization
	void Start () {
		Button.GetComponent<ButtonController> ().OnClickHandler += delegate {
			Sprite.GetComponent<SpriteController> ().Say ();
		};
	}
}

引数がなければこんな感じで実装できました。

大人になってから小学校に行ってみて思ったこと

先日、小学校に行く機会がありました。
小学校を卒業してからは小学校という施設に入ったのははじめてでした。

行ってみての感想としては、大人視点で見るとすべてが小さい。
ドアも小さいし、机も小さいし、水飲み場も低いし、バスケットゴールも低い。

子供の頃はものすごく高く見えた教室の引き戸がとても低く見えました。

そう考えると、ドアに黒板消しを挟むトラップ。これ先生は絶対に引っかかりませんね。
子供から見れば視界から消える高さですが、大人の視点だと本当に目の前に黒板消しがあることになります。
引っかかってくれた先生はわざと引っかかってくれていたんでしょう。

大人と子供で見える景色はこんなにも違うのかと思いました。

そんなこんなで、子供の悩みも大人から見るととても小さな悩みだと思ってしまいがちなんですが、
そこは相対的なものなので真摯に受け止めたいですね。
これは大人対子供だけでなく、全てにおいて言えることかもしれません。

そんなことを考えました。

2ヶ月ぐらい前にアップルTVでAmazonプライム・ビデオが見れるようになったようです。

www.apple.com

昨年末にアップルTVアプリに「Amazonプライム・ビデオ」が追加されたことにようやく気づきました。

やったー。

あと、「Amazonプライム・ビデオ」に個人的に一番好きな映画である「サマータイムマシン・ブルース」が追加されていることに気づきました。

やったー。