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

public class ArrowController : MonoBehaviour {

    GameObject player;

    void Start () { 
        this.player = GameObject.Find ("player");
    }
        

    void Update () {

        transform.Translate (0, -0.1f, 0);

        if (transform.position.y < -5.0f) {
            Destroy (gameObject);
        }

        Vector2 p1 = transform.position;
        Vector2 p2 = this.player.transform.position;
        Vector2 dir = p1 - p2;
        float d = dir.magnitude;
        float r1 = 0.5f;
        float r2 = 1.0f;

        if(d<r1 + r2) {
            Destroy (gameObject);
     }
  }
}


왠만하면 넘어가려고 했는데, 그냥 긁어와서 한번만 더 물어볼께


1.


Vector2 에서 p1이랑 p2가 물체 중심의 좌표를 구하는거라고 설명해주는데,


이게 중심인지 맨위인지 맨왼쪽 밑(물체의 0.0좌표?)인지 어떻게 아는거야?


그냥 원래 그런것?


2. 


마찬가지로 r1이랑 r2가 물체의 반경을 구하는거라고 설명해주는데 r1이 p1에 대입되고,


r2가 p2에 대입되는건 어떻게 코드없이 자동으로 들어가는거야?


난 이 코드가 굴러가는게 더 신기하네. 몇줄 더 필요해보이는데


3. 


p1에서 p2를 빼는 이유가 난 플레이어가 x축으로만 이동해서 그런거라고 생각하고있는데,


만약에 플레이어가 비행기게임처럼 x,y축 자유롭게 이동하고, 총알도 사방에서 날라오는 게임이라도 이 스크립트가 잘 돌아가?





항상 친절하게 설명해줘서 고마워형들