このオブジェクトのコライダーに他のコライダーが接触し続けている毎フレームの間、送信されます(2D Physicsのみ)
衝突についての詳しい情報は、呼び出されるときにパラメータとして取得できるCollision2Dで取得することができます。この情報が必要ない場合はパラメータなしのOnCollisionStay2Dを使用することができます。 See Also: Collision2D クラス, OnCollisionEnter2D, OnCollisionExit2D.
var rechargeRate = 10.0; var batteryLevel: float; function OnCollisionStay2D(coll: Collision2D) { if (coll.gameObject.tag == "RechargePoint") batteryLevel = Mathf.Min(batteryLevel + rechargeRate * Time.deltaTime, 100.0); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float rechargeRate = 10.0F; public float batteryLevel; void OnCollisionStay2D(Collision2D coll) { if (coll.gameObject.tag == "RechargePoint") batteryLevel = Mathf.Min(batteryLevel + rechargeRate * Time.deltaTime, 100.0F); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public rechargeRate as float = 10.0F public batteryLevel as float def OnCollisionStay2D(coll as Collision2D) as void: if coll.gameObject.tag == 'RechargePoint': batteryLevel = Mathf.Min((batteryLevel + (rechargeRate * Time.deltaTime)), 100.0F)