推荐使用pthreadcc,已经封装好了方法,很方便使用,并且不用担心线程的并发与死锁问题,之前开发android的时候
熟悉了一个类叫AsyncTask,今天自己也封装一个类似的类用来用项目开发的人调用。思路是:
传进去一个url或者pMsg,开启一个线程来执行网络请求,当获取到结果以后,通知主线程更新、
线程的使用很顺利,但是在线程与2dx相结合的时候,发现OpenGL渲染线程只允许在主线程中渲染,突然想到Android中
也是一样,刚开始的时候,跟本不显示2dx绘图中的任何图片。
后来,把线程与CCLayer封装,有效果了,但是OpengGL渲染受到了影响,渲染的图片每次都是一个黑色的框,没有
色彩,很郁闷。
借助自己对OpengGL的一些了解,以及手游戏 开发的一些经验,突然想到先2dx先渲染,然后再执行线程,修改完代码
执行,已经完好。
Tip:OpenGL与线程相结合时,此时你需要把你需要渲染的精灵先加载到内存中去,可以设置成为不显示,然后在线程执行后
再设置精灵成显示状态,这样可以解决线程与OpneGL渲染不兼容的问题
效果图:
执行前,弹出对话框提示加载,此时已经进入异步加载状态
当 执行完后,通知主线程来更新: