본문 바로가기
프로그래밍/게임 개발

프로그래밍 「 게임 개발 편」Godot 4의 구문 강조

by grapedoukan 2023. 9. 13.
728x90

독자 여러분, 오늘 우리는 종종 간과되지만 필수적인 기능인 구문 강조 기능을 다루면서 게임 개발의 세계로 흥미진진한 여정을 시작할 것입니다. 우리는 인기 있는 오픈 소스 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)

  1. 색상 정의: 청회색과 녹색으로 정의됩니다. 기본 설정에 따라 이러한 색상을 수정할 수 있습니다.comment_colorprint_color
  2. 주석 강조 표시: 함수는 제공된 코드에서 "#" 기호를 검색합니다. 발견되면 "#"과 줄 끝 사이의 영역을 색칠하도록 호출합니다. 플래그는 선 기반 채색임을 보장합니다._highlight_comment(code)syntax_highlighter.add_color_regiontrue
  3. 강조 표시 Print Statements: 이 함수는 문자열을 나타내는 두 따옴표 사이의 영역을 색칠합니다. 이들은 종종 GDScript에서 print 문을 나타냅니다. 플래그는 줄 기반이 아니라 시작 및 끝 기호에 따라 달라진다는 것을 나타냅니다._highlight_print_statement(code)false

이 함수는 주석을 색칠하고 문을 인쇄하기 위해 이러한 두 가지 색 지정 함수를 호출하는 기본 함수입니다.highlight(code)

마무리

이 튜토리얼에서, 우리는 노드에 간단한 스크립트를 첨부하여 Godot 엔진에서 구문 강조를 구현하는 방법을 배웠습니다. 이제 이를 확장하고 필요에 따라 더 많은 색상 지정 규칙을 도입할 수 있습니다.TextEdit

728x90