码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2dx 3.x for lua "异步加载"实现过程

时间:2015-07-20 15:53:23      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:

在lua中,cocos2dx 建立的栈只能被一个线程(主线程)访问,如果在c++建立子线程,然后通过c++调用lua回调函数实现异步加载就会报错。

如果试图通过c++子线程直接实现加载资源,返回一个布尔值或者number类型通知lua实现回调,过程是不会显示问题,但c++开辟的子线程加载的

资源文件的内存地址,跟lua开辟的主线程加载资源文件的内存地址不一样,虽然已经加载,图片等资源信息已经存在代码内存中,但是主线程还是访问不到

资源内存,所以子线程加载的图片new 成Sprite都是黑色的。

 

 

所以lua通过异步加载是实现不了的,只能通过协同程序实现实现类似异步加载的效果,就是(加载一点,进度条增加一点),

代码地址如下链接:https://github.com/caolan/async

cocos2dx 3.x for lua "异步加载"实现过程

标签:

原文地址:http://www.cnblogs.com/HemJohn/p/4661357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!