cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)

本文详细介绍了cocos2dx 3.1中的Touch事件处理,包括回调函数的实现,如使用Lambda表达式,以及反向传值的方法。讲解了如何在游戏场景间传递回调函数以更新最高分。同时,涵盖了陀螺仪、键盘、鼠标和多点触控事件的响应,以及添加自定义消息响应EventListenerCustom和音效的添加与播放。
摘要由CSDN通过智能技术生成

第三讲 Touch

前面两篇我们学习的内容足够我们做一款简单的小游戏也可以说我们已经入门了可以蹒跚的走路了

本篇将讲解cocos2dx中很重要的touch回调机制你肯定记得第一章做定时器时间的时候用过CC_CALLBACK_1宏定义它让我们回调一个只有一个形参的函数来执行定时操作


回调函数的实现(Lambda表达式

学习本篇前请仔细学习一下C++11的特性std::functionlambda表达式。C++11还引入了很多boost库的优秀代码使我们在使用的时候不必再加boost::,比如将要使用的std::bind;

学习地址如下

C++11function使用

lua闭包,iosblock,C++lambda函数

 

简单的说一下function的使用统一的函数定义格式function<int(int,float)>就相当于一种数据类型只不过int是定义一个整形数function是定义一个函数

function<int(int,float)>func = [](int a ,float b){return a+b;};//定义一个函数,名为func,它的第一个形参是int,第二个形参是float,返回值是int类型。
int ret = func(3, 1.2f);

 

首先让我们来看一下CC_CALLBACK_的定义

// new callbacksbased on C++11
#defineCC_CALLBACK_0(__selector__,__target__, ...)std::bind(&__selector__,__target__, ##__VA_ARGS__)
#defineCC_CALLBACK_1(__selector__,__target__, ...)std::bind(&__selector__,__target__, std::placeholders::_1, ##__VA_ARGS__)
#defineCC_CALLBACK_2(__selector__,__target__, ...)std::bind(&__selector__,__target__, std::placeholders::_1,std::placeholders::_2, ##__VA_ARGS__)
#defineCC_CALLBACK_3(__selector__,__target__, ...)std::bind(&__selector__,__target__, std::placeholders::_1,std::placeholders::_2, std::placeholders::_3, ##__VA_ARGS__)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值