Android Cocos2d 터치 이벤트와 키 이벤트 받는 방법은 의외로 쉽게할 수 있다.
CCLayer에서 다음과같이 사용하는 방법은 생각보다 간단하다.
Touch
먼저 터치 사용 여부를 설정해준다.
this.setIsTouchEnabled(true);
// 화면 눌림
public boolean ccTouchesBegan(MotionEvent event) {
return CCTouchDispatcher.kEventHandled; // TODO Auto-generated method
// stub
}
// 누르고있을 경우
public boolean ccTouchesMoved(MotionEvent event) {
return CCTouchDispatcher.kEventIgnored; // TODO Auto-generated method
// stub
}
// 화면에 손이 때어졌을 때
public boolean ccTouchesEnded(MotionEvent event) {
return CCTouchDispatcher.kEventIgnored; // TODO Auto-generated method
// stub
}
public boolean ccTouchesCancelled(MotionEvent event) {
return CCTouchDispatcher.kEventIgnored; // TODO Auto-generated method
// stub
}
KeyEvent
먼저, cocos2d를 실행한 메인 Activity 에서 다음과 같은 메소드를 설정해야한다.
그러한 사유는 다음에 자세히 작성하겠다..
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return CCDirector.sharedDirector().onKeyDown(event);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
return super.dispatchKeyEvent(event);
}
CCLayer
this.setIsKeyEnabled(true);
// 키 눌렸을때
public boolean ccKeyDown(int keyCode, KeyEvent event) {
return CCKeyDispatcher.kEventHandled;
}
// 키 누른게 때졌을때
public boolean ccKeyUp(int keyCode, KeyEvent event) {
return CCKeyDispatcher.kEventHandled;
}
아래 예제 소스내용이다.
실행 화면 : 터치한 지점으로 캐릭터가 이동 및 표정이 봐낀다.
1. StudyCocos2d_1Activity
2. GameScene
*클래스 명은 Scene이라 했지만.. 레이어로만 되어있다.
'Dev > Android' 카테고리의 다른 글
Support package (0) | 2012.05.01 |
---|---|
Android 스플래쉬(Splash) / 로딩화면 만들기 (2) | 2011.11.17 |
Java / Android 에서 JSON 사용하기 (0) | 2011.11.09 |