c++ - 在 C++ 中为代码执行添加延迟

标签 c++ cocos2d-x delay cocos2d-x-3.0

假设我需要延迟 2 秒调用一个函数。在 cocos2d-x 中你可以使用 Action :

auto action = Sequence::create(
    DelayTime::create(2), 
    CallFunc::create(
        [&]() {
            // here is the lambda function that does whatever you want after 2 seconds
        }
    ), 
    NULL
);

runAction(action);

但为了运行操作,您需要一个 Node,它并不总是可用的。有些类与 Node 无关。 所以我想知道在 C++11 中为代码执行添加延迟的跨平台方式是什么?

最佳答案

看起来这个问题已经结束了,无论如何你可以使用 Scheduler 来安排你的方法在 Cocos2dx 中随时被调用。 在您的类 init 方法中,在返回 true 之前执行类似这样的操作。

this->schedule(schedule_selector(HelloWorld::setGamePlaySpeed), .2);

并创建一个方法,将它作为 float dt 作为参数,如下所示。

void HelloWorld::setGamePlaySpeed(float dt){
 // do anything yo want... This method will be Called every .2 seconds
 }

现在 float dt 是您在调度程序中指定的 dt 时间。 希望这可以帮助任何人在未来寻找同样的问题......

关于c++ - 在 C++ 中为代码执行添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24662700/

相关文章:

c++ - 类外改变类的值

c++ - cocos2d-x 3.1 序列化int转字符串映射

iphone - UIWebView 用户交互(点击)延迟

java - JNI 上的 Java native 崩溃

c++ - 打印所有可能有 4 个字母的单词的时间太多

c++ - 使用 Cocos2d-x api 在 Android 上打开文件

ios - 在 “Confirm your in-app purchase” 对话框 ios 中显示不同的价格

Python PyGame 延迟

linux - ALSA 的 snd_pcm_delay() 究竟返回什么?

c++ - 即使不添加任何搜索路径,Codeblocks 如何找到我的头文件