最近有童鞋問我如何擷取到iphone手機截屏的事件,是以本篇就簡單的聊下這種問題的處理辦法。
在cocos2dx引擎中,我們能在AppDelegate中擷取到,使用者将應用切入背景,以及重新傳回應用的事件函數。那麼對應的,cocos2dx也在引擎中給予我們截取螢幕等這種隻能手機應有事件的處理函數。
其實大家應該都很熟悉截取使用者觸屏的函數,如下:
1
2
3
4
<code>// default implements are used to call script callback if exist</code>
<code>virtual</code><code>bool</code><code>ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);</code>
<code>virtual</code><code>void</code><code>ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);</code>
<code>virtual</code><code>void</code><code>ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);</code>
如上三個函數:
1.touchBegan:擷取使用者剛觸屏事件的函數。
2.touchMoved:擷取使用者滑動螢幕事件的函數。
3.touchEnded:擷取使用者離開螢幕事件的函數。
其實細節的童鞋,或者不了解的童鞋可能都看到了,其實觸屏事件還有一個函數可繼承重寫:
此函數 touchCancelled 的作用是擷取意外事件造成觸屏事件取消的函數。其實這個函數不僅能擷取截屏等意外造成觸屏取消的事件之外,還能有效的避免多觸點之間造成程式異常的問題。
另外Himi建議重寫觸屏函數時,務必重寫 ccTouchCancelled 函數,以避免意外事件的發生,造成程式崩潰!
本文轉自 xiaominghimi 51CTO部落格,原文連結:http://blog.51cto.com/xiaominghimi/1343348,如需轉載請自行聯系原作者