강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của parkmira3232171
parkmira3232171

câu hỏi đã được viết

Bắt đầu sản xuất trò chơi Unity 2D cho người mới bắt đầu từ đầu

Kẻ thù tấn công

섹션2: 에너미공격

Viết

·

293

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);

이 부분의 현재 위치와 현재 방향은 프리팹의 현재 위치인가요 아니면 이 스크립트를 적용한 오브젝트의 현재 위치인가요?

저는 오브젝트(에너미)에서 프리팹(총알)이 발사되어야하기 때문에 후자로 생각했습니다.

C#unity

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴이에요.

주어진 코드에서 Instantiate(prefab,transform.position,transform.rotation) 부분은 현재 스크립트가 적용된 오브젝트(에너미)의 transform.position과 transform.rotation을 사용합니다. 따라서, 오브젝트(에너미)에서 프리팹(총알)이 발사됩니다.

만약, 프리팹의 현재 위치를 기준으로 총알을 발사하고 싶다면, 다음과 같이 수정할 수 있습니다.
Instantiate(prefab, prefab.transform.position, prefab.transform.rotation);

이렇게 수정하면, 프리팹의 위치와 회전값을 사용하여 총알이 발사됩니다.

더 궁금하신 점이 있으신가요? 다른 질문이 있다면 언제든지 물어보세요. :)

Hình ảnh hồ sơ của parkmira3232171
parkmira3232171

câu hỏi đã được viết

Đặt câu hỏi