Cocos Creator 玩家輸入事件(摘自官方文件)
玩家輸入事件
本篇教程,我們將介紹 Cocos Creator 的玩家輸入事件。
目前支援了以下幾種事件:
- 鍵盤事件
- 滑鼠事件
- 觸控(單點與多點)事件
如何定義輸入事件
所有的事件都是通過函式 cc.eventManager.addListener(listener, target)
來進行新增。
可選的 event
型別有:
1. cc.EventListener.MOUSE (滑鼠)
2. cc.EventListener.KEYBOARD (鍵盤)
3. cc.EventListener.TOUCH_ONE_BY_ONE (單點觸控)
4. cc.EventListener.TOUCH_ALL_AT_ONCE (多點觸控)
滑鼠事件
- 事件監聽器型別:
cc.EventListener.MOUSE
- 事件觸發後的回撥函式:
- 滑鼠按下:onMouseDown(event);
- 滑鼠釋放:onMouseUp(evnet);
- 滑鼠移動:onMouseMove(evnet);
- 滑鼠滾輪:onMouseScroll(evnet);
- 回撥引數:
- Event:API 傳送門
// 新增滑鼠事件監聽器
var listener = {
event: cc.EventListener.MOUSE,
onMouseDown: function (event) {
cc.log('Mouse Down: ' + event);
},
onMouseUp: function (event) {
cc.log('Mouse Up: ' + event);
},
onMouseMove: function (event) {
cc.log('Mouse Move: ' + event);
}
onMouseScroll: function (event) {
cc.log('Mouse Scroll: ' + event);
}
}
// 繫結滑鼠事件
cc.eventManager.addListener(listener, this.node);
鍵盤事件
- 事件監聽器型別:
cc.EventListener.KEYBOARD
- 事件觸發後的回撥函式:
- 鍵盤按下:onKeyPressed(keyCode, event);
- 鍵盤釋放:onKeyReleased(keyCode, evnet);
- 回撥引數:
// 新增鍵盤事件監聽器
var listener = {
event: cc.EventListener.KEYBOARD,
onKeyPressed: function (keyCode, event) {
cc.log('keyDown: ' + keyCode);
},
onKeyReleased: function (keyCode, event) {
cc.log('keyUp: ' + keyCode);
}
}
// 繫結鍵盤事件
cc.eventManager.addListener(listener, this.node);
單點觸控事件
- 事件監聽器型別:
cc.EventListener.TOUCH_ONE_BY_ONE
- 事件觸發後的回撥函式:
- 觸控開始:onTouchBegan(touches, event);
- 觸控移動時:onTouchMoved(touches, event);
- 觸控結束時:onTouchEnded(touches, event);
- 取消觸控:onTouchCancelled(touches, event);
- 回撥引數:
注意:onTouchBegan
回撥事件裡要 return
true
, 這樣後續的 onTouchEnded
和 onTouchMoved
才會觸發事件。
// 新增單點觸控事件監聽器
var listener = {
event: cc.EventListener.TOUCH_ONE_BY_ONE,
onTouchBegan: function (touches, event) {
cc.log('Touch Began: ' + event);
return true; //這裡必須要寫 return true
},
onTouchMoved: function (touches, event) {
cc.log('Touch Moved: ' + event);
},
onTouchEnded: function (touches, event) {
cc.log('Touch Ended: ' + event);
}
onTouchCancelled: function (touches, event) {
cc.log('Touch Cancelled: ' + event);
}
}
// 繫結單點觸控事件
cc.eventManager.addListener(listener, this.node);
多點觸控事件
- 事件監聽器型別:
cc.EventListener.TOUCH_ALL_AT_ONCE
- 事件觸發後的回撥函式:
- 觸控開始:onTouchesBegan(touches, event);
- 觸控移動時:onTouchesMoved(touches, event);
- 觸控結束時:onTouchesEnded(touches, event);
- 取消觸控:onTouchesCancelled(touches, event);
- 回撥引數:
同理:onTouchesBegan
回撥事件裡也要 return
true
, 這樣後續的 onTouchesEnded
和 onTouchesMoved
才會觸發事件。
// 新增多點觸控事件監聽器
var listener = {
event: cc.EventListener.TOUCH_ALL_AT_ONCE,
onTouchesBegan: function (touches, event) {
// touches 觸控點的列表
cc.log('Touch Began: ' + event);
return true; //這裡必須要寫 return true
},
onTouchesMoved: function (touches, event) {
cc.log('Touch Moved: ' + event);
},
onTouchesEnded: function (touches, event) {
cc.log('Touch Ended: ' + event);
}
onTouchesCancelled: function (touches, event) {
cc.log('Touch Cancelled: ' + event);
}
}
// 繫結多點觸控事件
cc.eventManager.addListener(listener, this.node);
相關文章
- Data Guard的三種保護模式(摘自官方文件)模式
- Cocos Creator 入門篇-拖拽小遊戲(一)遊戲
- UNITY官方文件:事件函式Unity事件函式
- 《Redis官方文件》Redis事件庫Redis事件
- Cocos Creator 實現截圖
- Cocos Creator 3.x缺陷
- cocos creator 視訊互動遊戲遊戲
- cocos creator中適配iPhone XiPhone
- Cocos Creator踩坑日記(一)
- Cocos Creator 的工作流程 2.4
- Cocos2d官方入門指導
- ubuntu 16.04 + Qt 5.10 creator 下支援搜狗輸入法輸入中文UbuntuQT
- Cocos Creator 入門篇-描摹小遊戲(cocos描摹數字,描摹英語字母,描摹圖形)遊戲
- Cocos Creator - 微信小遊戲 實戰分享遊戲
- cocos-creator 指令碼邏輯-1指令碼
- Python 官方文件:入門教程Python
- Cocos Creator 入門篇-描摹小遊戲(描摹數字,描摹英語字母)遊戲
- Cocos Creator 新資源管理系統剖析
- 初探 Cocos Creator: 碰撞與物理系統
- 小遊戲開發上手體驗 – Cocos Creator遊戲開發
- Cocos Creator iOS 互相呼叫看我的就夠了iOS
- Cocos Creator 實現畫板(你畫我猜)
- Cocos Creator 3.8.x bundle核心知識點
- Cocos Creator 3.8.x bundle設定最佳方案
- Cocos Creator 3.8.x bundle注意知識點
- Cocos Creator 中的動作系統那些事兒
- Django官方文件Django
- oracle 官方文件Oracle
- nmap官方文件
- 在 Ubuntu 環境下 Qt Creator 無法使用搜狗輸入法UbuntuQT
- Android輸入事件詳解Android事件
- 深夜長談:聊聊 Cocos Creator 3D 的未來3D
- Cocos Creator 資源載入流程剖析【三】——Load部分
- Cocos Creator 3.8.x 透明帶滾動功能的容器
- Linux Mint下Qt Creator無法輸入中文解決辦法LinuxQT
- 搜狗輸入法 for Mac(文字輸入工具)v5.9.0.11851官方版Mac
- input輸入框的各種事件事件
- WPF 裝置輸入事件封裝事件封裝