【发布时间】:2014-08-31 00:16:18
【问题描述】:
假设我需要调用一个延迟 2 秒的函数。在 cocos2d-x 中你可以使用动作:
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 中增加代码执行延迟的跨平台方式是什么?
【问题讨论】:
-
要添加到下面的@Shaktal 答案,我将 std::thread 子类化,这样我就可以使用自定义变量等实现,我用这些变量来决定线程的状态,如何处理它,等等。我还在游戏启动时创建了一堆线程,在特定时间运行特定任务。
-
@GameDeveloper 我不明白你的意思,抱歉。
-
你不明白什么?也许看看这个:solarianprogrammer.com/2011/12/16/cpp-11-thread-tutorial
标签: c++ cocos2d-x delay cocos2d-x-3.0