cocos creator學習(七)觸控和鍵盤事件總結
1、處理事件在節點(cc.Node)中完成的。對於元件可以通過訪問節點this.node來註冊和監聽事件。監聽事件可以通過this.mode.on()函式來進行
this.node.on('mousedown',function(event){
console.log('Hello');
});
也可以傳入第三個引數taget,用於繫結相應函式的呼叫者。
//使用函式繫結
this.node.on('mousedown',function(event){
this.enabled=false;
}.bind(this));
//使用第三個引數
this.node.on('mousedown',function(event){
this.enabled=false;
},this);
2、cocos creator接受的系統事件有四種 滑鼠、觸控、鍵盤、重力感測四種。
其中滑鼠事件和觸控事件,這些時間是被直接觸發在相關節點上的,所以統稱為節點系統時間。
與之對應的鍵盤和重力事件被稱為全域性系統事件。
滑鼠事件型別
cc.Node.EventType.MOUSE_DOWN:當滑鼠在目標節點區域按下時觸發一次 事件名:‘mousedown’
cc.Node.EventType.MOUSE_ENTER:當滑鼠移入目標節點區域時,不論是否按下 事件名:‘mouseenter’
cc.Node.EventType.MOUSE_MOVE:當滑鼠在目標節點在目標節點區域中移動時,不論是否按下 事件名:‘mousemove’
cc.Node.EventType.MOUSE_LEAVE:當滑鼠移動出目標節點區域是,不論是否按下 事件名:'mouseleave'
cc.Node.EventType.MOUSE_UP:當滑鼠從按下狀態鬆開時觸發一次 事件名:‘mouseup’
cc.Node.EventType.MOUSE_WHEEL:當滑鼠滾輪滾動時 事件名:‘mousewheel’
觸控事件
觸控事件在移動平臺和桌面平臺都會觸發。
cc.Node.EventType.TOUCH_START:當手指觸點露在目標節點區域時 事件名:‘touchstart’
cc.Node.EventType.TOUCH_MOVE:當手指在螢幕上目標點區域內移動時 事件名:'touchmove'
cc.Node.EventType.TOUCH_END:當手指在目標節點區域內離開螢幕時 事件名:‘touchend’
cc.Node.EventType.TOUCH_CANCEL:當手指在目標節點區域外離開螢幕時 事件名:'touchcancel'
其它事件名:
他們都只有事件名,沒有對應的列舉物件定義。
'position-changed':當位置屬性修改時
‘rotation-change’:當旋轉屬性修改時
‘scale-changed’:當縮放屬性修改時
'size-changed':當寬高屬性修改時
‘anchor-changed’:當描點屬性修改時
全域性系統事件
鍵盤事件和重力感測事件,是通過cc.systemEvent.on來繫結事件。
cc.SystemEvent.EventType.KEY_DOWN(鍵盤按下)
cc.SystemEvent.EventType.KEY_UP(鍵盤釋放)
cc.SystemEvent.EventType.DEVICEMOTION(裝置重力感測)
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,function(event){
},this);
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP,function(event){
},this);