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やらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【Unity】uGUIでマウスカーソルの位置にオブジェクトがあるか確認したかったよ 

こんにちは。
大坂です。

今週もネタというネタはないので、マウスネタ。
タイトルの通りですね。

確認はこんな感じ。
// PointerEventDataを作る
PointerEventData pointer = new PointerEventData(EventSystem.current);
// マウスポジションを渡す
pointer.position = Input.mousePosition;
// レイキャスト結果のリストを作成
List<RaycastResult> list = new List<RaycastResult>();
// レイを飛ばしてヒットするオブジェクトを取得
EventSystem.current.RaycastAll(pointer, list);
// オブジェクトがヒットしたか
if(list.Count > 0) {
// なんか処理させる
}


これでlistの中にヒットしたオブジェクトが入ってるわけですが、
マウスの位置にある「RaycastTarget」にチェックが入っているものすべてが取れます。
こいつね。


背景の絵としておいているものにチェックを付けておくと背景の絵のオブジェクトも取得してくるので注意ですね。
オブジェクトが重なっているときなんかは気にしてみるといいかもしれません。
デフォルトでチェックは入ってますしね。

とりあえず昨日こんな方法でやりたいことを実装したので書いてみた!
今日もこれで終わりです!

ではまた来週ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/378-6c58cfac
この記事にトラックバックする(FC2ブログユーザー)