콘텐츠로 이동

첫 번째 3D 앱 - Part B: 코드 이해하기

이제 코드를 주요 부분별로 분석해봅시다!


라이브러리 불러오기 (Import Statement)

위의 코드 (1)번을 보면, from ursina import *는 Ursina 라이브러리의 모든 기능을 가져옵니다.

핵심 개념: - from ursina: Ursina 라이브러리에서 기능을 가져옵니다 - import *: *는 "모든 것"을 의미합니다. 모든 기능을 한 번에 가져옵니다 - 이 줄을 실행하면 Ursina(), Entity(), color 등을 바로 사용할 수 있게 됩니다

마치 도구 상자를 열어서 모든 도구를 꺼내는 것과 같습니다!


게임 창 생성 (Creating Game Window)

코드 (2)번에서 app = Ursina()는 게임 창을 만듭니다.

app = Ursina()
  • Ursina()는 게임 창을 만드는 함수입니다
  • app이라는 변수에 저장하여 나중에 사용할 수 있게 합니다
  • 이것이 우리 게임의 기본 틀이 됩니다

변수 선언 (Variable Declaration)

코드 (3), (4), (5)번에서 변수를 만듭니다.

변수란 무엇인가요?

변수는 정보를 담는 상자와 같아요. 게임에서 플레이어의 점수를 저장하거나, 큐브의 크기를 기억해두고 싶을 때 변수를 사용합니다.

my_name = "Student"      # 문자열 변수
cube_size = 2            # 숫자 변수
cube_color = color.red   # 색상 변수

각 변수는: - my_name: "Student"라는 문자열을 저장합니다 - cube_size: 숫자 2를 저장합니다 (큐브의 크기) - cube_color: 빨간색을 저장합니다 (큐브의 색상)


콘솔 출력 (Console Output)

코드 (6), (7)번에서 print() 함수를 사용합니다.

함수란 무엇인가요?

함수는 우리가 원하는 기능을 묶어놓은 것과 같아요. print() 함수는 화면에 글자를 출력하는 기능을 묶어서 만든 것이에요.

print("Hello, Ursina!")
print(f"My name is {my_name}")
  • 첫 번째 print()는 "Hello, Ursina!"를 콘솔에 출력합니다
  • 두 번째 print()는 f-string을 사용합니다. {my_name} 부분이 "Student"로 바뀝니다

3D 큐브 생성 (Creating 3D Cube)

코드 (8)번에서 Entity()를 사용하여 3D 큐브를 만듭니다.

my_cube = Entity(
    model='cube',
    color=cube_color,
    scale=cube_size
)

핵심 개념: - Entity()는 3D 객체를 만드는 함수입니다 - model='cube'는 큐브 모양을 지정합니다 - color=cube_color는 앞서 만든 변수 cube_color(빨간색)를 사용합니다 - scale=cube_size는 앞서 만든 변수 cube_size(2)를 사용하여 크기를 2배로 만듭니다


게임 실행 (Running the Game)

코드 (9)번의 app.run()은 게임을 실행합니다.

app.run()
  • 게임 창을 실행하고 화면에 표시합니다
  • 이 줄이 없으면 아무리 코드를 작성해도 창이 나타나지 않습니다!
  • 게임 루프가 시작되고, 사용자가 창을 닫을 때까지 계속 실행됩니다