Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Collider2D.OnCollisionStay2D(Collision2D)

Switch to Manual

Description

Sent each frame where a collider on another object is touching this object's collider (2D physics only).

Further information about the objects involved is reported in the Collision2D parameter passed during the call.

See Also: Collision2D class, 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)