CocosCreator TOUCH_MOVE事件
生活随笔
收集整理的這篇文章主要介紹了
CocosCreator TOUCH_MOVE事件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- 注冊(cè)事件
- 在onDestroy里注銷本事件
onLoad() {this.node.on(cc.Node.EventType.TOUCH_MOVE, this._touchMove, this);
}protected onDestroy(): void {this.node.off(cc.Node.EventType.TOUCH_MOVE, this._touchMove, this);
}
- 綁定的事件,里面可以獲取到的一些參數(shù)
private _touchMove(e) {console.log(e.getPreviousLocation());
}
-
重點(diǎn)在這里:執(zhí)行結(jié)果,可見右側(cè)console里有非常多的執(zhí)行結(jié)果,而這只是移動(dòng)一小段所觸發(fā)的。
-
touch move會(huì)在觸摸移動(dòng)時(shí)不斷執(zhí)行,每移動(dòng)一點(diǎn)點(diǎn)都會(huì)執(zhí)行一次。
-
可以利用每次移動(dòng)得到的各種信息(如位置信息等)來進(jìn)行一些判斷和操作。
-
換一種嘗試:
private _touchMove(e) {console.log(e.getDelta().x, e.getDelta().y);
}
- 運(yùn)行結(jié)果:
官方文檔及API
觸摸事件類型和事件對(duì)象
觸摸事件在移動(dòng)平臺(tái)和桌面平臺(tái)都會(huì)觸發(fā),這樣做的目的是為了更好得服務(wù)開發(fā)者在桌面平臺(tái)調(diào)試,只需要監(jiān)聽觸摸事件即可同時(shí)響應(yīng)移動(dòng)平臺(tái)的觸摸事件和桌面端的鼠標(biāo)事件。系統(tǒng)提供的觸摸事件類型如下:
| 枚舉對(duì)象定義 | 對(duì)應(yīng)的事件名 | 事件觸發(fā)的時(shí)機(jī) |
|---|---|---|
| cc.Node.EventType.TOUCH_START | touchstart | 當(dāng)手指觸點(diǎn)落在目標(biāo)節(jié)點(diǎn)區(qū)域內(nèi)時(shí) |
| cc.Node.EventType.TOUCH_MOVE | touchmove | 當(dāng)手指在屏幕上移動(dòng)時(shí) |
| cc.Node.EventType.TOUCH_END | touchend | 當(dāng)手指在目標(biāo)節(jié)點(diǎn)區(qū)域內(nèi)離開屏幕時(shí) |
| cc.Node.EventType.TOUCH_CANCEL | touchcancel | 當(dāng)手指在目標(biāo)節(jié)點(diǎn)區(qū)域外離開屏幕時(shí) |
觸摸事件(cc.Event.EventTouch)的重要 API 如下(cc.Event 標(biāo)準(zhǔn)事件 API 除外):
| API 名 | 類型 | 意義 |
|---|---|---|
| touch | cc.Touch | 與當(dāng)前事件關(guān)聯(lián)的觸點(diǎn)對(duì)象 |
| getID | Number | 獲取觸點(diǎn)的 ID,用于多點(diǎn)觸摸的邏輯判斷 |
| getLocation | Object | 獲取觸點(diǎn)位置對(duì)象,對(duì)象包含 x 和 y 屬性 |
| getLocationX | Number | 獲取觸點(diǎn)的 X 軸位置 |
| getLocationY | Number | 獲取觸點(diǎn)的 Y 軸位置 |
| getPreviousLocation | Object | 獲取觸點(diǎn)上一次觸發(fā)事件時(shí)的位置對(duì)象,對(duì)象包含 x 和 y 屬性 |
| getStartLocation | Object | 獲取觸點(diǎn)初始時(shí)的位置對(duì)象,對(duì)象包含 x 和 y 屬性 |
| getDelta | Object | 獲取觸點(diǎn)距離上一次事件移動(dòng)的距離對(duì)象,對(duì)象包含 x 和 y 屬性 |
需要注意的是,觸摸事件支持多點(diǎn)觸摸,每個(gè)觸點(diǎn)都會(huì)發(fā)送一次事件給事件監(jiān)聽器。
總結(jié)
以上是生活随笔為你收集整理的CocosCreator TOUCH_MOVE事件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何关闭笔记本音箱?
- 下一篇: Microsoft Store无法下载应