目标平台:Web
我们使用一个github上的库叫cubejs,主要功能是用来计算三阶魔方解法,原作者使用了webworker技术,动态载入一个solve.js,然后postMessage给这个worker让它执行初始化和求解
因为初始化需要生成一堆解法表,需时大约8秒,不能卡界面
现在creator里面如何使用webworker技术呢?以前是new Worker(js相对位置),现在经过Creator打包之后js的位置都变了,无法实现这个技术
请大神指教
目标平台:Web
我们使用一个github上的库叫cubejs,主要功能是用来计算三阶魔方解法,原作者使用了webworker技术,动态载入一个solve.js,然后postMessage给这个worker让它执行初始化和求解
因为初始化需要生成一堆解法表,需时大约8秒,不能卡界面
现在creator里面如何使用webworker技术呢?以前是new Worker(js相对位置),现在经过Creator打包之后js的位置都变了,无法实现这个技术
请大神指教
可能只能自己处理 worker.js 了。不要放到项目资源目录里,自己写下插件复制到构建后的目录里
感谢官方答复,我这边找到了一个折衷方法
我把worker.js用webpack打包好了,改名成txt文件放入resource,使用resource.load装入成TextAsset
然后把这个TextAsset.text创造一个blob,类型是javascript,再new Worker(URL.createObject(blob))这样子调用,效果非常好
我感觉这个方式可以为别的同学带来帮助
哈哈 这也太曲折了
真是曲折得离谱。收藏了。
把函数转成字符串丢进去就行了
楼主这个worker可以在小游戏和原生android ios运行吗?
怎么转字符串丢进去?
同问这个问题
转字符串丢进去应该就是类似与转txt文件的道理了
不行的,worker属于浏览器js的技术,在别的平台走不通