手游项目资源下载是很普遍的事,抽空也把项目中遇到的问题和经验和大家分享,避免更多的人走弯路。
1.资源打包
网上Unity资源打包的代码很多,但是需要注意的是必须针对不同版本打包,也就是说在程序中要区分平台,比如:android和Ios平台,如果版本错误Untiy本身就不能识别。
2.资源下载
一般现在都是采用Unity自带的www下载,但是如果文件比较大就会导致UI卡顿,降低了用户地体验。我的建议是使用C#本身的下载方式,采用多线程异步下载,然后不停的通知UI层update方法显示滚动条。
一下就是上述两种步骤的解决方案:
1、Assets/Editor下面放入编辑器使用的菜单代码,代码如下:
@MenuItem("Tools/Build Streamed Asset Bundle")
static function ExportResource () {
var path = EditorUtility.SaveFilePanel ("Build Bundle", "", "*", "unity3d");
if (path.Length != 0)
{
var levels : String[] = ["Assets/mybundlelevel.unity"];
BuildPipeline.BuildStreamedSceneAssetBundle (levels, path, BuildTarget.Android);
}
}