forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Как отличать один GameObgect от другого (http://forum.boolean.name/showthread.php?t=19022)

Ate1st 14.03.2014 17:15

Как отличать один GameObgect от другого
 
Есть 2 NPC, у них есть SphereCollider на котором висит скрипт
Код:

public class Trigger : MonoBehaviour
{
    private NPC npc;

    void Start()
    {
        npc = FindObjectOfType<NPC>();
    }
   
    public void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            NPCAI.targetTransform = other.transform;
            npc.SetState(3);
        }
    }

    public void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            npc.SetState(5);
        }
    }
}

который срабатывает при входе в него игрока, проблема в том что при входе в тригер одного NPC скрипт начинает работать у обоих. как их можно различать?

pax 14.03.2014 22:09

Ответ: Как отличать один GameObgect от другого
 
PHP код:

void Start()
{
    
npc FindObjectOfType<NPC>();


Это поиск одного произвольного NPC в сцене. Тебе надо конкретного.
Если скрипт триггера висит на том же объекте, что и NPC, то сделай так:
PHP код:

void Start()
{
    
npc gameObject.GetComponentInChildren<NPC>();




Часовой пояс GMT +4, время: 13:15.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot