我可以使用cocos2d-x调度程序来延迟一行代码吗
Can I use the cocos2d-x scheduler to delay a single line of code?
我实际上是在尝试将对对象的修改延迟10秒。
这是我认为可能有效的:
this->scheduleOnce(schedule_selector(customer->setBusy(false)), 10000);
但我得到了一个编译器错误:
Lvalue required as unary '&' operand
有没有一种简单的方法可以延迟一行代码?也许只使用c++命令会更有效率,但sleep
命令也会给我带来问题。
你需要像这个一样写一次scheduler
在.h文件中,您声明
void myModification(float dt);
.cpp文件中的
this->scheduleOnce(schedule_selector(&MyClass::myModification), 10.0f);
void Myclass::myModification(float dt)
{
//your code
}
所有这些都在cocos2d-x 2.2 中
您需要用这一行代码生成一个函数,因为您无法将值传递给选择器函数。这样的东西:
this->scheduleOnce(schedule_selector(MyClass::myModification), 10.0f);
然后你就会有一个带有修改代码的函数
void MyClass::myModification(float dt)
{
customer->setBusy(false);
// Whatever other stuff you want run.
}
此外,结束时的延迟是以秒为单位测量的,而不是以毫秒为单位。所以你可能已经等了几个小时了。
如果您的类派生自Node,您还可以通过创建回调并从序列中调用它来实现这一点。如果您需要创建动作链或将游戏事件与动作序列同步,这是一个有用的模式。(Cocos版本3+)
const float myDelay = 1.0f;
this->runAction( Sequence::create(
DelayTime::create(myDelay),
CallFunc::create(CC_CALLBACK_0(MyClass::MyFunction, this)),
nullptr));
this->scheduleOnce它只能使用自己的方法
相关文章:
- 读取最后一行代码算法 - c++ 时出现问题
- 需要将一行代码从C++ Qt翻译成PyQt
- 在一行代码中理解 index++
- 我可以在一行代码中将向量中与条件匹配的所有元素插入到集合中吗?
- a = !5 < a;在这一行代码中究竟做了什么?
- std::vector 从一行代码清空到下一行代码
- 我如何使一行代码可以选择,但在已经选择过一次后不重新选择
- C++在 while 循环后添加一行代码会导致错误
- 一行代码的Arduino运行时间
- 如何在一行代码中使用花括号语法创建带有QJsonObjects的QJsonArray
- 是否可以使用一行代码从 std::cin 中提取格式化输入
- 有人可以解释一下工会在这一行代码中是如何工作的,以及数字是如何交换的
- 如何用一行代码连接两个矢量
- 为什么在这一行代码中同时使用 EOF 和 '