lua -- handler
handler 将 Lua 对象及其方法包装为一个匿名函数。 格式: 函数 = handler(对象, 对象.方法)
在 quick-cocos2d-x 中,许多功能需要传入一个 Lua 函数做参数,然后在特定事件发生时就会调用传入的函数。例如触摸事件、帧事件等等。 local MyScene = class("MyScene", function()
return display.newScene("MyScene")
end) function MyScene:ctor()
self.frameTimeCount =
-- 注册帧事件
self:scheduleUpdate(self.onEnterFrame)
end function MyScene:onEnterFrame(dt)
self.frameTimeCount = self.frameTimeCount + dt
end
上述代码执行时将出错,报告“Invalid self”,这就是因为 C++ 无法识别 Lua 对象方法。因此在调用我们传入的 self.onEnterFrame 方法时没有提供正确的参数。 要让上述的代码正常工作,就需要使用 handler() 进行一下包装: function MyScene:ctor()
self.frameTimeCount =
-- 注册帧事件
self:scheduleUpdate(handler(self, self.onEnterFrame))
end
实际上,除了 C++ 回调 Lua 函数之外,在其他所有需要回调的地方都可以使用 handler()。
lua -- handler的更多相关文章
- Nginx+lua+openresty精简系列
1. CentOS系统安装openresty 你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum update 命令).运行下面的 ...
- cocos2d-x 2.x版本接入bugly的总结
最开始项目使用的是自己DIY的很简陋的上报系统,后来改成google breakpad来上报,发现其实都做的不太理想,游戏引擎因为版本历史问题存在一些崩溃问题.后来3.x接入了bugly,我这边抽了几 ...
- ngx.ctx
https://github.com/openresty/lua-nginx-module#ngxctx 要点 生命周期和请求一致 每个请求的ngx.ctx是相互独立的,包括ngx.location. ...
- nginx HttpLuaModule
http://wiki.nginx.org/HttpLuaModule#Directives Name ngx_lua - Embed the power of Lua into Nginx This ...
- kong插件官方文档翻译
kong插件官方文档翻译 目录 介绍 文件结构 编写自定义逻辑 存储配置 访问数据存储 自定义实体 缓存自定义实体 扩展Admin API 编写测试 (卸载)安装你的插件 插件开发 - 介绍 什么是插 ...
- quick-cocos2d-x 实现在lua里面完成android支付宝的接入
quick-cocos2d-x 实现在lua里面完成android支付宝的接入 一.支付宝注册是很麻烦的一个过程,本文就不解释了,想了解的去官网看下注册流程.然后下载他们的sdk-WS_SECURE_ ...
- Lua 与 Redis
Lua 与 Redis 标签: Java与NoSQL 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis - 案例-实现访问频率限制: 实现访问者 $ip 在一定的 ...
- 使用lua实现一个简单的事件派发器
设计一个简单的事件派发器,个人觉得最重要的一点就是如何保证事件派发过程中,添加或删除同类事件,不影响事件迭代顺序和结果,只要解决这一点,其它都好办. 为了使用pairs遍历函数,重写了pairs(lu ...
- lua以xpcall实现try/catch功能
-- 打印错误信息 local function __TRACKBACK__(errmsg) ); print("-------------------------------------- ...
随机推荐
- 转 ImageMagick及PHP的imagick扩展的安装及配置
imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的API Image ...
- Linux和windows下内核socket优化项 (转)
问题: No buffer space available Linux: vi /etc/sysctl.conf net.core.netdev_max_backlog = 30000 每个网络接口 ...
- 自制小工具含源码——SPTC上海交通卡余额查询
说明 需求 开发 其他
- data1是字符串?需要加上引号
07-22 15:55:29.832: E/AndroidRuntime(23914): FATAL EXCEPTION: main 07-22 15:55:29.832: E/AndroidRunt ...
- Nginx 日志改成 JSON 格式
Nginx 日志默认为普通文本的格式,例如,下面是 Nginx 的一行访问日志: 10.88.122.105 - - [02/Dec/2017:09:15:04 +0800] "GET /j ...
- Oracle 9i 10g 11g 区别的转载
下面看看9i.10g.11g版本的区别 Oracle 10g比9i多的新特性? 1. 10g支持网格计算,即多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个 网格中衡(L ...
- 20 道 Spring Boot 面试题
转自:微信公众号:Java技术栈(id: javastack) 面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段 ...
- Navicat sqlserver2016 08001
环境: Windows10(主机是联想的) SqlServer2016 Navicat11 错误: 启动SqlServer各种服务, 端口1433 没错, Navicat连接时08001错误 分析: ...
- 【转】windows平台多线程同步之Mutex的应用
线程组成: 线程的内核对象,操作系统用来管理该线程的数据结构. 线程堆栈,它用于维护线程在执行代码时需要的所有参数和局部变量. 操作系统为每一个运行线程安排一定的CPU时间 —— 时间片.系统通 ...
- elk之elasticsearch 入门
一.概述: 1.查看elasticsearch集群的健康状况: [root@node115 kibana]# curl -X GET http://192.168.39.115:9200/_cat/h ...