void Start()
{
timeAfterSpawn = 0f;
spawnRate = Random.Range(spawnRateMin, spawnRateMax);
target = FindObjectOfType<PlayerController>().transform;
}
void Update()
{
timeAfterSpawn += Time.deltaTime;
if (timeAfterSpawn >= spawnRate)
{
timeAfterSpawn = 0f;
GameObject bullet = Instantiate(bulletPrefab, transform.position, transform.rotation);
bullet.transform.LookAt(target);
spawnRate = Random.Range(spawnRateMin, spawnRateMax);
}
}
}
총알피하기 게임에 대한 코드인데 이해가 안가는 부분이 하나 있어서 질문드립니다.
플레이어가 있고, 총알생성기가 있습니다. 위는 총알 생성기에 들어갈 스크립트입니다.
총알생성기에서는 플레이어의 위치를 target 변수에 받고, 그 위치로 총알을 발사하는 게임입니다..
그런데
target 관련해서 물어보고싶은게 있는데,
target 변수에 값을 start() 메서드안에서 할당하잖아요?
제가 알기로는 start() 메서드는 초기에 한번만 실행되는걸로 알고있는데 어떻게 target의 역할을 수행하는건가요?
이게 무슨말이냐면, 게임을 하면서 플레이어는 계속 움직일텐데 start()메서드는 딱 한번만 호출을 하잖아요?
해당 댓글은 삭제되었습니다.
아 참조 이야기해주시니까 바로 이해했습니다.