1.lua与c++之间的观察者模式
- 先在lua代码中注册观察者
CCNotificationCenter:sharedNotificationCenter():registerScriptObserver
(nil, handler(self, self.cocos2dResume), "APP_RESUME_COCOS2D_EVENT")
function MyApp:cocos2dResume()
//负责分发监听事件
self:dispatchEvent({name = "APP_RESUME_COCOS2D_EVENT"})
end
//监听事件
app:addEventListener("APP_RESUME_COCOS2D_EVENT",function ()
print("lua APP_RESUME_COCOS2D_EVENT")
end,"")
- 在c++代码中发送事件
CCNotificationCenter::sharedNotificationCenter()->postNotification("APP_RESUME_COCOS2D_EVENT");
2.使用handler()方法的作用
因为 C++ 无法识别 Lua 对象方法