inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발

GameObject와Monobehaviour

두개의 스크립트에서 gameObject를 실행했을 때

해결된 질문

152

노원신

작성한 질문수 15

0

제가 실수?로 두개의 스크립트에 아래와 같이 입력했습니다.

gameObject.AddComponent<AddScript>();

두개의 스크립트 모두 Cube에 연결되어 있는 상태였구요.

이 상태에서 실행을 하니 AddScript가 마치 Update함수에서 실행된 것처럼

무한히 생겨납니다.

그렇다는 것은 두개의 스크립트에서 계속 서로 참조를 하면서 AddComponent를 실행해서 생긴 결과인가요?

C# unity

답변 1

0

UDevApp

안녕하세요. 이건 전체소스를 봐야 할것 같은데요.

아마 두개의 스크립트에서 참조가 일어난게 아니라 아래에서 말씀드리는 상태의 두번째 상태인것 같습니다. 

첫번째로 TestScrpt 가 있었을때 업데이트 안에서 gameObject.AddComponent<AddScript>() 가 있어도 그렇게 실행이 되고요. 

두번째로 AddScript 안에서 스타트에서 gameObject.AddComponent<AddScript>() 가 있어도 그렇게 실행이 됩니다. 이 상태는 AddScript 가 실행될때 Start 가 실행되므로 게임오브젝트에 스크립트가 부착이 되고 나면 다시 새로 생기는 AddScript 의 스타트가 또 실행되고 부착되고 실행되고 해서 계속 무한하게 AddScript 가 추가될 것입니다. 

구조를 한번 보여주시면 더 잘 답변드릴수 있을 것 같습니다. 

인스펙터하고 AddScript 를 한번 보여주시면 좋을 것 같습니다. 

캐릭터 변경에 관해

0

231

1

Asteroid 생성에 관련해서

0

194

1

Part4 유니티로 세가지의 게임만들기 강의

0

211

1

Clamp 사용 시 앞서 설정한 ViewportToWorldPoint의 min, max를 사용하지 않고 새로 설정하는 이유가 있을까요

0

283

1

섹션8 슈팅게임 프로토타입 만들기3(적과 발사체)

0

270

1

캐릭터 고정데이터 로딩 강의

0

327

1

Destroy 함수 질문

0

413

1

GetComponent 강의 질문

0

344

1

transform.position과 transform.Translate 의 차이가 뭔가요??

0

1942

1

강의도중 질문이 있습니다

0

497

1

강의자료

0

284

0

117강 구조체를 정의하여 ShipData 구성

0

224

0

굳이 InitTime을 만들어서 호출 하는 이유가 있나요?

0

291

0

GameManager 의 Start()가 스페이스 누를때마다 반복실행됩니다.

0

415

1

Collider인 other.gameObject;

0

430

0

Generic에 대한 질문이 있습니다.

0

260

0

gameObject.setActive(false);

0

583

1

애플 앱스토어

0

248

0

비주얼스튜디오 오류

0

2154

1

part4강의

0

318

1

발사체 스피드

0

305

1

4분 44초 제가 이해한게 맞는지 궁금합니다

0

271

1

2분 44초 왜 void 함수를 써야하나욤..?

0

362

1

해당 부분 업데이트

0

260

1