B. 게임 창 만들기
예상 시간: 5분 | 이전: A. 라이브러리 불러오기 | 다음: C. 변수 선언
🎯 학습 목표
이 강의를 마치면 다음을 할 수 있어요:
- ○
app = Ursina()로 게임 창을 만들 수 있다 - ○ 변수에 게임 창을 저장하는 이유를 이해한다
- ○
app.run()으로 게임을 실행할 수 있다
핵심 개념
게임 창 만들기
게임 창은 3D 게임이 표시되는 윈도우입니다.
📝 비유: 무대 만들기
게임 창은 연극 무대와 같습니다!
- 먼저 무대를 설치해야 (Ursina())
- 배우들을 배치하고 (Entity)
- 공연을 시작합니다 (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
코드 작성하기
설명:
Ursina(): 게임 창을 만드는 함수입니다app =: 게임 창을app변수에 저장합니다- 이것이 게임의 기본 틀이 됩니다
게임 실행하기
설명:
app.run(): 게임을 실행합니다- 이 줄이 없으면 창이 나타나지 않습니다!
⚠️ app.run()은 항상 맨 마지막!
app.run()은 코드의 맨 마지막에 작성해야 합니다!
이 줄 이후의 코드는 게임이 종료될 때까지 실행되지 않아요.
코드 구조
| 순서 | 코드 | 역할 |
|---|---|---|
| 1 | from ursina import * |
라이브러리 불러오기 |
| 2 | app = Ursina() |
게임 창 만들기 |
| 3 | (게임 내용) | Entity 등 추가 |
| 4 | app.run() |
게임 실행 |
예제 코드
결과
검은 배경의 게임 창이 나타납니다!
- 창 제목: "ursina"
- 기본 배경색: 어두운 회색
- ESC 키로 종료 가능
🎯 퀴즈
퀴즈: app.run()의 역할
app.run()은 무엇을 하나요?
정답 보기
정답: A) 게임 창을 실행하고 화면에 표시합니다
app.run()은 게임 루프를 시작하고, 창을 화면에 표시합니다.
이 함수가 호출되면 게임이 종료될 때까지 계속 실행됩니다!
🔧 디버그 클리닉
문제: 코드를 실행해도 창이 안 나타나요!
원인: app.run()을 빠뜨림
해결: 코드 마지막에 app.run() 추가
문제: 창이 나타났다가 바로 꺼져요!
원인: 코드에 에러가 있거나 app.run() 위치가 잘못됨
해결: 에러 메시지 확인 및 코드 순서 점검
직접 코딩해보기
게임 창을 만들고 실행하는 코드를 완성해보세요!
게임 창 만들기
빈 칸을 채워서 게임 창이 나타나도록 하세요.
🧩 핵심 요약
이번 강의에서 배운 내용:
- Ursina(): 게임 창을 만드는 함수
- app 변수: 게임 창을 저장하는 변수
- app.run(): 게임을 실행하는 함수 (항상 맨 마지막!)
- 순서: import → Ursina() → 게임 내용 → run()
복습 체크리스트
- [ ]
app = Ursina()가 무엇을 하는지 설명할 수 있나요? - [ ]
app.run()을 어디에 써야 하는지 알고 있나요? - [ ] 게임 창이 안 나타날 때 무엇을 확인해야 하나요?
다음 단계: C. 변수 선언 →