コード例 #1
0
    void UpdateTarget()
    {
        GameObject[] enemies          = GameObject.FindGameObjectsWithTag(enemyTag);
        float        shortestDistance = Mathf.Infinity;
        GameObject   nearestEnemy     = null;

        foreach (GameObject Enemy in enemies)
        {
            float distanceToEnemy = Vector3.Distance(transform.position, Enemy.transform.position);
            if (distanceToEnemy < shortestDistance)
            {
                shortestDistance = distanceToEnemy;
                nearestEnemy     = Enemy;
            }
        }

        if (nearestEnemy != null && shortestDistance <= range)
        {
            target           = nearestEnemy.transform;
            targetEnemy      = nearestEnemy.GetComponent <Enemy>();
            targetEnemyRight = nearestEnemy.GetComponent <EnemyRight>();
        }
        else
        {
            target = null;
        }
    }
コード例 #2
0
    void Awake()
    {
        manage = this;
        rb     = GetComponent <Rigidbody>();
        coll   = GetComponent <Collider>();
        _Anim  = GetComponentInChildren <Animator>();

        sliderAnim    = GameObject.FindGameObjectWithTag("SliderAnim");
        _playerTarget = GameObject.FindGameObjectWithTag("Player");
        _enemyParent  = GameObject.FindGameObjectWithTag("EnemyParentt");
        spawnPoint    = GameObject.FindGameObjectWithTag("SpawnR");
    }