Вызов метода в одноимённом по тегу объекте

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Вызов метода в одноимённом по тегу объекте

Сообщение ArtGor 19 июн 2019, 00:48

Здравствуйте,в общем такая проблема,имеется префаб вражины,в его скрипте есть метод для изменения хп,
Так же имеется префаб пульки,в котором вызывается этот метод при столкновении с вражиной.
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BulletMoveScript : MonoBehaviour
{
    AIscipts curHeal; //нынешнее хп вражины
    public float timeDestroy;
    public float damageBul=1;//дамаг пульки
        void Start () {
        Destroy(gameObject, timeDestroy);
        curHeal = FindObjectOfType<AIscipts>().GetComponent<AIscipts>();
    }
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Zombie")
        {
            curHeal.currentValue(-damageBul);
            Destroy(gameObject);
        }
    }
}
 

Но если в сцене двое или более вражин,то дамаг идёт только по последнему заспавненому вражине,даже если я стреляю в совершенно другой префаб.
т.е по кому бы не стрелял,дамаг будет наносится последнему появившемуся вражине,не знаю как с этим бороться.
ArtGor
UNец
 
Сообщения: 21
Зарегистрирован: 14 июн 2019, 01:48

Re: Вызов метода в одноимённом по тегу объекте

Сообщение AngryCat 19 июн 2019, 01:44

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BulletMoveScript : MonoBehaviour
{
    public float timeDestroy;
    public float damageBul=1;//дамаг пульки
        void Start () {
        Destroy(gameObject, timeDestroy);
    }
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Zombie")
        {
            other.collider.gameObject
Getcomponent<AIscripts>().currentValue(-damageBul);
            Destroy(gameObject);
        }
    }
}
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: Вызов метода в одноимённом по тегу объекте

Сообщение ArtGor 19 июн 2019, 02:52

AngryCat писал(а):
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BulletMoveScript : MonoBehaviour
{
    public float timeDestroy;
    public float damageBul=1;//дамаг пульки
        void Start () {
        Destroy(gameObject, timeDestroy);
    }
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Zombie")
        {
            other.collider.gameObject
Getcomponent<AIscripts>().currentValue(-damageBul);
            Destroy(gameObject);
        }
    }
}

Ох,спасибо,это именно то что нужно)) :-bd
ArtGor
UNец
 
Сообщения: 21
Зарегистрирован: 14 июн 2019, 01:48


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 15