桌面双击
这种方法只需要使用到一个bool变量表征是否touch。
- bool clicked;
初始化为:
- clicked = false;
处理的代码如下:
- void HelloWorld::ccTouchesBegan(CCSet* touches, CCEvent* event)
- {
- if (clicked) {
- clicked = false;
- CCLog("double click");
- }
- else
- {
- //延时0.25s执行(注意在这0.25s的延时过程中clicked已经为true),
- //如果在这个过程中再次click,那么就执行上面的双击事件处理了
- //否则,那么就执行下面的回调函数了,处理单击事件
- scheduleOnce(schedule_selector(HelloWorld::ff), 0.25f);
- clicked = true;
- }
- }
- //在回调函数中处理单击事件
- void HelloWorld::ff(float tt)
- {
- if (clicked) {
- clicked = false;
- CCLog("single click");
- }
- }
这个方法利用的是双击是两次点击时间间隔250ms到300ms的事实为依据的