독자 여러분, 오늘 우리는 종종 간과되지만 필수적인 기능인 구문 강조 기능을 다루면서 게임 개발의 세계로 흥미진진한 여정을 시작할 것입니다. 우리는 인기 있는 오픈 소스 2D 및 3D 게임 엔진인 Godot Engine을 사용할 것입니다. 엔진 내에서 코드를 자주 수정하는 사람이라면 구문 강조 표시가 있으면 경험이 크게 향상될 수 있습니다.
구문 강조 표시는 구문의 논리에 따라 텍스트를 다른 색상으로 채색하는 흥미로운 기능입니다. 가독성과 이해력을 향상시키는 데 크게 도움이 되므로 코드 구조를 한 눈에 이해하고 효과적으로 디버그할 수 있습니다.
필요한 것
시작하기 전에, 컴퓨터에 Godot 엔진이 설치되어 있는지 확인하세요. 또한 Godot에서 사용되는 GDScript 언어에 대한 기본적인 이해가 필요합니다.
텍스트 편집기 노드 생성하기
시작하기 위해, Godot에서 노드를 만들 것입니다. 이 노드는 선택, 커서 및 기타 유사한 기능을 지원하는 서식 있는 텍스트 편집 컨트롤을 제공합니다.TextEdit
구문 강조 표시에 스크립트 사용
우리는 add_color_region 기능을 사용할 것입니다. 문서에서 함수 서명은 다음과 같습니다.
void add_color_region (문자열 start_key, 문자열 end_key, 색상 색상, bool line_only=false )
주석 또는 문자열과 같은 색 영역을 추가합니다.
시작 키와 끝 키는 모두 기호여야 합니다. 시작 키만 고유해야 합니다.
line_only 영역이 라인의 끝까지 계속되어야 하는지 아니면 다음 라인으로 이어져야 하는지를 나타냅니다. 끝 키가 비어 있으면 자동으로 로 설정됩니다.true
이제 이전 단계에서 노드가 준비되었으므로 다음 단계는 구문 강조 표시를 위해 이 노드에 스크립트를 연결하는 것입니다. 스크립트는 다음과 같습니다.TextEdit
extends TextEdit
var comment_color := Color(0.4, 0.4, 0.6, 1) # Blue-grey
var print_color := Color("#166534")
# Called when the node enters the scene tree for the first time.
func _ready():
#init code here
pass
func highlight(code):
_highlight_comment(code)
_highlight_print_statement(code)
func _highlight_comment(code):
var comment_pos = code.find("#")
if comment_pos != -1:
syntax_highlighter.add_color_region("#","",comment_color, true)
func _highlight_print_statement(code):
syntax_highlighter.add_color_region('"','"',print_color, false)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
#any process code here
pass
스크립트 이해
스크립트는 두 가지 기본 함수와 를 사용하여 GDScript 코드에서 주석 및 print 문에 대해 텍스트를 다르게 색칠합니다._highlight_comment(code)_highlight_print_statement(code)
- 색상 정의: 청회색과 녹색으로 정의됩니다. 기본 설정에 따라 이러한 색상을 수정할 수 있습니다.comment_colorprint_color
- 주석 강조 표시: 함수는 제공된 코드에서 "#" 기호를 검색합니다. 발견되면 "#"과 줄 끝 사이의 영역을 색칠하도록 호출합니다. 플래그는 선 기반 채색임을 보장합니다._highlight_comment(code)syntax_highlighter.add_color_regiontrue
- 강조 표시 Print Statements: 이 함수는 문자열을 나타내는 두 따옴표 사이의 영역을 색칠합니다. 이들은 종종 GDScript에서 print 문을 나타냅니다. 플래그는 줄 기반이 아니라 시작 및 끝 기호에 따라 달라진다는 것을 나타냅니다._highlight_print_statement(code)false
이 함수는 주석을 색칠하고 문을 인쇄하기 위해 이러한 두 가지 색 지정 함수를 호출하는 기본 함수입니다.highlight(code)
마무리
이 튜토리얼에서, 우리는 노드에 간단한 스크립트를 첨부하여 Godot 엔진에서 구문 강조를 구현하는 방법을 배웠습니다. 이제 이를 확장하고 필요에 따라 더 많은 색상 지정 규칙을 도입할 수 있습니다.TextEdit
'프로그래밍 > 게임 개발' 카테고리의 다른 글
게임 개발 「 추천 편」게임 개발자의 정신 건강을 유지하는 방법 (0) | 2024.01.18 |
---|---|
게임 개발 「 추천 편」게임 개발 학습의 이점 (0) | 2024.01.18 |
프로그래밍 「 게임 개발 편」더 많은 기능! 보조 발사 파워업! (0) | 2023.07.04 |
프로그래밍 「 게임 개발 편」게임 개발 진화 포크 (0) | 2023.07.04 |
프로그래밍 「 게임 개발 편」애니메이션 상태에 따라 카메라 전환 (0) | 2023.07.04 |