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

MonoBehaviour.OnCollisionStay2D(Collision2D)

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

切换到手册

参数

其他 与该碰撞相关的 Collision2D 数据。

描述

在另一个对象的碰撞器与该对象的碰撞器接触时,每帧发送一次(仅限 2D 物理)。

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

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

其他资源: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); } } }