简单尝试 Cocos2d-x 中 Lambda 表达式
来源:互联网 发布:美国的种族歧视 知乎 编辑:程序博客网 时间:2024/05/29 02:38
最近学习 Cocos2d-x 3.x,在做触摸事件是用到了 Lambda 表达式
// 创建一个事件监听器类型为 OneByOne 的单点触摸 touchListen = EventListenerTouchOneByOne::create(); touchListen->onTouchBegan = [](Touch* touch, Event* event) -> bool { return false; }; // 添加监听器, 用完要记得 removeEventListener _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListen, this);
另一种写法是[]内加一个 = 号, [=]
[] 表示开始定义一个函数
-> bool 表示返回值, 可不写
网上搜索找到其他一些用法
[&] // 任何被使用到的外部参数皆隐式地以參考方式加以引用。
[=] // 任何被使用到的外部参数皆隐式地以传值方式加以引用。
[&, x] // x以传值方式加以引用。其余参数以參考方式加以引用。
[=, &z] // z以參考方式加以引用。其余参数以传值方式加以引用。
其他还没有试验,简单的说,[=] 时,函数体内可以直接使用本类的参数和方法, 比如
touchListen->onTouchBegan = [=](Touch* touch, Event* event) -> bool { this->addChild(sprite); return false; };
如果不写 = 号,这样会报错。有点类似 Objective-C 里的 GCD。
0 0
- 简单尝试 Cocos2d-x 中 Lambda 表达式
- Cocos2d-x开发实例:使用Lambda 表达式
- Cocos2d-x回调函数 Lambda表达式
- Cocos2d-x之lambda表达式的使用
- Cocos2d-x开发实例:使用Lambda 表达式
- Cocos2d-x v3.0 lambda表达式的使用
- Cocos2d-x v3.0 lambda表达式的使用
- C#中Lambda表达式的简单理解
- Lambda表达式简单使用
- Cocos2d-x v3.0 新的事件调度方法 lambda表达式的使用
- [cocos2d-x3.x学习笔记]lambda表达式 std::function CC_CALLBACK_ 事件回调实现
- Cocos2d-x v3.0 新的事件调度方法 lambda表达式的使用
- Cocos2d-x 用lambda表达式实现监听,改变精灵的透明度和层级
- c++0x:lambda 表达式
- c++0x lambda表达式
- Cocos2d-x中Socket的简单使用
- cocos2d-x游戏实例 《简单棋》入门尝试(一) 整体思路
- cocos2d-x游戏实例 《简单棋》入门尝试(二) 初始化程序界面
- 使用Google CPU Profiler对C/C++多线程程序做性能剖析
- 简述UIControl事件的用法
- 常用开发语言小技巧(一)
- HTML5摇一摇
- pandas学习(三)
- 简单尝试 Cocos2d-x 中 Lambda 表达式
- IOS开发入门书籍
- hdu 1250 Hat's Fibonacci
- 10110 - Light, more light
- C++ 虚函数 剖析
- 【leetcode】Gas Station
- java并发编程第四章 线程执行器(1)
- 有深度,面试有用的题
- java基础 第5章 隐藏实施过程