facebook twitter hatena line email

「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イメージの接触判定

  1. Canvas/Imageを2つ追加
  2. 両方にBoxColliderを追加
  3. 上側のImageにだけ重力としてRigitbody2Dを追加。
  4. 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 [ショートカット]