-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
해결됨
gameObject.setActive(false);
22.04.20 19:56 작성 조회수 357
0
start 함수 안에서
gameObject.setActive(false); 다음에
gameObject.AddComponent<AddScript>(); 를 작성해 보았습니다.
해당 오브젝트가 비활성화 되었음에도 플레이 시 인스팩터창에 해당 스크립트가 붙은것이 확인됩니다.
그런데 AddScript 내부에 작성된 Debug.Log("AddScript");
는 실행되지 않는 것 같습니다.
이 동작 구조가 궁금합니다.
답변을 작성해보세요.
1
진성일
2022.05.16
Start 함수 안에서
gameObject.setActive(false);
gameObject.AddComponent<AddScript>();
가 실행되면 게임 오브젝트를 비활성화 한 후 AddScript라는 스크립트를 해당 오브젝트에 추가하겠단 의미이고
AddScript가 추가 된 후에는 이 AddScript에 있는 기능 즉 print 문을 실행 하여야 하는데 이미 비활성화 되버리고 난 후의 시점이라 print문이 실행되지 않는거 같습니다
간단히 예를들자면
1. 은행에서 돈을 인출하려고 은행원한테 계좌랑 신분증을 주고 이제 돈을 받아야 하는데
2. 은행이 문을 닫아버리는 눈뜨고 코베이는 상황이랄까요
이렇게 된 경우에는 저 print 문이 아무 쓸모가 없어지겠네요 SetActive값이 false면은..
답변 1