cocos2dx——scheduleOnce中回调delay函数添加参数

本文介绍了在cocos2d-x中如何在使用scheduleOnce进行延时调用时,添加参数到回调函数。通常scheduleOnce只能调用不带参数的函数,但通过使用std::function和CC_CALLBACK_n系列,可以解决多参数问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在以往的学习经验中,scheduleOnce中可以用以下方法,来实现延时调用函数


scheduleOnce(SEL_SCHEDULE selector, float delay);


此时回调函数只能调用delay函数(包含一个参数)


再次强调一下,这个回调函数不能调用你实例中的成员变量,因为是类直接调用函数,而非实例调用,所以不能得到相应的成员变量值!!!不能被骗啦

其次,没法添加其他参数,这么就造成了很多使用的不便


之后在编辑代码时,看到了scheduleOnce还有另一种使用方法

scheduleOnce(const std::function<void (float)>&callback, float delay, const std::string &key)


这个方法可以在scheduleOnce中加入CC_CALLBACK_n系列的回调函数,因为是function集合,那么可以用{CC_CALLBACK_0(),……}这种方法当第一个参数传入,

这样就可以解决scheduleOnce中回调函数多参数的问题了


ey)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值