Cocos Creator API

1.2.0

Cocos Creator is a highly customizable game development tool that utilizes the power of cocos2d-x.

eventManager

模块: cc

事件管理器,它主要管理事件监听器注册和派发系统事件。 原始设计中,它支持鼠标,触摸,键盘,陀螺仪和自定义事件。 在 Creator 的设计中,鼠标,触摸和自定义事件的监听和派发请参考 http://cocos.com/docs/creator/scripting/events.html。

示例:

// Add KEYBOARD EventListener To StatusLabel.
cc.eventManager.addListener({
    event: cc.EventListener.KEYBOARD,
    onKeyPressed:  function(keyCode, event){
        var label = event.getCurrentTarget();
        label.setString("Key " + keyCode.toString() + " was pressed!");
    },
    onKeyReleased: function(keyCode, event){
        var label = event.getCurrentTarget();
        label.setString("Key " + keyCode.toString() + " was released!");
    }
}, statusLabel);

// Create ACCELERATION EventListener To Sprite.
cc.eventManager.addListener({
    event: cc.EventListener.ACCELERATION,
    callback: function(acc, event){
        //Here processing logic.
    }
}, sprite);

方法

pauseTarget
(
  • node
  • recursive
)

暂停传入的 node 相关的所有监听器的事件响应。

名称 类型 描述
node Node
recursive Boolean

resumeTarget
(
  • node
  • recursive
)

恢复传入的 node 相关的所有监听器的事件响应。

名称 类型 描述
node Node
recursive Boolean

addListener
(
  • listener
  • nodeOrPriority
)
EventListener

将事件监听器添加到事件管理器中。
如果参数 “nodeOrPriority” 是节点,优先级由 node 的渲染顺序决定,显示在上层的节点将优先收到事件。
如果参数 “nodeOrPriority” 是数字,优先级则固定为该参数的数值,数字越小,优先级越高。

名称 类型 描述
listener EventListener | Object

The listener of a specified event or a object of some event parameters.

nodeOrPriority Node | Number

The priority of the listener is based on the draw order of this node or fixedPriority The fixed priority of the listener.

返回:

类型: EventListener

Return the listener. Needed in order to remove the event from the dispatcher.

removeListener
(
  • listener
)

移除一个已添加的监听器。

名称 类型 描述
listener EventListener

an event listener or a registered node target

示例:


// 1. remove eventManager add Listener;
var mouseListener1 = cc.eventManager.addListener({
    event: cc.EventListener.MOUSE,
    onMouseDown:  function(keyCode, event){ },
    onMouseUp: function(keyCode, event){ },
    onMouseMove: function () { },
    onMouseScroll: function () { }
}, node);

cc.eventManager.removeListener(mouseListener1);

// 2. remove eventListener create Listener;
var mouseListener2 = cc.EventListener.create({
    event: cc.EventListener.MOUSE,
    onMouseDown:  function(keyCode, event){ },
    onMouseUp: function(keyCode, event){ },
    onMouseMove: function () { },
    onMouseScroll: function () { }
});

cc.eventManager.removeListener(mouseListener2);

removeListeners
(
  • listenerType
  • recursive
)

移除注册到 eventManager 中指定类型的所有事件监听器。

  1. 如果传入的第一个参数类型是 Node,那么事件管理器将移除与该对象相关的所有事件监听器。 (如果第二参数 recursive 是 true 的话,就会连同该对象的子控件上所有的事件监听器也一并移除)
  2. 如果传入的第一个参数类型是 Number(该类型 EventListener 中定义的事件类型), 那么事件管理器将移除该类型的所有事件监听器。

下列是目前存在监听器类型:
cc.EventListener.UNKNOWN
cc.EventListener.KEYBOARD
cc.EventListener.ACCELERATION,

名称 类型 描述
listenerType Number | Node

listenerType or a node

recursive Boolean

removeAllListeners ( )

移除所有事件监听器。

setPriority
(
  • listener
  • fixedPriority
)

设置 FixedPriority 类型监听器的优先级。

名称 类型 描述
listener EventListener

Constructor

fixedPriority Number

setEnabled
(
  • enabled
)

启用或禁用事件管理器,禁用后不会分发任何事件。

名称 类型 描述
enabled Boolean

isEnabled ( ) Boolean

检测事件管理器是否启用。

返回:

类型: Boolean

There are no methods that match your current filter settings. You can change your filter settings in the index section on this page. index