cocos2dx 怎么在schedule的回调函数中加参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx 怎么在schedule的回调函数中加参数相关的知识,希望对你有一定的参考价值。

网上有说用这样的方法传参
scheduler->schedule(CC_CALLBACK_1(HelloWorld::Move, this, pTarget), this, 0.9f, 1, 0.1, false, name);
HelloWorld::Move(float f, Node* pTarget)
确实可以 但是其中 scheduler->schedule的第4个参数1是指的调用次数,api中的解释是
void Scheduler::schedule(const ccSchedulerFunc& callback, void *target, float interval, unsigned int repeat, float delay, bool paused, const std::string& key)
也就是unsigned int repeat这个参数是执行次数,我想让他无限次调用,而不是指定次数,怎么弄

直接写-1,这个数实际上是unsigned int的最大值,理论上是循环不完的,可以当无限次用。 参考技术A 首先构建一个需要向回调函数中传入参数的典型应用。

在一个页面中产生了一系列的向Ajax Proxy的请求,

传入的是一个ID ,根据ID返回了不同的内容值,

我们需要把这些内容打印在页面上,同时给页

面元素赋予ID ,这个时候就需要向回调函数中传入ID ,

怎么使用回调函数?

3. 怎么使用回调函数?
知道了什么是回调函数,了解了回调函数的特点,那么应该怎么使用回调函数?下面来看一段简单的可以执行的同步回调函数代码。
  1. #include<stdio.h>
  2. int Callback_1() // Callback Function 1
  3. {
  4.     printf("Hello, this is Callback_1 ");
  5.     return 0;
  6. }
  7. int Callback_2() // Callback Function 2
  8. {
  9.     printf("Hello, this is Callback_2 ");
  10.     return 0;
  11. }
  12. int Callback_3() // Callback Function 3
  13. {
  14.     printf("Hello, this is Callback_3 ");
  15.     return 0;
  16. }
  17. int Handle(int (*Callback)())
  18. {
  19.     printf("Entering Handle Function. ");
  20.     Callback();
  21.     printf("Leaving Handle Function. ");
  22. }
  23. int main()
  24. {
  25.     printf("Entering Main Function. ");
  26.     Handle(Callback_1);
  27.     Handle(Callback_2);
  28.     Handle(Callback_3);
  29.     printf("Leaving Main Function. ");
  30.     return 0;
  31. }
复制代码

运行结果:Entering Main Function.
Entering Handle Function.
Hello, this is Callback_1 
Leaving Handle Function.
Entering Handle Function.
Hello, this is Callback_2 
Leaving Handle Function.
Entering Handle Function.
Hello, this is Callback_3 
Leaving Handle Function.
Leaving Main Function.

以上是关于cocos2dx 怎么在schedule的回调函数中加参数的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce。

Cocos2dx学习笔记11:cocos2dx调度器(scheduler)

cocos2dx 3.x(点击屏幕移动精灵,拖动精灵)不需要写回调函数

cocos2dx 3.10 事件机制

深入了解cocos2d-x 3.x定时器(scheduler)的使用和原理探究

cocos2dx3.3 csb帧动画怎么加载