콘텐츠로 이동

B. 게임 창 만들기

예상 시간: 5분 | 이전: A. 라이브러리 불러오기 | 다음: C. 변수 선언


🎯 학습 목표

이 강의를 마치면 다음을 할 수 있어요:

  • app = Ursina()로 게임 창을 만들 수 있다
  • ○ 변수에 게임 창을 저장하는 이유를 이해한다
  • app.run()으로 게임을 실행할 수 있다

핵심 개념

게임 창 만들기

게임 창은 3D 게임이 표시되는 윈도우입니다.

📝 비유: 무대 만들기

게임 창은 연극 무대와 같습니다!

  1. 먼저 무대를 설치해야 (Ursina())
  2. 배우들을 배치하고 (Entity)
  3. 공연을 시작합니다 (app.run())

무대가 없으면 공연을 할 수 없죠!

프로그램 흐름도

flowchart TD
    A["from ursina import *"] --> B["app = Ursina()"]
    B --> C["게임 내용 작성<br/>(Entity 등)"]
    C --> D["app.run()"]
    D --> E["게임 창 표시!"]

    style A fill:#e3f2fd,stroke:#1976d2
    style B fill:#fff3e0,stroke:#f57c00
    style C fill:#e8f5e9,stroke:#388e3c
    style D fill:#f3e5f5,stroke:#7b1fa2
    style E fill:#ffebee,stroke:#c62828

코드 작성하기

app = Ursina()

설명:

  • Ursina(): 게임 창을 만드는 함수입니다
  • app =: 게임 창을 app 변수에 저장합니다
  • 이것이 게임의 기본 틀이 됩니다

게임 실행하기

app.run()

설명:

  • app.run(): 게임을 실행합니다
  • 이 줄이 없으면 창이 나타나지 않습니다!

⚠️ app.run()은 항상 맨 마지막!

app.run()은 코드의 맨 마지막에 작성해야 합니다!

이 줄 이후의 코드는 게임이 종료될 때까지 실행되지 않아요.

코드 구조

순서 코드 역할
1 from ursina import * 라이브러리 불러오기
2 app = Ursina() 게임 창 만들기
3 (게임 내용) Entity 등 추가
4 app.run() 게임 실행

예제 코드

from ursina import *

app = Ursina()  # 게임 창 만들기

# 여기에 게임 내용 추가

app.run()  # 게임 실행!

결과

검은 배경의 게임 창이 나타납니다!

  • 창 제목: "ursina"
  • 기본 배경색: 어두운 회색
  • ESC 키로 종료 가능

🎯 퀴즈

퀴즈: app.run()의 역할
app.run()은 무엇을 하나요?
정답 보기

정답: A) 게임 창을 실행하고 화면에 표시합니다

app.run()은 게임 루프를 시작하고, 창을 화면에 표시합니다. 이 함수가 호출되면 게임이 종료될 때까지 계속 실행됩니다!


🔧 디버그 클리닉

문제: 코드를 실행해도 창이 안 나타나요!

원인: app.run()을 빠뜨림

해결: 코드 마지막에 app.run() 추가

# ❌ 잘못된 코드
from ursina import *
app = Ursina()
Entity(model='cube')
# app.run()이 없음!
# ✅ 올바른 코드
from ursina import *
app = Ursina()
Entity(model='cube')
app.run()  # 이 줄 필수!

문제: 창이 나타났다가 바로 꺼져요!

원인: 코드에 에러가 있거나 app.run() 위치가 잘못됨

해결: 에러 메시지 확인 및 코드 순서 점검

# ❌ 잘못된 코드 - app.run() 후에 Entity 생성
from ursina import *
app = Ursina()
app.run()
Entity(model='cube')  # 실행 안 됨!
# ✅ 올바른 코드 - Entity 생성 후 app.run()
from ursina import *
app = Ursina()
Entity(model='cube')
app.run()  # 맨 마지막!

직접 코딩해보기

게임 창을 만들고 실행하는 코드를 완성해보세요!

게임 창 만들기

빈 칸을 채워서 게임 창이 나타나도록 하세요.

예시 답안
from ursina import *

app = Ursina()

app.run()

결과: 검은 배경의 빈 게임 창이 나타납니다!


🧩 핵심 요약

이번 강의에서 배운 내용:

  • Ursina(): 게임 창을 만드는 함수
  • app 변수: 게임 창을 저장하는 변수
  • app.run(): 게임을 실행하는 함수 (항상 맨 마지막!)
  • 순서: import → Ursina() → 게임 내용 → run()

복습 체크리스트

  • [ ] app = Ursina()가 무엇을 하는지 설명할 수 있나요?
  • [ ] app.run()을 어디에 써야 하는지 알고 있나요?
  • [ ] 게임 창이 안 나타날 때 무엇을 확인해야 하나요?

다음 단계: C. 변수 선언