Unity прикрепляет скрипт к вражескому объекту, вместо этого затрагивается мой игрок - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь враг стрелять в меня.У меня есть скрипт, и я прикрепил скрипт к вражескому объекту.Однако, неожиданно мой объект игрока стреляет без остановки вместо врага. Я не знаю, как повлиял мой объект игрока. Также расстояние не рассчитывается должным образом.показывает 1000, затем 1200, затем 800 и т. д.

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

public class shten : MonoBehaviour
{
    public GameObject AntagonisticElement;
    public GameObject Target;
    public float bulletSpeed;
    public float enemySpeed;
    public float bulletDestroyTime;
    public GameObject explsn;
    public GameObject bulletPrefab;
    public Transform bulletSpawn;

    Vector3 pos;
    public float dist;
    public float min = 200;
    public float max = 150;

    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
        dist = Vector3.Distance(AntagonisticElement.transform.position, Target.transform.position);
        transform.LookAt(Target.transform.position);

        if (dist >= min)
        {
            AntagonisticElement.transform.position += AntagonisticElement.transform.forward * 4 * Time.deltaTime;
        }

        if (dist <= max)
        {
            shootAt();
        }
    }

    void shootAt()
    {
        Instantiate(explsn, bulletSpawn.transform.position, bulletSpawn.transform.rotation);
        var bullet = Instantiate(bulletPrefab, bulletSpawn.position, bulletSpawn.rotation);
        bullet.GetComponent<Rigidbody>().velocity = bullet.transform.forward * bulletSpeed;

        Destroy(bullet, bulletDestroyTime);
    }
}
...