게임엔진이란?
비디오 게임의 개발에 기반이 되는 구성 요소들을 가진 필수 구성 요소들인 그래픽 엔진, 물리 엔진, 오디오 엔진, UI시스템, 게임플레이 프레임워크 등 잘 융합된 상태의 소스 코드와, 그 기능들을 사용 가능한 툴을 겸비한 게임 개발 소프트웨어
SpriteKit?
2013년 WWDC에서 발표된 맥 생태계 전용 2D게임 개발용 API
Cocos2d와 유사한 구조를 가졌다.
- ios에 최적화, Metal API를 지원하여 빠른 속도
- ios의 라이브러리를 자유롭게 가져다 쓸 수 있다.
- 고수준 언어인 Swift로 코딩가능
- 간단한 2d게임을 빠르게 개발
- swift에 대한 학습도 수행가능
- Apple 생태계 밖에서는 사용불가
SpriteKit 구조
- 일반 앱과는 달리 단 하나의 뷰컨트롤러만 사용
- 씬 위에 노드를 올린 뒤 노드를 움직여줌
- 뷰컨트롤러 위에서 미리 준비 되어 있는 씬을 바꿈으로써 화면 전환
SpriteKit 노드 종류 (SKNode)
모든 노드는 SKNode의 하위 클래스!
- SKLabelNode : 텍스트 label을 표시하는 노드. 글자색, 글자체도 지정 가능
- SKSpriteNode : 이미지를 표시하는 노드. 직접 포토샾 같은 걸로 그림을 그려서 만들수 있음.
- SKShapeNode : 도형을 표시하는 노드. 직접 코어 그래픽스를 이용해서 만들수 있음.
- SKEmitterNode : 특수효과를 표시하는 노드. 파티클 이미터를 추가할 수 있음.
- SKEffectNode : 특수효과를 표시하는 노드. 코어 이미지 필터를 자식노드에 적용.
- SKVideoNode : 비디오를 재생해주는 노드.
이 외에도 있지만 너무 많아서 핵심이라 생각되는 것들만,,