Шукати в цьому блозі

EventDispatcher / Регулятор подій

EventDispatcher

Спадковість: Object

Підтримувані платформи:

  

Available since version: Gideros 2011.6

Опис:

Всі класи, які відправляють події, спадкоємці від EventDispatcher. Метою події є функція слухача та необов'язкове значення даних.

Коли подія надсилається, зареєстрована функція виконується.

Якщо вказано необов'язкове значення даних, воно використовується як перший параметр під час виклику функції слухача.

Диспетчер подій та функції подій - основа моделі подій Gideros.  Різні типи подій (наприклад, Event.ENTER_FRAME, Event.TOUCHES_BEGIN або Event.MOUSE_DOWN) перевіряються по ієрархії дерева сцени послідовно  When a touch or mouse event occurs, Gideros dispatches an event object into the event flow from the root of the scene tree.
З іншого бокуEvent.ENTER_FRAME подія відправляється на всі об'єкти Sprite.
Якщо ви хочете визначити клас, який відправляє події, ви можете успадкувати свій клас від
EventDispatcher.

Приклади:

-- приклад 1
ClassA = Core.class(EventDispatcher)
ClassB = Core.class(EventDispatcher)

function ClassA:funcA(event)
 print("funcA", self, event:getType(), event:getTarget())
end

local a = ClassA.new()
local b = ClassB.new()

b:addEventListener("myevent", a.funcA, a) -- якщо b посилає  "myevent" подію,
          -- a.funcA буде викликаний з 'a'
          -- як перший параметр

b:dispatchEvent(Event.new("myevent"))  -- буде друкувати "funcA"


-- приклад 2
Ball = Core.class(Sprite)

function Ball:onEnterFrame()
 self:setX(self:getX()   1)
end

ball = Ball.new()
ball:addEventListener(Event.ENTER_FRAME, ball.onEnterFrame, ball)

Методи, евенти та властивості:

  Методи  
  EventDispatcher.new
  EventDispatcher:addEventListener
  EventDispatcher:dispatchEvent
  EventDispatcher:hasEventListener
  EventDispatcher:removeEventListener
Події
Event.APPLICATION_BACKGROUND
Event.APPLICATION_EXIT
Event.APPLICATION_FOREGROUND
Event.APPLICATION_RESIZE
Event.APPLICATION_RESUME
Event.APPLICATION_START
Event.APPLICATION_SUSPEND
Event.MEMORY_WARNING
  Успадковані методи
  Object:getBaseClass
  Object:getClass
  Object:isInstanceOf

Немає коментарів:

Дописати коментар