유니티 일지

22.12.06 작업중, 에러원인이 뭘까...

원티어맨 2022. 12. 6. 23:00

 

 

원하는대로 일정거리를 패트롤하며 원거리 무기를 쏘는 몬스터를 만드는건 성공.

그런데 끊임없는 에러의 원인을 모르겠다.


using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class EnemyRangeType : MonoBehaviour {

 
    public float movingSpeed = 1.0f;


    [HideInInspector]
    public Collider2D enemy_collider;
    [HideInInspector]
    public Animator enemy_animator;
    [HideInInspector]
    public Rigidbody2D enemy_rigidbody2d;
    [HideInInspector]
    public SFXPlayer sfxPlayer;

     private float timeBtwShots;
  public float startTimeBtwShots;
  public GameObject Bullet;
 public GameObject gateObj;

   
     

    public void Start() {

         // 발사구 오브젝트 얻기
        Transform tr = transform.Find("gate");
        gateObj = tr.gameObject;

        enemy_collider = GetComponent<BoxCollider2D>();
        enemy_animator = GetComponent<Animator>();
        enemy_rigidbody2d = GetComponent<Rigidbody2D>();
        sfxPlayer = GetComponent<SFXPlayer>();



    }

    public void FixedUpdate() {
       
     
         
         if(timeBtwShots <= 0){
              enemy_rigidbody2d.velocity = Vector2.ClampMagnitude(enemy_rigidbody2d.velocity, movingSpeed);


            // 발사 위치
                Vector3 pos = new Vector3(gateObj.transform.position.x,gateObj.transform.position.y, transform.position.z);
                  // Prefab 으로 GameObject 만들기
                GameObject obj = Instantiate(Bullet, pos, Quaternion.identity);
                timeBtwShots =startTimeBtwShots;

            } else {
                timeBtwShots -= Time.deltaTime;
            }
       
       
        }

    public void Update() {


     

       
   }}

 

하위오브젝트를 gate로 만들어 프리팹이 생성되면 플레이어의 위치에 따라 발사가 되는데 왜

자꾸 발사위치 vector3 pos의 뭐가 에러라는거지... vecto3여서 그런가 싶어 vector2로 바꾸니까  프리팹 좌표가 z축방향으로 하염없이 멀어져가버리고...

 

믿었던 nenadradojc씨의 답변은 감감무소식...

 

막막하구만.