PixiJS · 01 Application과 Scene graph
단계: Application·좌표·표시 객체 · 편집 가능한 예제 · 저장 ID: pixijs-01
목표와 학습 후 역량
- 초기화 완료 후에만 화면 자원을 사용한다.
- Canvas 수동 그리기와 scene graph 갱신을 비교한다.
선수 지식
JavaScript 비동기 함수·DOM 이벤트와 Canvas 2D의 좌표·시간 기반 루프를 이해해야 합니다.
핵심 개념과 설명
비동기 초기화
PixiJS 8은 Application 생성 뒤 init을 기다립니다. 초기화 전 canvas나 renderer를 사용하면 준비되지 않은 자원에 접근할 수 있습니다.
부모 컨테이너
Container의 변환은 자식의 표시 위치에 합쳐집니다. 자식 좌표를 매번 직접 이동시키지 않고 그룹을 움직일 수 있습니다.
실습 준비
기존 내장 예제는 출발점만 제공합니다. 확장 요구사항 전체가 구현된 예제가 아니며 별도 로컬 HTTP 개발 서버의 HTML·ES 모듈 프로젝트에서 직접 구현합니다. pixi.js 8.x의 설치 버전을 고정하고 기록하세요.
연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.
실습 과제
- 외부 실습 프로젝트의 day-01.js와 index.html을 준비하세요. 기존 pixijs-01을 읽고 new Application과 await app.init 뒤 app.canvas를 붙이세요.
- Container에 로컬 텍스처 Sprite 두 개를 넣고 부모 위치·회전을 입력받으세요.
- 입력 조건 0에서 출력을 저장한 뒤 PI/4 조건으로 다시 실행하세요. 예상: 자식 로컬 좌표를 유지하며 묶음 전체가 회전합니다. 실제 화면·로그와 대조하고 day-01-notes.md에 실제 결과와 차이의 원인을 남기세요.
관찰할 변수
| 변수 | 기준 조건 | 바꿀 조건 | 예상할 변화·검증 가설 |
|---|---|---|---|
| 부모 회전 | 0 | PI/4 | 자식 로컬 좌표를 유지하며 묶음 전체가 회전합니다 |
표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.
완료 조건
- 초기화 완료 후에만 화면 자원을 사용한다.
- Canvas 수동 그리기와 scene graph 갱신을 비교한다.
자가 점검
- init을 await하지 않으면 어떤 순서 문제가 생기나요?
- 부모 이동 때 자식 position도 바꿔야 하나요?
공식 참고
연결된 예제와 실행 범위
원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.