【发布时间】:2011-06-24 21:06:21
【问题描述】:
我是 cocos2d 库的新手,之前使用过 libgdx 和纯 openGL。如何在 Cocos2d for Android 中处理触摸事件?
【问题讨论】:
我是 cocos2d 库的新手,之前使用过 libgdx 和纯 openGL。如何在 Cocos2d for Android 中处理触摸事件?
【问题讨论】:
在android上处理触摸的4种方法定义如下:
public boolean ccTouchesBegan(MotionEvent event);
public boolean ccTouchesMoved(MotionEvent event);
public boolean ccTouchesEnded(MotionEvent event);
public boolean ccTouchesCancelled(MotionEvent event);
这些是您应该使用的侦听器。
并在 CCLayer 类的构造函数中添加以下行以启用触摸事件。
this.setIsTouchEnabled(true);
【讨论】:
要启动触摸事件,您必须首先设置变量
isTouchEnabled_=true;
或
setIsTouchEnabled(true);
之后触摸将起作用
您可以使用以下方法:-
@Override
public boolean ccTouchesBegan(MotionEvent event) {
}
@Override
public boolean ccTouchesMoved(MotionEvent event) {
}
@Override
public boolean ccTouchesEnded(MotionEvent event) {
}
@Override
public boolean ccTouchesCancelled(MotionEvent event) {
}
我像在 CCColorLayer 中一样使用它:-
protected GameLayer(ccColor4B color) {
super(color);
// TODO Auto-generated constructor stub
isTouchEnabled_=true;
}
@Override
public boolean ccTouchesBegan(MotionEvent event) {
}
【讨论】: