求助addEventListener,报错

function Pet:ctor()
self.node=display.newNode()
local cls = Pet
eventnode=cc.EventProxy.new(self,self.node)
printf("开始 "…self.BUFFCHANGE_EVENT)
eventnode:addEventListener(self.BUFFCHANGE_EVENT, function(event)
end)
printf(“完成”)
end

报错addEventListener 为空,在系统函数,下面的第二行
function EventProxy:addEventListener(eventName, listener, data)
local handle = self.eventDispatcher_:addEventListener(eventName, listener, data)
self.handles_#self.handles_ + 1] = {eventName, handle}
return self
end

cc(self):addComponent(“components.behavior.EventProtocol”):exportMethods()

类似这样的一句,没有调过吧

self.node=display.newNode()
cc(self.node):addComponent("components.behavior.EventProtocol"):exportMethods()
self.node:addComponent("components.behavior.EventProtocol"):exportMethods()
printf("开始        "..self.BUFFCHANGE_EVENT)
self.node:addEventListener(self.BUFFCHANGE_EVENT, handler(self,self.onBuffChange_))
printf("完成")

end
这样好了…谢谢

前辈,dispatchevent报错 空方法
function Pet:buffControl()
printf(Pet2.pastbuff…"…"…Pet2.pastbuff)
if self.pastbuff~=self.buff or self.pastbuff~=self.buff then
printf(“BUFF改变”)
self:dispatchEvent({name = self.BUFF_CHANGE_EVENT})
end
self.pastbuff=clone(self.buff)
end