안녕하세요.
Godot Engine 마리오라이크 2D PC 게임 만들기
강의에 문제를 발견하여 영상과 자료가 업데이트됨을 알려드립니다.
기본 구조 만들기 섹션 >> 스폰지점, 체크포인트 강의 >> 16:30 이후에
기존 강의 내용에서는
animation_finished() 시그널을 이용해 호출되는 콜백 함수의 인자(argument)로 "이전애니메이션이름" 을 받는 것처럼 작성하였으나, 실제로는 아무런 인자를 받을 수 없습니다. [공식 문서 링크]
따라서 다음과 같은 에러가 발생하게 되고, "펼쳐짐" 애니메이션은 정상 재생되지 않는데요.
Object::emit_signalp: Error calling from signal 'animation_finished' to callable: 'StaticBody2D(체크포인트.gd)::_on_animated_sprite_2d_animation_finished': Method expected 1 arguments, but called with 0.
위 문제를 수정하기 위해 아래와 같이 코드를 변경해야 합니다.
<변경 전>
func _on_animated_sprite_2d_animation_finished(이전애니메이션이름):
if 이전애니메이션이름 == "획득중":
스프라이트.play("펼쳐짐")
<변경 후>
func _on_animated_sprite_2d_animation_finished():
if 스프라이트.animation == "획득중":
스프라이트.play("펼쳐짐")
에러를 제보해주신 CHENG 님께 진심으로 감사드립니다. 🙏
스폰지점, 체크포인트 강의를 이미 수강하셨다면, 위 변경 사항을 참고하셔서 체크포인트 씬의 스크립트 파일을 변경해주시면 감사하겠습니다.
스폰지점, 체크포인트 강의를 아직 수강하지 않으신 분들은 영상과 이후 답안 자료들도 곧 업데이트 될 예정이므로 계속해서 학습을 진행하셔도 좋습니다.
감사합니다.