最近有童鞋问我如何获取到iphone手机截屏的事件,所以本篇就简单的聊下这种问题的处理办法。
在cocos2dx引擎中,我们能在AppDelegate中获取到,用户将应用切入后台,以及重新返回应用的事件函数。那么对应的,cocos2dx也在引擎中给予我们截取屏幕等这种只能手机应有事件的处理函数。
其实大家应该都很熟悉截取用户触屏的函数,如下:
1
2
3
4
|
// default implements are used to call script callback if exist
virtual
bool
ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual
void
ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
virtual
void
ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
|
如上三个函数:
1.touchBegan:获取用户刚触屏事件的函数。
2.touchMoved:获取用户滑动屏幕事件的函数。
3.touchEnded:获取用户离开屏幕事件的函数。
其实细节的童鞋,或者不理解的童鞋可能都看到了,其实触屏事件还有一个函数可继承重写:
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
此函数 touchCancelled 的作用是获取意外事件造成触屏事件取消的函数。其实这个函数不仅能获取截屏等意外造成触屏取消的事件之外,还能有效的避免多触点之间造成程序异常的问题。
另外Himi建议重写触屏函数时,务必重写 ccTouchCancelled 函数,以避免意外事件的发生,造成程序崩溃!
本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/1343348,如需转载请自行联系原作者