inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển trò chơi đầu tiên bắt đầu với Godot Engine

Lớp

시동켜기 함수를 오버라이딩 후에 트럭개체 함수 실행시 오버라이딩 되지 않음.

Đã giải quyết

262

kmm62709544

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

1

트럭 스크립트에서 함수 시동켜기 함수를 오버라이딩 후에 Truck이라는 인스턴스를 자동차클래스.new() 를 실행해서 만들었습니다. 근데 Truck1.시동켜기() 하면 "털털털털" 이 실행될줄 알았는데 Car class에 있는 시동켜기 함수가 실행되더라구요. 혹시 가상함수 설정하는 방법이 따로 있을까요?

 

godot gdscript

Câu trả lời 3

0

serenecode

안녕하세요. 용기있게 질문 남겨 주셔서 감사합니다.

아래 보여주신 예시처럼 Car.new() 로 인스턴스를 생성하신 경우 Truck(현재 스크립트) 에 대한 인스턴스를 생성하는 것이 아니고 Car 클래스에 대한 인스턴스를 생성하는 것입니다.

때문에 변수 이름이 Truck1 일지라도 부모인 Car 의 인스턴스로 동작하는 것입니다.

Untitled.png

만약 Truck 클래스로 인스턴스를 생성하길 원하신다면

Car 클래스 <--상속-- Truck 클래스

위처럼 클래스 간의 상속 관계를 먼저 만드신 후에

Truck.new() 로 인스턴스를 생성하셔야 Car 의 자식인 Truck 클래스가 가지고 있는 오버라이딩 된 함수들을 사용하실 수 있습니다.

 

이해가 어려운 부분이 있다면 망설임 없이 추가 질문 남겨주시면 감사하겠습니다.

1

kmm62709544

이해됐습니다. 감사합니다 :)

0

kmm62709544

질문이 긴 것 같아 다시 정리해서 말씀드릴게요 !
핵심 질문은 truck script에서 Car 클래스를 상속받았는데
truck script 내에서 오버라이딩이 되는 것은 확인했지만
이를 인스턴스화 하여 객체를 생성할 때는 truck이라는 script를 "한번 더" 클래스로 만들어서 객체 생성을 해야하는거겠죠?

0

kmm62709544

조금 더 가독성 있게끔 이미지 첨부하겠습니다

image.png

.

이 오류는 무슨 오류일까요?

0

44

1

강의 내용과 제 실습이 다릅니다.

0

37

1

강의 내용과 제 실습이 다름

0

45

1

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

0

71

2

타일맵 강좌부분에서 경고메시지가 나와서 질문드립니다

0

60

1

21. Dictionary 활용 저장&로드

0

90

2

66강. INPUT 관리

0

62

2

31강 질문

0

66

2

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

0

79

2

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

0

79

3

godot 학습방법에 대해서

0

51

1

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

0

75

2

타이머가 적용이 되지않습니다.

1

83

2

영상이 보이지 않습니다.

1

89

1

error

0

61

2

컵케이크 획득 강의에서 궁금한 점입니다.

1

107

2

점수표시에 캔바스레이어 없어도 잘되던데

0

125

2

디스코드 서버는 어떻게...^^;;

1

504

3

장애물 생성 과제 압축파일이 이상해요.

1

219

2

클래스 생성 수업 연습 중 delta 오류

1

232

1

ParallaBackground로 무한배경스크롤 시에 영역 마스킹 방법이 궁금합니다.

1

259

2

뷰포트 툴바 세팅방법이나 버전 추천

1

268

2

자동차가 표시되지 않습니다.

1

292

2

컵케이크 지나갈때 점수표시가 안됩니다ㅠㅠ

1

201

1