cocos2dx中使用多线程

推荐使用pthreadcc,已经封装好了方法,很方便使用,并且不用担心线程的并发与死锁问题,之前开发android的时候

熟悉了一个类叫AsyncTask,今天自己也封装一个类似的类用来用项目开发的人调用。思路是:

传进去一个url或者pMsg,开启一个线程来执行网络请求,当获取到结果以后,通知主线程更新、

 

线程的使用很顺利,但是在线程与2dx相结合的时候,发现OpenGL渲染线程只允许在主线程中渲染,突然想到Android中

也是一样,刚开始的时候,跟本不显示2dx绘图中的任何图片。

 

后来,把线程与CCLayer封装,有效果了,但是OpengGL渲染受到了影响,渲染的图片每次都是一个黑色的框,没有

色彩,很郁闷。

 

借助自己对OpengGL的一些了解,以及手游戏 开发的一些经验,突然想到先2dx先渲染,然后再执行线程,修改完代码

执行,已经完好。

 

Tip:OpenGL与线程相结合时,此时你需要把你需要渲染的精灵先加载到内存中去,可以设置成为不显示,然后在线程执行后

再设置精灵成显示状态,这样可以解决线程与OpneGL渲染不兼容的问题

 

效果图:

执行前,弹出对话框提示加载,此时已经进入异步加载状态

 

 

当 执行完后,通知主线程来更新:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值