はじめに 今回はコンポーネントに依存しないメソッドの実行方法についての記事になります! UnityにはSendMessageという一つのメッセージで複数の関数を起動するメソッドが備わっています。 具体的にはゲームオブジェクトにアタッチされている指定した名前と同じ全てのメソッドを呼び出すという動作をします。 おそらくよく使われるStart・Updateなどもこれで動作している?と勝手に思っていますが、正しいのはまだ分かっていないです。 これについて少し掘り下げてみましょう。 はじめに SendMessage SendMessageの使用例 MessageSystem MessageSystemの使用例 引数ありの使用例 さいごに 参考 SendMessage まずはSendMessageの詳細を見てみましょう。 public void SendMessage (string methodNa
この記事でのバージョン Unity 5.3.1f1 Personal はじめに Unity 4.6から登場したメッセージシステム、これは以下のようなもので、 SendMessageの後継みたいな感じらしいです。 新しい UI システムは、SendMessageを置き換えるために設計されたメッセージシステムを使用します。システムは、ただの C# です。SendMessageのいくつかの問題に対処することを目指しています。 Unity 4.6登場から結構経ちますが、実はまだ一度も使った事がなかったり……、 そもそもSendMessage自体使ってなかったですし(:3っ)∋〜 とは言え、便利そうな気配が漂いまくってるので、勉強がてら記事にしてみました! SendMessageから置き換えてみる とりあえずどんな感じで使うのか、SendMessageと比べてみました。 処理の内容は送信側のSend
EventTriggerもButtonなどと同じように スクリプト側からEventを追加することができます。 ただ少しやり方が異なるのでメモしておこうと思います。 using UnityEngine.EventSystems; //この名前空間が必要です ~~~~~ public void AddEventSample() { EventTrigger currentTrigger = AddComponent<EventTrigger>(); currentTrigger.triggers = new List<EventTrigger.Entry>(); //↑ここでAddComponentしているので一応、初期化しています。 EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTrigge
UnityでuGUIを作ると、必ずEventSystemが作られます。このEventSystemはプレイヤーのUIへの入力を制御していていて、uGUIを使う時は必ず1つ必要になります。(てか複数使うと怒られます。) 基本デフォルトのままで大丈夫なんですが、これをいじれるとちょっとだけお得な時があるのでそれを紹介します。 EventSystemを別のGameObjectにつける まず、uGUIを作った時にはEventSystemというGameObjectが作られ、そこに"EventSystem"、"StandaloneInputModule"、"TouchInputModule"の3つが付きますが、特にこのGameObjectにつけていなければならないという訳ではないです。 たくさんGameObjectがあってもインスペクターの見栄えが悪いですから、好きなGameObjectに付け替えちゃい
Unity 4.6よりSendMessageに変わる新しいメッセージングが登場してしまいました。その名もExecuteEvents.Executeです。詳しくは下のマニュアルに書いてあります。 Unity - マニュアル: メッセージシステム この機能は、特定のインターフェースを持つコンポーネントを一括で操作する機能を有しています。要するに文字列ではなくインターフェースでメソッドを呼び出すSendMessageみたいなものです。 目次 目次 ExecuteEvents.Executeの使い方について サンプル ExecuteEvents.Executeの概要 継承されてるか判断する SendMessageとの違い 送信側・受信側が見つけやすい コールバック一覧をエディタで確認できる リファクタリングが容易 引数の指定が容易 高速 ExecuteEvents.Executeの使い方について
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く