inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

마우스 입력

이 경우에는 왜 안되는건지 모르겠습니다

381

Hyobin Kim

작성한 질문수 81

0

계층뷰에서

Cube와 빈 GameObject하나를 만들었습니다

GameObject에 InputTest라는 스크립트를 부착했습니다

InputTest에는 OnMouseDown(), OnMouseDrag(), OnMouseUp()을 넣었고 각각 함수 이름이 print()로 출력이 되도록 했습니다

이상한건, 이 상태에서는 플레이 상태에서 Cube를 클릭했다고 해도 아무런 메세지가 뜨질 않습니다

그래서, Cube에 InputTest 스크립트를 부착했는데 되더군요요심지어 해당 스크립트를 비활성화 시켜도 됩니다

OnMouse류의 함수들은 반드시 대상 게임 오브젝트에 부착 되어야 하는 건가요?

unity C#

답변 1

0

UDevApp

안녕하세요. 답변이 늦었습니다.

이 경우 콜라이더가 있어야 됩니다. 

이 종류의 함수가 그게 있어야 동작하도록 되어 있거든요. 

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html

여기 보시면 콜라이더가 있어야 한다고 쓰여 있는데요. 

사실 유니티가 이걸 만든거라서요. 어떻게 이게 왜 있어야 한다는 이야기는 안하고요. 

제가 예상하기로는 Raycast 함수가 내부적으로 사용되어서 그렇지 않을까 생각이 드네요.

Raycast 가 콜라이더가 있어야 광선을 쏴서 체크를 하는 식으로 내부동작이 이루어진다고 생각하고 있거든요.

(콜라이더가 없으면 Raycast 도 동작을 안합니다) 

감사합니다. 좋은 저녁 되세요. 

캐릭터 변경에 관해

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

2152

1

part4강의

0

318

1

발사체 스피드

0

305

1

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

0

271

1

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

0

362

1

해당 부분 업데이트

0

260

1