만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
-
Upload
ukjin-kwoun -
Category
Documents
-
view
891 -
download
4
description
Transcript of 만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
Chapter 10
슈팅 게임 스테이지 구현
Scene, Layer, Object
Scene : cocos2d-x 에서 한 게임 화면을 나타냄 ex) 타이틀 화면 -> 메인 메뉴 -> 게임화면 Scene 3 개
Scene 아래로 Layer 를 추가할 수 있고 Layer 에 오브젝트를 추가할수 있음
CCScene, CCLayer class 사용
Chapter 10.1.1 GameLayer 클래스 추가
Game Layer 코드
실행 화면
Chapter 10.1.2 배경 이미지 추가
Chapter 10.1.3 오리엔테이션 설정
종 스크롤 게임을 만들지 횡 스크롤 (Landscape 설정 ) 게임을 만들지 결정
Portrait 모드 지원
Chapter 10.1.4 다양한 해상도 지원
다양한 해상도가 존재 => 중간정도의 해상도를 비율에 따라 늘리거나 줄여 사용
Chapter 10.1.4 다양한 해상도 지원
kResolutionShowAll : 디자인 해상도의 비율이 유지되도록 하면서 화면 안에 전체 이미지가 나타나도록 함
레터박싱 : 비어있게 되는 공간을 검은색으로 채우는 것
Chapter 10.2.1 원리
10.2 배경화면 스크롤
1
2
이미지를 상하로 이어 붙였을 때 이미지가 끊어져 보이는 경우가 없도록 제작
Chapter 10.2.2 스크롤 구현
Z Order( 우선순위 ) : 같은 Layer 에 포함되는 여러 오브젝트들의 그리는 순서를 결정해주는 값
void scheduleUpdate(void )
Schedules the "update" method.It will use the order number 0. This method will be called every frame. Scheduled methods with a lower order value will be called before the ones that have a higher order value. Only one "update" method could be scheduled per node.
Chapter 10.2.2 스크롤 구현
배경이미지가 화면을 완전히 벗어났는지 확인
Chapter 11
헬리콥터
11.1 빠른 렌더링을 위한 SpriteBatchNode
CCSprite::create(“ 이미지 이름” )
필요할 때 마다 스프라이트를 하나씩 생성 해서 사용하는 방식은 스프라이트의 수가 많아질수록 게임이 크게 느려짐
그래픽 처리를 담당하는 디바이스의 하드웨어는 사용하는 텍스처 ( 이미지 ) 가 교체될 때마다 하드웨어에서 관리하고 있는 여러 가지 상태를 변경해야 하는데 , 이 상태를 변경하는 횟수가 많아질수록 렌더링 속도가 급격하게 떨어짐 .
이미지를 하나씩 로딩해서 그리는 방식보다 여러 장의 이미지를 하나의 이미지 파일로합쳐서 로딩한 후 그 이미지 안에서 필요한 부분만 사용하는 방식이 하드웨어의 렌더링처리를 빠르게 할 수 있는 방법
CCSprite::create(“ 이미지1.png”) CCSprite::create(“ 이미지2.png”) Atlas Texture :
여러장의 이미지 파일들을 합쳐서 생성된 하나의 이미지
11.2 빠른 렌더링을 위한 Atlas Texture 생성
툴 이용 ……… .
11.3 헬리콥터 생성
11.3 프로펠러 추가
실행 화면
The End…..