cocos2d 單擊,雙擊,及雙指捏合事件的判斷

2021-09-08 03:40:36 字數 885 閱讀 2702

nsset *alltouches = [event alltouches];   

uitouch *touchone = [[alltouches allobjects]objectatindex:0];   

uitouch *touchtwo = [[alltouches allobjects]objectatindex:1];   

//...類推  

獲取多點狠簡單,那麼下面再將基本常用到的幾個判斷寫下:1-判斷使用者單擊還是雙擊(針對乙個觸點)

if([alltouches count]==1)    

}   

2-判斷使用者兩個觸點之間是合攏還是分開(針對兩個觸點)

if([alltouches count]==2) else   

}   

這裡我就粗略的寫在一起,判定兩個觸點是否合攏其實就是使用者剛觸屏時記錄兩點之間的距離記做disfirst,然後在兩個觸點離開螢幕(或者移動事件中)的時候計算

當前的兩個觸點的距離disfinal,那麼最後根據disfirst與disfinal距離關係就能知道是合攏還是分開;

(cclog 是cocos2d封裝的列印方法,此種列印在編譯發布正式遊戲程式的時候是不會編譯到程式中的,但是nslog會一直存在!要注意!)

最後給出兩個函式,用於計算不同方式監聽的函式中獲取**換)座標的,因為cocos2d是opengl進行搭建的框架,所以需要座標轉換;

+(cgpoint) locationfromtouches:(nsset*)touches   

+(cgpoint) locationfromtouch:(uitouch*)touch   

兩個方法一看就能看出區別,乙個是uitouch的,乙個是nsset,乙個是單一監聽,乙個是分發監聽;

**

cocos2d 單擊,雙擊,及雙指捏合事件的判斷

nsset alltouches event alltouches uitouch touchone alltouches allobjects objectatindex 0 uitouch touchtwo alltouches allobjects objectatindex 1 類推 獲取多...

cocos2d實現語音 Cocos2d 聲音API

param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...

Cocos2D研究院之初識Cocos2d(二)

在正式介紹cocos2d之前,我先囉嗦一下本人對這套引擎的看法。我認為coos2d最大的作用就是降低開發成本 貌似所有引擎都是這樣 對於研發部門來說,最大的成本就是時間,所以節省時間是降低成本最有效的方式,cocos2d幾乎封裝了所有開發ios遊戲需要的底層 使剛剛接觸oc的開發者也能很快的製作出效...