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

来源:互联网 发布:数控编程待遇 编辑:程序博客网 时间:2024/04/29 10:27

在以往的学习经验中,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)


0 0