版本: Unity 6 (6000.0)
语言English
  • C#

Collider2D.OnCollisionStay2D(Collision2D)

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每一项更改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

参数

other 与此碰撞相关的 Collision2D 数据。

描述

当另一个对象的碰撞体接触到此对象的碰撞体时,每帧都会发送一次(仅限 2D 物理)。

有关所涉及对象的更多信息在调用期间传递的 Collision2D 参数中报告。如果您不需要此信息,则可以声明不带参数的 OnCollisionStay2D。

注意:碰撞事件将发送到禁用的 MonoBehaviour,以允许根据碰撞启用 Behaviour。对于休眠的刚体,不会发送碰撞保持事件。

其他资源:Collision2D 类,OnCollisionEnter2DOnCollisionExit2D

using UnityEngine;

public class Example : MonoBehaviour { float rechargeRate = 10.0f; float batteryLevel;

void OnCollisionStay2D(Collision2D collision) { if (collision.gameObject.tag == "RechargePoint") { batteryLevel = Mathf.Min(batteryLevel + rechargeRate * Time.deltaTime, 100.0f); } } }