Version: 2023.1
public Collider2D collider ;

描述

射线命中的碰撞体。

如果命中的对象具有多个碰撞体,这可能会十分有用 - 此属性可以用于确定特定碰撞体而不仅仅是对象。

Note that some functions that return a single RaycastHit2D will leave the collider as NULL which indicates nothing hit. RaycastHit2D implements an implicit conversion operator converting to bool which checks this property allowing it to be used as a simple condition check for whether a hit occurred or not.

using UnityEngine;
using System.Collections;

//Attach this script to an empty gameobject. //When you click on a sprite with a collider it will tell you it's name. public class ExampleClass : MonoBehaviour { void Update() { //If the left mouse button is clicked. if (Input.GetMouseButtonDown(0)) { //Get the mouse position on the screen and send a raycast into the game world from that position. Vector2 worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast(worldPoint, Vector2.zero);

//If something was hit, the RaycastHit2D.collider will not be null. if (hit.collider != null) { Debug.Log(hit.collider.name); } } } }