1. 程式人生 > >cocos creator學習(七)觸控和鍵盤事件總結

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);