노력과 삽질 퇴적물

안드로이드: cocos2d-android (2) 본문

프로그래밍note/엔진 관련

안드로이드: cocos2d-android (2)

MTG 2013. 4. 9. 15:16

안드로이드: cocos2d-android (1)

안드로이드: cocos2d-android (2)

안드로이드: cocos2d-android (3)


* 해당 포스트는 윈도우 32비트/이클립스/JDK 1.7/안드로이드용 기준으로 아이폰용(Cocos2d for iPhone)를 찾으시는 분은 다음의 링크로 가시면 도움이 될겁니다. [설치 및 빈 프로젝트 시작하기, Cocos2d for iPhone]






1. 기본적인 용어


스프라이트(Sprite)

-> CocosNode의 서브클래스

-> 이동, 크기변환, 회전, 애니메이션등을 적용할수 있는 2D 이미지

-> 스프라이트 = {부속_스프라이트1, 부속_스프라이트2, ..., 부속_스프라이트N}


레이어(Layer)

-> CocosNode의 서브클래스

-> 이벤트 핸들러가 정의되는 영역.

-> 레이어 = {스프라이트, 라벨, 다른 레이어, ...}

-> CCLayer에서 터치를 활성화시키는 작업등을 하는게 아니라, CCStandardTouchDelegate 나 CCTargetedTouchDelegate 중에서 사용하는 프로토콜을 완성해야 한다고 나오네요.


씬(Scene)

-> CocosNode의 서브클래스

-> 씬 = {레이어 1, 레이어2, ... , 레이어N}   //레이어층 모음

-> 보여지는 노드들의 최상위 부모역할


디렉터

-> 여러 씬을 핸들링 하며, 실제로 레이어를 선택후 씬을 바꿈.(이전 씬은 종료?)






2. 예제    [cocos2d_android_ex1.zip]


* cocos2d-x와 달리 cocos2d-android가 상대적으로 화면 드로잉이 느려서인지

기본 생성된 레이아웃 XML파일의 코드를 전체삭제후 프레임 레이아웃처럼 아무런 설정이 없는것을 넣으면 화면전환이 개선되는것을 볼수 있다. 부가적으로 스플래쉬/로딩화면을 이용해서 액티비티에 서페이스뷰가 덮어지는 틈새시간을 가려주는 작업이 필요해보입니다.

*해당예제로 테스트 해본 결과,

cocos2d-안드로이드에서는 디바이스 화면 좌측하단이 (0, 0)이고 우측상단으로 (+x, +y)인것으로 나타납니다.







참조 자료.


한국권자료, 주요참조

CCSprite 정의와 생성방법 (cocos2d for android)::안드로이드 개발


한국어자료, 기타

cocos2d 기본 컨셉 (cocos2d-iphone.org/wiki)

Cocos2D Android | Blaswan's blog


해외권 자료.

Android Cocos2d Game Development tutorial 1 | Hi-TechCode

Step by Step Tutorial on Cocos2d-Android game Development: Part-1 | Code Explosion