Unity Physics2D.OverlapPoint 重叠点

先看API:

Physics2D.OverlapPoint 重叠点

JavaScript ⇒ static function OverlapPoint(pointVector2layerMask: int = DefaultRaycastLayers, minDepth: float = -Mathf.Infinity, maxDepth: float = Mathf.Infinity): Collider2D
C# ⇒ static Collider2D OverlapPoint(Vector2 point, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

Parameters 参数
point
一个世界空间中的点。
layerMask
只在某些层过滤检测碰撞器。
minDepth
只包括Z坐标(深度)大于这个值的对象。
maxDepth
只包括Z坐标(深度)小于这个值的对象。
Description 描述

检测一个碰撞器是否与世界空间中的一个点重叠。

层遮罩可以用于指定检测特定某些图层的对象。

虽然Z轴与2D的渲染或碰撞无关,但是你可以使用minDepth和maxDepth参数去排除一些对象基于他们的Z轴。如果有好几个碰撞器都与点重叠,那么最小的Z坐标的那个碰撞器将会被返回。如果没有碰撞器与点重叠就返回Null了。

还要注意这个函数会分配内存给返回的Collider2D对象。在你需要频繁做这个检测的时候,可以使用OverlapPointNonAlloc这个函数去避免这些开销。


Vector3 touchPosition = Camera.main.ScreenToWorldPoint (Input.mousePosition);

var colliderObject = Physics2D.OverlapPoint (new Vector2 (touchPosition.x, touchPosition.y),

(LayerMask.NameToLayer ("当前UI所处的层")));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值