【Unity】クリック箇所にuGUIがあるか判定する……そして……。
使用バージョン:Unity 2018.3.12f1
目次:
やりたい事
・クリック時に特定のuGUI以外だったら処理をさせない。
今回は赤枠のimage以外だったら処理させないようにします。
順序
①Raycastの結果を受け取るListを用意する
②PointerEventDataの変数にクリック時のマウス座標を入れる
③RaycastAllを使用する
最初、Physics2D.Raycast使おうと思ってましたが、
uGUIには使えないみたいですね(>_<)
使用方法
PointerEventData型の変数のpositionにマウスの座標を入れて、
RaycastAllの引数にPointerEventData型の変数とListを入れれば、
渡したListにRaycastにヒットした結果が入ってきます。
結果のListからgameObjectにアクセスできるから大体の処理は出来そう。
以下は個人的にやりたかった処理。
子オブジェクトがクリックされたかの確認というのは、
Board以下にImage以外にも動的に追加されるので、
Boardの子オブジェクトをforeachで回してます。
ちなみにthisはBoard。
おまけ
綺麗じゃないけどImage以外のところだったら処理しないようにはできたんだけどね!
学生の頃割とやってた書き方('ω')w
【Unity】配列 × enum × SerializeField
Unityでめちゃくちゃお世話になるSerializeField。
最近新たな使い方を見つけた!
配列、enum、SerializeFieldを組み合わせると……。
Inspectorから要素の中身をタブメニューで変更できる!
普通にSerializeField使ってたけど、
配列、ListもInspectorから動的に変更できるの良いね。
積極的に使ってこー!
pyinstallerでexeが作れない!?
python3.7.2を導入した時のこと。
適当にサンプル作って、exeも作ろうと思い、
作り方をググりたどり着いたのが、
pyinstaller
早速、インストール。
pyinstaller Test.py --onefile --noconsole
と打ち、使ってみようとするも
Value Error:script 'パス/Test.py' not found
???
あるんだよなぁ……。
1時間ほど調べた結果。
デデドン。
はぁ……(溜息
exe化出来ました。
ちゃんとファイル名拡張子も表示しようね(戒め