작성
·
224
0
다음 코드에서
IEnumerator Shoot(float delta){
while(true){
GameObject bul = Instantiate(prefab,transform.position,transform.rotation);
Destroy(bul,3);
float delay = Random.Range(1f,delta);
yield return new WaitForSeconds(delay);
}
}
Instantiate(prefab,transform.position,transform.rotation);
이 부분의 현재 위치와 현재 방향은 프리팹의 현재 위치인가요 아니면 이 스크립트를 적용한 오브젝트의 현재 위치인가요?
저는 오브젝트(에너미)에서 프리팹(총알)이 발사되어야하기 때문에 후자로 생각했습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
주어진 코드에서 Instantiate(prefab,transform.position,transform.rotation) 부분은 현재 스크립트가 적용된 오브젝트(에너미)의 transform.position과 transform.rotation을 사용합니다. 따라서, 오브젝트(에너미)에서 프리팹(총알)이 발사됩니다.
만약, 프리팹의 현재 위치를 기준으로 총알을 발사하고 싶다면, 다음과 같이 수정할 수 있습니다.
Instantiate(prefab, prefab.transform.position, prefab.transform.rotation);
이렇게 수정하면, 프리팹의 위치와 회전값을 사용하여 총알이 발사됩니다.
더 궁금하신 점이 있으신가요? 다른 질문이 있다면 언제든지 물어보세요. :)