问题
I`m new to cocos2d library, I worked before with libgdx and pure openGL. How can I handle a touch event in Cocos2d for Android?
回答1:
The 4 methods for handling touches on android are defined as follows:
public boolean ccTouchesBegan(MotionEvent event);
public boolean ccTouchesMoved(MotionEvent event);
public boolean ccTouchesEnded(MotionEvent event);
public boolean ccTouchesCancelled(MotionEvent event);
These are the listeners you should use.
And also add below line in constructor of your CCLayer class to enable touch event.
this.setIsTouchEnabled(true);
回答2:
To start touch event you have to first to set variable
isTouchEnabled_=true;
or
setIsTouchEnabled(true);
After that touch will work
You can use methods as:-
@Override
public boolean ccTouchesBegan(MotionEvent event) {
}
@Override
public boolean ccTouchesMoved(MotionEvent event) {
}
@Override
public boolean ccTouchesEnded(MotionEvent event) {
}
@Override
public boolean ccTouchesCancelled(MotionEvent event) {
}
I have used this like as in CCColorLayer:-
protected GameLayer(ccColor4B color) {
super(color);
// TODO Auto-generated constructor stub
isTouchEnabled_=true;
}
@Override
public boolean ccTouchesBegan(MotionEvent event) {
}
来源:https://stackoverflow.com/questions/6473780/cocos2d-touch-help