纳金网
标题: AssetsBundle iOS相关操作 [打印本页]
作者: 烟雨 时间: 2015-12-19 06:43
标题: AssetsBundle iOS相关操作
制作
public static void CreateAssetBunldes()
{
Object[] SelectedAsset= Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
foreach (Object obj in SelectedAsset)
{
string sourcePath = AssetDatabase.GetAssetPath(obj);
string targetPath = Application.dataPath + "/StreamingAssets/" + obj.name + ".assetbundle";
if (File.Exists(targetPath)) File.Delete(targetPath);
if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies, BuildTarget.iPhone))
{
Debug.Log(obj.name + "资源打包成功");
}
else
{
Debug.Log(obj.name + "资源打包失败");
}
}
}
//访问 拷贝 加载
public GameObject mainui;
public GameObject uiroot;
void Start()
{
string dataPath = Application.streamingAssetsPath;
string path = dataPath + "/"+ "MainUi.assetbundle";
Debug.Log ("path ---" + path);
if (File.Exists (path)) {
dataPath = Application.persistentDataPath;
string PathURL = dataPath + "/Raw";
if (!Directory.Exists (PathURL))
Directory.CreateDirectory(PathURL);
PathURL += "/MainUi.assetbundle";
Debug.Log ("PathURL ---" + path);
if(!File.Exists(PathURL))
File.Create(PathURL);
File.Copy(path, PathURL,true);
Debug.Log ("move ok......");
} else {
Debug.Log("file not exits....");
}
//
}
void Update()
{
}
void OnGUI()
{
if (GUI.Button (new Rect (10, 10, 100, 100), "open ui")) {
Destroy(mainui);
// mainui = Instantiate(Resources.Load("MainUi")) as GameObject;
// if(mainui != null && uiroot != null)
// {
// mainui.transform.parent = uiroot.transform;
// mainui.transform.localPosition = Vector3.zero;
// mainui.transform.localScale = Vector3.one;
// }
StartCoroutine(DownloadAssetAndScene());
}
if (GUI.Button (new Rect (10, 110, 100, 100), "close ui")) {
if(mainui !=null)
{
Destroy(mainui);
}
}
}
IEnumerator DownloadAssetAndScene()
{
//下载assetbundle,加载Cube
// string Path = Application.streamingAssetsPath + "/MainUi.assetbundle";
//不同平台下StreamingAssets的路径是不同的,这里需要注意一下。
// string PathURL =
// #if UNITY_ANDROID
// "jar:file://" + Application.dataPath + "!/assets/MainUi.assetbundle";
// #elif UNITY_IPHONE
// Application.persistentDataPath + "/StreamingAssets/MainUi.assetbundle";
// #elif UNITY_STANDALONE_WIN || UNITY_EDITOR
// "file://" + Application.dataPath + "/StreamingAssets/MainUi.assetbundle";
// #else
// string.Empty;
// #endif
string dataPath = Application.persistentDataPath;
string PathURL = @"file://" + dataPath + "/Raw/"+ "MainUi.assetbundle";
Debug.Log ("path ==" + PathURL);
using (WWW asset = new WWW(PathURL))
{
yield return asset;
if(string.IsNullOrEmpty(asset.error))
{
AssetBundle bundle = asset.assetBundle;
mainui = Instantiate(bundle.Load("MainUi")) as GameObject;
if(mainui != null && uiroot != null)
{
mainui.transform.parent = uiroot.transform;
mainui.transform.localPosition = Vector3.zero;
mainui.transform.localScale = Vector3.one;
}
bundle.Unload(false);
}else
{
Debug.Log(asset.error);
}
}
}
欢迎光临 纳金网 (http://old.narkii.com/club/) |
Powered by Discuz! X2.5 |