-
Godot 엔진
Godot 스크립트
GDScript 작성 팁 및 서비스 관리 등에 다룬다. 3.5 버전 기준으로 작성된 점을 유의 하길 바랍니다. Godot Singleton Service 만들기 전역에서 무언가 관리하는 무언가를 만들 수 있는 방법을 소개한다. 그게 노드일 수도 있고, 서비스일 수도 있겠지만 노드라는 가정하에 설명하겠다. 1. 일단 빈 Node 를 만든다. (노드가 필요 없다면 그냥 Script 만 만들어도 된다.)2. Script 를 추가한다. 예제에서는 GlobalService 라는 이름으로 만들었다.3. 프로젝트 -> 프로젝트 설정 -> 오토로드 탭에 진입한다.경로쪽에 있는 폴더 아이콘을 눌러서 지정할 서비스 스크립트를 선택한 후, 오른쪽에 있는 추가 버튼을 눌러준다.4. 그럼 아래와 같이 자동으로 활성화가 체크되어..
-
Godot 엔진
Godot - UI
CanvasLayer Godot 에 메뉴 같은 UI 적인 요소를 넣고 싶을 때는 일반적으로 씬의 루트를 CanvasLayer 를 선택해준다. (그래야 하위 노드들을 만들 때, 설정한 창 크기 기준에 맞춘다거나 할 수 있다.) MarginContainer 자식 요소를 자동으로 레이아웃하는 데 사용되는 노드다. MarginContainer를 사용하여 각 자식 요소의 마진을 설정하여 요소 간 간격을 만들고, 부모 요소의 크기 조정에 따라 자식 요소의 크기와 위치를 자동으로 조정할 수 있다. MarginContainer 를 선택하고 레이아웃에서 "사각형 전체" 를 선택하면 ViewPort 크기에 맞춰 넒어진다. 보통 MarginContainer 안에 있는 노드들을 중앙 정렬 시키고 싶을 때는 Size Flag ..
-
Javascript
[TypeScript] overload 함수에서 No overload matches this call 에러
다음과 같이 오버로딩으로 된 코드를 작성했는데, No overload matches this call 이라는 error 가 발생 했다. function func(str: 'hi'): string; function func(str: 'bakery'): string; function func(arg: 'hi' | 'bakery'): string { return arg; } function callExample(str: 'hi' | 'bakery') { return func(str); // error occurred! } 급한 사람은 해결 방법부터 보자. 원인 에러 메시지를 자세히 보면 다음과 같다. No overload matches this call. Overload 1 of 2, '(str: "hi"):..
-
Godot 엔진
Godot - Animation
Godot 에서 2D Animation 효과를 주기 위해 사용하는 노드들을 소개한다. AnimatedSprite 간단한 스프라이트 애니메이션을 만들 수 있는 노드다. AnimatedSprite 노드를 추가한 뒤, Frames 에서 새 SpritedFrames 를 추가한다. 그러면 오른쪽에 프레임 별 보여줄 이미지를 설정 할 수 있는 창이 뜬다. 설정한 뒤, Playing 을 enable 시켜야 애니메이션이 씬에 적용된다. Animation Player 해당 노드로 애니메이션을 좀더 디테일하게 다룰 수 있다. ex) 특정 오브제가 위아래로 움직이는 애니메이션 / 나타나거나 사라질 때 보여지는 애니메이션 등 Animation Player 노드를 추가하면 편집기 Inspector 에서 아래와 같은 화면을 볼 ..
-
기타사이트
프로그래머스 - 타겟 넘버
타겟 넘버 https://programmers.co.kr/learn/courses/30/lessons/43165?language=javascript ※ 문제 설명은 위 링크 참고 문제 풀이 permutation 과 dfs 그 어딘가에 있는 문제 같다. 주어진 numbers 의 길이 만큼만 + , - 연산을 계속 진행하면 된다. 핵심 dfs 함수는 인자로는 cur, count 두 개를 받고 다음과 같은 의미를 가진다. cur : + , - 연산으로 지금까지 계산한 값 count : 현재까지 사용한 numbers 내의 숫자 개수 function dfs(cur, count) { // numbers 의 length 만큼 탐색했다면 현재까지 계산 된 값이 target 과 일치하는지 확인한다. if(count ==..