Пятница, 22 Ноября 2024, 11:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Столкновения пули и цели Unity C#
AppleCatДата: Суббота, 07 Октября 2017, 19:30 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте, у меня такая проблема - не работает код. Дело в том, что у меня есть пуля и цель, когда пуля сталкивается с целью, то у цели должно отниматься "здоровье". Вроде как все должно работать: на пуле висят ригидбоди 2Д, колайдер 2Д и скрипт, на цели тоже висит колайдер 2Д и скрипт. Пули спокойно сталкиваются с объектом, но количество здоровья цели не меняется, скрипт не срабатывает
Код цели:
Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Target : MonoBehaviour
{
    public float Health = 100.0f;

    public void Hit(float damage)
    {
        Health = Health - damage;
    }
    public void Update()
    {
        if (Health <= 0)
        {
            Destroy(gameObject);
        }
    }
}


Код пули:
Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bullet : MonoBehaviour
{

    public float Speed = 6.0f;
    public float Strength = 10.0f;

    void OnCollisionEnter(Collision collision)
    {
        Target target = collision.gameObject.GetComponent<Target>();
        target.Hit(Strength);
        Destroy(gameObject);
    }

    void Update()
    {
        transform.Translate(Vector3.up * Time.deltaTime * Speed, Space.Self);
    }
}

Заранее спасибо


Сообщение отредактировал AppleCat - Суббота, 07 Октября 2017, 19:39
afqДата: Суббота, 07 Октября 2017, 19:40 | Сообщение # 2
Разработчик
Сейчас нет на сайте
А пуля исчезает?
AppleCatДата: Суббота, 07 Октября 2017, 19:42 | Сообщение # 3
был не раз
Сейчас нет на сайте
Нет, она не исчезает, она просто отскакивает от цели
MR_BorgДата: Суббота, 07 Октября 2017, 20:01 | Сообщение # 4
участник
Сейчас нет на сайте
Надо использовать Collision2D

Изучаю C++ попутно пишу игру.
AppleCatДата: Воскресенье, 08 Октября 2017, 10:07 | Сообщение # 5
был не раз
Сейчас нет на сайте
Спасибо огромное! А то я уже второй день бьюсь. Теперь все работает
AndrewNovakДата: Среда, 11 Октября 2017, 11:04 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Код

public void Hit(float damage)
    {
        Health = Health - damage;
         if (Health <= 0)
        {
            Destroy(gameObject);
        }
    }


COLD DEPTH Steam
PUSS!
COLD DEPTH
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг