Довідники Unity C# OnCollisionStay

Що таке OnCollisionStay в Unity C#?

Метод OnCollisionStay викликається в Unity на кожному кадрі, поки об'єкт стикається з іншим об'єктом із увімкненим компонентом Collider і фізикою (Rigidbody). Цей метод підходить для обробки логіки, яка повинна виконуватись протягом часу зіткнення, наприклад, зменшення здоров'я або перевірка умов взаємодії.


Основні характеристики методу OnCollisionStay
  1. Постійне виконання при зіткненні: Викликається на кожному кадрі, поки триває зіткнення з іншим об'єктом.
  2. Доступ до інформації про зіткнення: Метод приймає об'єкт Collision, що містить дані про точку контакту, нормаль та інші характеристики зіткнення.
  3. Не підходить для одноразової взаємодії: Якщо потрібно виконати дію тільки на початку зіткнення, використовуйте метод OnCollisionEnter.
using UnityEngine;

public class DamageZone : MonoBehaviour
{
    private int damagePerSecond = 10;

    // Метод OnCollisionStay викликається, поки об'єкт знаходиться в стані зіткнення
    void OnCollisionStay(Collision collision)
    {
        // Перевіряємо, чи є у іншого об'єкта компонент Player
        Player player = collision.gameObject.GetComponent<Player>();
        if (player != null)
        {
            // Зменшуємо здоров'я гравця
            player.TakeDamage(damagePerSecond * Time.deltaTime);
            Debug.Log("Завдано шкоди гравцеві.");
        }
    }
}
Коментарі
Додати коментар

Поки що коментарів немає