노력과 삽질 퇴적물

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

프로그래밍note/엔진 관련

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

MTG 2013. 4. 10. 10:21

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

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

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


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






1. 터치 입력 및 처리


예.

public boolean ccTouchesBegan(MotionEvent event)

{

double x = event.getX();

double y = event.getY();

CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.make((float) x, (float) y));

... ... ...


return CCTouchDispatcher.kEventHandled;

}


CCStandardTouchDelegate 클래스

CCTargetdTouchDelegate 클래스

-> CCLayer에 발생하는 모든 터치이벤트를 처리

ccTouchesBegan(MotionEvent event)

ccTouchesMoved(MotionEvent event)//드래그

ccTouchesEnded(MotionEvent event)//손가락 떼는 순간

ccTouchesCancelled(MotionEvent event)//시스템이 터치 중지

-> ccTouchBegan 메서드에 발생한 터치 이벤트 처리

ccTouchesBegan

ccTouchesMoved

ccTouchesEnded

ccTouchesCancelled






2. 스프라이트, 좌표와 회전


예시.

public class LayerSample extends CCLayer

{

CCSprite logo_brown;

CCSprite logo_blue;


private void setIInitSprite()

{//스프라이트 지정

logo_brown = CCSprite.sprite("logo.png");

float sprite_x = logo_brown.getContentSize().width / 2;

float sprite_y = logo_brown.getContentSize().height / 2;

logo_brown.setPosition(sprite_x, sprite_y);//좌표 지정. 좌표갱신시 setPosition(CGPoint_값)

this.addChild(logo_brown);


logo_blue = CCSprite.sprite("logo-2dx.png");

logo_blue.setPosition(200f, 500f);

this.addChild(logo_blue);

}


private void setRotating(CGPoint startLocation)
{//회전
double at = CGPoint.ccpCalcRotate(logo_blue.getPosition(), startLocation);
logo_blue.runAction(CCRotateTo.action(0.1f, (float)at));

}

... ... ...

* 기본적으로 안드로이드 API문서에서는 float보다 double를 권장하고 있습니다. [원문페이지] 연산등에서 double를 쓰고 최종적으로 값을 지정할떄는 float으로 캐스팅하는게 무난해보입니다.






3. 화면변환 & 배경스크롤


CCTransitionFade

CCTransitionFlipAngular

CCTransitionShrinkGrow

CCTransitionMoveInB

CCTransitionMoveInT

CCTransitionMoveInL

CCTransitionMoveInR

CCTransitionFadeTR

CCTransitionFadeUp

CCTransitionFlipX

CCTransitionFlipY

CCTransitionPageTurn

CCTransitionCrossFade






참조자료.


한국어 자료.

주영렬 블로그 :: CCTargetedTouchDelegate

[예제분석] CocosNodeTest.java (cocos2d 안드로이드강좌)::안드로이드 개발

cocos2d for iPhone, 프로그래밍 가이드

coolsharp의 놀이터 :: cocos2d for android - 터치 이벤트

OnCreate :: Cocos2d Android : 4장 . Cocos2d 액션 정리

OnCreate :: Cocos2d Android : 5장 . Cocos2d Scene 전환 효과


해외권 자료.

Cocos2d Android: Drag And Drop A Sprite

Understanding anchorPoint in cocos2d | QcMat