コード例 #1
0
    private Vector3 targetShot()
    {
        Vector3     rotationShot = new Vector3();
        EnemyMoving enemyScript  = _target.GetComponent <EnemyMoving>();

        if (Vector3.Distance(enemyScript.FindTargetTransform.TargetEnemyPoint[enemyScript.GetNumberPoint()].position, _target.position) < 10 &&
            enemyScript.GetNumberPoint() + 1 < enemyScript.FindTargetTransform.TargetEnemyPoint.Count)
        {
            Vector3 vecotrNextPoint =
                enemyScript.FindTargetTransform.TargetEnemyPoint[enemyScript.GetNumberPoint() + 1].position
                - enemyScript.FindTargetTransform.TargetEnemyPoint[enemyScript.GetNumberPoint()].position;
            rotationShot = enemyScript.FindTargetTransform.TargetEnemyPoint[enemyScript.GetNumberPoint()].position + vecotrNextPoint.normalized * (10 - Vector3.Distance(enemyScript.FindTargetTransform.TargetEnemyPoint[enemyScript.GetNumberPoint()].position, _target.position));
        }
        else
        {
            rotationShot = _target.position + _target.forward * 10;
        }
        return(rotationShot);
    }