첫 번째 3D 앱 - Part D: 퀴즈와 다음 단계
퀴즈: 기본 개념 확인
아래 퀴즈들을 풀어 학습 내용을 확인해 보세요!
퀴즈 1: 라이브러리란?
정답 보기
정답: B) 다른 사람들이 미리 만들어둔 코드 모음
라이브러리는 다른 프로그래머들이 미리 작성해둔 유용한 코드 모음입니다. 마치 도서관에서 책을 빌려 읽는 것처럼, 우리는 라이브러리를 가져와서 사용할 수 있습니다.
예를 들어:
- math 라이브러리: 수학 계산 함수들
- datetime 라이브러리: 날짜와 시간 처리
- ursina 라이브러리: 3D 게임 개발 도구
퀴즈 2: Ursina 엔진이란?
정답 보기
정답: A) Python으로 3D 게임이나 애플리케이션을 만들 수 있게 해줍니다
Ursina 엔진은 Python으로 3D 게임을 만들 수 있게 해주는 전문 라이브러리입니다.
Ursina를 사용하면: - 3D 객체(큐브, 구 등)를 쉽게 만들 수 있습니다 - 게임 창을 만들고 관리할 수 있습니다 - 카메라, 조명, 물리 효과를 사용할 수 있습니다 - 마우스와 키보드 입력을 처리할 수 있습니다
일반 Python만으로는 3D 게임을 만들기 어렵지만, Ursina를 사용하면 쉽게 시작할 수 있습니다!
퀴즈 3: 라이브러리 불러오기
from ursina import *에서 *는 무엇을 의미하나요?
정답 보기
정답: C) 모든 기능을 가져온다는 의미
import *에서 *는 "모든 것"을 의미합니다. Ursina 라이브러리의 모든 기능을 한 번에 가져옵니다.
코드의 첫 번째 줄을 확인해보세요:
이렇게 하면 Ursina(), Entity(), color 등을 바로 사용할 수 있습니다.
만약 특정 기능만 가져오고 싶다면:
퀴즈 4: app.run()의 역할
app.run()은 무엇을 하나요?
정답 보기
정답: A) 게임 창을 실행하고 화면에 표시합니다
app.run()은 게임 창을 실행하고 화면에 표시하는 함수입니다. 이 줄이 없으면 아무리 코드를 작성해도 창이 나타나지 않습니다!
코드의 마지막 줄을 확인해보세요:
app.run()을 호출하면 게임 루프가 시작되고, 사용자가 창을 닫을 때까지 계속 실행됩니다.
퀴즈 5: 변수의 역할
cube_size = 2에서 변수 cube_size의 역할은 무엇인가요?
정답 보기
정답: B) 큐브의 크기 정보를 저장합니다
변수는 정보를 담는 상자와 같습니다. cube_size 변수에 숫자 2를 저장하고,
나중에 Entity를 만들 때 이 값을 사용합니다.
코드에서 확인해보세요:
자주 하는 실수
학생들이 자주 실수하는 부분과 해결 방법입니다.
실수 1: app.run()을 잊어버림
# 잘못된 코드
from ursina import *
app = Ursina()
my_cube = Entity(model='cube', color=color.red)
# app.run()이 없음!
증상: 코드를 실행해도 아무것도 나타나지 않습니다.
해결: 마지막 줄에 app.run()을 추가하세요.
# 올바른 코드
from ursina import *
app = Ursina()
my_cube = Entity(model='cube', color=color.red)
app.run() # 이 줄을 항상 추가!
실수 2: Ursina import 빠뜨림
증상: NameError: name 'Ursina' is not defined 오류가 발생합니다.
해결: 파일 맨 위에 from ursina import *를 추가하세요.
실수 3: 변수 이름 오타
증상: NameError: name 'cube_colour' is not defined
해결: 변수 이름을 정확히 입력하세요 (cube_color)
주의
Python은 철자에 매우 민감합니다. 변수 이름은 정확히 입력해야 합니다!
다음 단계
축하합니다! 첫 번째 3D 앱을 성공적으로 만들었습니다!
복습 체크리스트
다음 내용을 이해했는지 확인해보세요:
- [ ]
from ursina import *의 의미를 이해했나요? - [ ]
Ursina()로 게임 창을 만들 수 있나요? - [ ] 변수를 사용하여 정보를 저장할 수 있나요?
- [ ]
Entity()로 3D 객체를 만들 수 있나요? - [ ]
app.run()의 역할을 알고 있나요?
도전 과제
퀴즈를 모두 풀었다면, 다음을 시도해보세요:
- 쉬움: 큐브 색상을 파란색으로 바꾸기
-
힌트:
cube_color = color.blue -
중간: 큐브 크기를 5로 변경하기
-
힌트:
cube_size = 5 -
어려움: 다른 위치에 초록색 큐브 하나 더 만들기
- 힌트: 새로운 Entity를 만들고
position인자를 추가하세요
도전 과제 힌트
과제 1 힌트: cube_color 변수의 값을 color.red에서 color.blue로 바꿔보세요
과제 2 힌트: cube_size 변수를 2에서 5로 변경하면 큐브가 훨씬 커집니다
과제 3 힌트:
다음 강의
Lesson 02: Entity의 인자들 (Entity Arguments)
다음 강의에서는: - Entity의 다양한 인자(model, color, position, scale)를 배웁니다 - 여러 개의 3D 객체를 만들어봅니다 - 객체의 위치를 조절하는 방법을 배웁니다
연습이 중요해요!
이 코드를 직접 실행하고 수정해보세요! 변수 값을 바꿔보면 어떤 일이 일어나는지 확인할 수 있습니다.
cube_size = 5 # 2에서 5로 변경하면 큐브가 더 커집니다!
cube_color = color.blue # color.red에서 color.blue로 바꾸면 큐브가 파란색이 됩니다!
변수 값을 바꾸면 게임의 모습이 바뀝니다!
핵심 요약
- 라이브러리는 다른 사람들이 만들어둔 코드 모음입니다
- Ursina 엔진은 Python으로 3D 게임을 만들 수 있게 해줍니다
- 변수는 정보를 담는 상자입니다
- Entity는 3D 객체를 만드는 함수입니다
app.run()은 게임을 실행하는 명령입니다