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