묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
21. Dictionary 활용 저장&로드
21. Dictionary 활용 저장&로드섹션에서 게임 저장 로드 사용시 Dictionary 만 사용 하여 게임저장 및 로드 구현 가능 한지? 다른 자료구조형식( Array, Enum) 를 사용하여 게임 저장 로드를 구현 할수 있는지 궁금합니다..^^답변 부탁드립니다.. 추가 질문 😀Array, Enum, Dictionary 를 단독 으로 사용시 언제 사용해야는지 궁금합니다..^^
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
66강. INPUT 관리
INPUT 관련 메서드 사용 부분에서 Player.gd 스크립트에서 Player 이동는 매번 상태체크 해야하기때문에 그대로 변경없이, 하신건지? 부스터 , 유도탄 발사는 가끔씩 이벤트 발생해서 _Input () 를 _unhandle_Input () 으로 변경했는지 궁금하네요..실제 사용예시를 알려주실려고 변경하셨는지 궁금하네요..
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
31강 질문
31강에서 리소스를 상속받은 스크립트 작성시, @export var level : int @export var damage : int @export var texture : Texture2D위와 같이 작성되었습니다.공식문서를 보니 sprite2D 노드에서 사용할 수 있는 리소스가 Texture2D에 해당한다고 되어 있는데요. 리소스는 이름만 보고서는 어디서 어떻게 사용하는 것인지 바로 알기가 어렵네요 ㅠ각각의 리소스가 어떤 노드에서 사용할 수 있는지 정리된 사이트 같은게 있을지 문의드립니다~
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
69번 강의에서 에러 발생 보고
안녕하세요69번 강의에서 HUD를 모두 구성한 뒤 테스트하는 과정에서 발생한 에러에 대해 보고드립니다.강의자님이 테스트하는 과정에서 부스터를 사용한 뒤에 부스터 아이템을 먹으면 정상적으로 부스터 게이지가 충전되는 것으로 확인해 주셨는데요. 게임 시작후에 부스터를 한번도 사용하지 않고, 부스터 아이템을 먹게 되면 boost_tween 부분에 null 에러가 발생하게 됩니다.이를 개선하기 위해 아래와 같이 수정하면 null 에러가 발생하지 않게 되는데요.시간 괜찮으실때 강의에 추가해 주시면 좋을것 같습니다. 'PICK_BP': if boost_tween and boost_tween.is_valid(): boost_tween.stop()
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
노드의 내장 시그널 이용 관련 문의
안녕하세요 강사님꾸준하게 피드백 주셔서 감사드립니다.시간이 부족하다는 핑계로 수업 진도가 좀 많이 늦어졌네요 ㅠ 51강의 1:45초 부근에 대한 질문입니다.player 씬에서 BoostTimer의 내장 시그널(timeout())을 이용하여 시그널이 연결되어 있었는데, 이것을 삭제하고 수동으로 연결을 해주셨습니다. 그런데 보다보니 '굳이?' 라는 생각이 듭니다.내장 시그널을 이용하면 코드를 직접 작성할 필요가 없고, 시그널이 연결된 함수를 찾아가기에도 편하고 여러모로 편한것 같은데, 직접 작성하시는 이유가 궁금합니다~!
-
미해결고도엔진으로 벽돌깨기 2D게임 만들기
godot 학습방법에 대해서
안녕하세요, 강의 잘 보고있습니다. 제가 1인 게임개발자를 꿈꾸며 godot로 처음 코딩을 접하고 게임을 만들어보고 있는데 너무 막막하네요.. 혹시 공부를 어떻게 하셨는지 여쭤봐도 될까요? 유니티나 c# 등을 먼저 좀 체계적으로 배운 후에 고도를 다시 보는 게 좋을까요? 혹시 고도 사용자 커뮤니티가 있는지도 궁금합니다ㅠㅠ
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
46. 상속씬(3) 수업 질문
상속씬(3)의 수업 중 11:31초 부근입니다.func _ready()에서는 super()를 통해서 -ready의 기능을 오버라이딩 했는데,func on-area-entered에서는 super()를 사용하지 않았습니다.그 이유는 super()가 -ready에서만 한번 해주면 다른 함수들을 포함해서 전체적으로 오버라이딩이 되기 때문인가요,아니면 원래는 일일이 super()를 해줘야 되지만, on-area-entered에서는 오버라이딩 할것이 없기 때문에 하지 않은것인가요?참고로, 파이썬에서는 super()를 아무데서나 한번 해주면 부모 클래스의 모든 메서드와 변수를 상속받습니다
-
해결됨Godot Engine 마리오라이크 2D PC 게임 만들기
타이머가 적용이 되지않습니다.
장애물 자체제작중 떨어지는 플랫폼을 구현하기위해 밟으면 1초뒤 떨어지는 장애물을 구현하려 하였는데타이머의 코드를 짰는데도 밟은 직후 바로 떨어집니다, 어디가 문제일까요?
-
해결됨Godot Engine 마리오라이크 2D PC 게임 만들기
영상이 보이지 않습니다.
영상이 재생은 되는데 검은 화면으로만 나옵니다. 또는 아래 커뮤니티에도 도움을 요청해 보세요.Sweet Spot 디스코드 서버- https://discord.gg/veAnCmBf고도 엔진 코리아 디스코드 서버- https://discord.com/invite/XK8Emsf고도 엔진 코리아 네이버 카페- https://cafe.naver.com/godotk커뮤니티에 본인을 소개하고 직접 완성하신 작품도 자랑해보세요 :)
-
미해결고도엔진으로 2D 매치 게임 만들기
error
Invalid assignment of property or key 'global_position_x' with value of type 'int' on a base object of type 'Area2D (card.gd)'.다운 받은 소스를 실행 하면 잘 되는데,처음부터 한단계씩 입력하다가, create_card() 부분에서 error 가 뜹니다.func create_card(): for x_pos in COL: for y_pos in ROW: #print("%d,%d" % [x_pos,y_pos]) var new_card = card_scene.instantiate() new_card.global_position_x = x_pos new_card.global_position_y = y_pos add_child(new_card)
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
3. 미니 슈터게임 > 레이저씬 에서 global_position 과 position 차이??
미니 슈터게임 > 레이저씬 에서 global_position 대신 position으로 변경해서 작성해도. 결과는 똑같습니다. 굳이 global_position를 사용한 이유를 알고 싶네요..^^
-
해결됨Godot Engine 으로 시작하는 첫 게임 개발
컵케이크 획득 강의에서 궁금한 점입니다.
안녕하세요. 강의 잘 듣고있습니다.강의 수강중에 궁금한 점이 생겨서 연락드렸습니다.---------# localnum.gd 스크립트 파일 속extends Nodevar 점수 = 0이 과정을 진행하여, 점수라는 변수에 0 값을 대입했습니다.----------# cupcake.gd 스크립트 파일 속extends Area2Dconst 스크롤속도 = 200func _process(delta: float) -> void: # cupcake의 y축 포지션을 + 해줌으로써, 아래로 내려오도록 만든다. position.y += 스크롤속도 * delta# 다른 물체와 충돌이 발생했을 때 사용하는 함수func onbody_entered(body) -> void: if body.name == "Car": print("자동차와 충돌함") Localnum.점수 += 10 print(Localnum.점수)처럼 코드를 작성하여, 컵케이크와 자동차가 충돌하였을 때, 1. "자동차와 충돌함" 이라는 글자 출력2. localnum 스크립트 파일 속 점수 변수에 10을 더함3. 점수 변수 숫자를 출력함이 세가지 기능을 구현하는 점을 알았습니다.---제가 영상에서와는 다르게 스크립트 이름을 localnum으로 작성하였습니다.그런데, 영상에서는 "전역 변수를 사용하기 위해서는 Global.점수"로 다른 스크립트의 변수 "점수" 를 cupcake 스크립트에서 사용할 수 있게 한다고 설명하셨는데, 제가 실습을 할때는 Global.점수 가 사용되지 않고, "Localnum.점수" 를 사용해야지만 점수 변수에 접근이 가능했습니다.이는, '점수' 라는 변수를 어디서나 접근 가능한 '전역 변수'로서 사용한건가요?아니면, Localnum 스크립트 파일 속 '점수' 변수를 사용한 것으로, 전역 변수를 사용한건 아닌지 궁금합니다.작성하다보니 길어졌네요... 답변 주시면 감사하겠습니다!
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
안드로이드, iOS빌드
안녕하세요. 좋은 강의 잘듣고 있습니다. 혹시 안드로이드, iOS로 빌드하는 방법을알려주실 수 있을까요? 모바일 게임 제작 강의도 출시해주시면 열심히수강하도록 하겠습니다. 감사합니다.
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
우주선 회전
섹션5 이동에서 우주선을 회전시키는데 우주선이 대각선을 바라볼때 키보드를 떼면 스냅이 걸린 것 처럼 상하좌우 중 하나로 움직입니다. 그러니까 대각선으로 멈추질 못하고 위나 아래 왼쪽이나 오른쪽으로만 멈춥니다. 뭐가 문제일까요? 코드는 똑같습니다.
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
시그널 - 자식에서 부모노드로 접근
훌륭한 강의 잘 보고 있습니다~! 감사합니다. ● 의문점:시그널 강의 결론은,"자식 노드쪽에서 부모 노드 쪽을 접근할 때 시그널을 사용하라" 입니다.헌데 강의의 예시를 살펴보면부모 씬의 스크립트(game .gd) 에서 시그널을 선언하고, 그 시그널을 부모 씬의 스크립트 함수와 연결하고, 부모 씬의 함수가 발동되고 있는데요그럼 그냥 부모 씬에서 모든 것이 이루어지는 것이지 자식 쪽에서 부모를 접근하는 것으로 보기가 어려웠습니다.뭔가 자식 쪽 시그널이 발동되면부모의 함수가 호출되는 상황이어야 할 것 같은데시그널로 이게 가능한지요?
-
미해결초보자를 위한 고도엔진 게임 개발 입문
self 의 개념?
훌륭한 강좌 감사합니다. 덕분에 잘 보고 재밌게 배우고 있습니다! [적 캐릭터 파괴시 이벤트 수신하기] 강좌 중self._on_target_destroyed 대신_on_target_destroyed 라고 써도 똑같이 잘 동작하는데요self 를 써줘야 하는 이론적 배경을 알고 싶습니다~!
-
해결됨Godot Engine 으로 시작하는 첫 게임 개발
점수표시에 캔바스레이어 없어도 잘되던데
그냥 자식노드로 점수표시화면.tscn 인스턴스로 불러와추가만해도 상단에 표시 잘되고 작동도 잘되던데요. 캔바스레이어를 만들고 하위로 넣는 이유가 있을까요?중요한거면 알려주세요.
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
섹션2 규칙의 필요성 부분에서 Godot 4 Function Chaining 이란?
get_tree().get_root() 이렇게 코드 작성하는데,get_tree().root 와 결과는 같은지요?? 같다면 어떤차이가 있는지?? 유니티 엔진에서도 닷 (.) 를 이용한 " 객체. 메서드 " 형식은 사용되는데.. 메서드 ().메서드 ().메서드 () godot 4에서는 자주 사용되는거 같아서 검색해서 찾아본결과 Function Chaining 이라고 하는데.. 좀 자세한 설명 부탁드립니다..^^
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
웨이브 핸들러 섹션에서 Custom Resource
웨이브 핸들러 셕센에서 Custom Resource 부분이 유니티 엔진 스크립터블 오브젝트 개념과 비슷하다고 봐도 되는지요?? ^^
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
ObjectHandler 에서
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)