inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!

ObjectHandler

ObjectHandler 에서

해결된 질문

201

김광호

작성한 질문수 7

1

ObjectHandler / ObjectHandler.gd 파일에서 무기발사 구현하는 코드에서

instance.setup_weapon(dir, speed) 에서 방향벡터와 스피드 관련 해서 함수 호출하고

add(obj: Node2D, g_position: Vector2, dir: Vector2) 에서

dir (방향벡터)를 다시 rotation 에 대입하는지 좀 이해가 안됩니다..

설명부탁드립니다..^^

 

아래는 해당 소스코드입니다.

 

instance.setup_weapon(dir, speed)

call_deferred("add", instance, pos, dir)

 

func add(obj: Node2D, g_position: Vector2, dir: Vector2) -> void:

add_child(obj)

obj.global_position = g_position

obj.rotation = Vector2.RIGHT.angle_to(dir)

 

 

 

객체지향 게임수학 게임-물리 godot-engine gdscript

답변 1

1

코드박치기

capture1.png.webp

obj.rotation = Vector2.RIGHT.angle_to(dir) 줄을 삭제해보고(=주석 처리하고) 전체 게임을 실행해보면

capture2.png.webp

로켓들이 플레이어 우주선 방향(dir)에 관계없이 항상 오른쪽(obj.rotation = Vector2.RIGHT)을 바라본 채로 날아가게 됩니다.

그래서 미사일의 방향을 꺾어주기 위해

obj.rotation = Vector2.RIGHT.angle_to(dir) 을 해주어야 하는 것입니다(나머지 무기 2종은 공모양이어서 회전이 의미가 없기는 합니다)

조금 더 보충 설명하자면

dir은 플레이어 우주선이 바라보는 방향을 가리키는 것이며

capture3.png.webp

player.gd의 fire_rocket함수에서 찾을 수 있습니다. (파란 박스 부분을 dir로 emit하는 것)

capture4.png.webp

미사일의 rotation을 파란색 화살표(dir)만큼 회전해줄 필요가 있는 것입니다.

 

코드를 거슬러 올라가거나 디버깅할때 '컨트롤+함수클릭'이나 '컨트롤+쉬프트+F'로 검색하는 기능이 유용합니다.

 

이해안가시는 부분 질문 많이 주세요

감사합니다!

3D로 구현한 이사가는 날 최종본 있나요?

0

24

2

fieldInjectionTest() 질문

0

47

1

AutoAppConfig의 존재이유

0

42

1

AppConfig와 스프링 빈 질문

0

47

1

실습환경(비쥬얼스튜디오)에 대한 질문입니다.

0

60

1

IntelliJ IDEA 체험 만료

0

85

2

예외처리 3강 문의

0

78

1

[영한님]Spring Boot 및 프로젝트 생성

0

108

2

오랜지 점수 중복 문제

0

37

0

Shape 클래스 실습 코드 피드백 요청드립니다

0

83

2

퀴즈가 안열려요

0

101

2

54.(심화) 보스 구현(2) -state Machine

0

141

2

21. Dictionary 활용 저장&로드

0

140

2

66강. INPUT 관리

0

116

2

31강 질문

0

118

2

69번 강의에서 에러 발생 보고

0

126

2

노드의 내장 시그널 이용 관련 문의

0

138

3

46. 상속씬(3) 수업 질문

0

144

2

3. 미니 슈터게임 > 레이저씬 에서 global_position 과 position 차이??

0

123

2

안드로이드, iOS빌드

0

204

1

우주선 회전

0

154

2

시그널 - 자식에서 부모노드로 접근

0

218

2

섹션2 규칙의 필요성 부분에서 Godot 4 Function Chaining 이란?

0

243

2

웨이브 핸들러 섹션에서 Custom Resource

0

206

2