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