gpt4 book ai didi

c++ - cocos2d-x:无法从另一个线程加载 Sprite ,任何模式?

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:39 25 4
gpt4 key购买 nike

我的计划的事实

  1. Cocos2d-x 主循环在它自己的线程中运行。我们称它为 cocos2d-x-thread
  2. 我有一个在自己的线程中运行的task_scheduler,您可以在其中提交轻量级任务。我们称它为task_scheduler-thread
  3. 每 x 毫秒,task_scheduler 线程会发出一个回调。我们称它为task_scheduler-tick-callback

我想做什么

我想在发出 task_scheduler-tick-callback 时加载一个 sprite,但我无法从该线程执行此操作,因此我将不得不提交某种工作cocos2d-x 线程执行。

问题

  1. 如何让 cocos2d-x-thread 在接收到这个work 时执行?因为 cocos2d-x 已经在运行自己的循环,所以我想不惜一切代价避免将自定义代码注入(inject) cocos2d-x 生成的项目

有什么模式吗?

编辑:想法 -> 在 cocos2d-x 中为每个循环迭代调用的任何回调函数?那存在吗?我可以像那样将调用集成到我的作品中。

最佳答案

使用它在主线程中执行您的代码:

Director::getInstance()->getScheduler()->performFunctionInCocosThread([]{
// your code
});

关于c++ - cocos2d-x:无法从另一个线程加载 Sprite ,任何模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com