「Unity/UIImage/Collider2d」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→2dイメージの接触判定) |
|||
行5: | 行5: | ||
#ImageのInspectorのBoxColliderのxとyが1になってるので、Imageサイズと同じ(デフォルト:100)にする | #ImageのInspectorのBoxColliderのxとyが1になってるので、Imageサイズと同じ(デフォルト:100)にする | ||
これで、上側のImageがおりてきて、下のImageと接触して止まるはず。 | これで、上側のImageがおりてきて、下のImageと接触して止まるはず。 | ||
+ | |||
+ | スクリプトで接触判定 | ||
+ | <pre> | ||
+ | using UnityEngine; | ||
+ | |||
+ | public class Collider2d : MonoBehaviour | ||
+ | { | ||
+ | // 接触開始 | ||
+ | void OnCollisionEnter2D(Collision2D collision) | ||
+ | { | ||
+ | Debug.Log("enter name=" + collision.gameObject.name); | ||
+ | } | ||
+ | // 接触中 | ||
+ | void OnCollisionStay2D(Collision2D collision) | ||
+ | { | ||
+ | Debug.Log("stay name=" + collision.gameObject.name); | ||
+ | } | ||
+ | // 接触終了 | ||
+ | void OnCollisionExit2D(Collision2D collision) | ||
+ | { | ||
+ | Debug.Log("exit name=" + collision.gameObject.name); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
==3dのとき参照== | ==3dのとき参照== | ||
[[Unity/3d/collider]] [ショートカット] | [[Unity/3d/collider]] [ショートカット] |
2023年3月6日 (月) 13:41時点における版
2dイメージの接触判定
- Canvas/Imageを2つ追加
- 両方にBoxColliderを追加
- 上側のImageにだけ重力としてRigitbody2Dを追加。
- ImageのInspectorのBoxColliderのxとyが1になってるので、Imageサイズと同じ(デフォルト:100)にする
これで、上側のImageがおりてきて、下のImageと接触して止まるはず。
スクリプトで接触判定
using UnityEngine; public class Collider2d : MonoBehaviour { // 接触開始 void OnCollisionEnter2D(Collision2D collision) { Debug.Log("enter name=" + collision.gameObject.name); } // 接触中 void OnCollisionStay2D(Collision2D collision) { Debug.Log("stay name=" + collision.gameObject.name); } // 接触終了 void OnCollisionExit2D(Collision2D collision) { Debug.Log("exit name=" + collision.gameObject.name); } }
3dのとき参照
Unity/3d/collider [ショートカット]