下面代码列出了对于assetbundle资源的常用操作,其中有针对bundle、asset、gameobject三种类型对象的操作,实际使用中尽量保证成对使用。
这一块的操作比较繁琐,但只要使用正确,是可以保证资源完全没有泄露的。
using UnityEngine;
using System.Collections;
public class TestAssetBundle : MonoBehaviour
{
public string AssetBundleName = "cube1.assetbundle";
private string dir = "";
private AssetBundle bundle = null;
private UnityEngine.Object asset = null;
private GameObject go = null;
private void Start() { dir = Application.dataPath + "/StreamingAssets/"; }
private void OnGUI()
{
// 这些操作一遍走下来,申请的资源是可以完全回收的
if (GUILayout.Button("LoadAssetBundle", GUILayout.Width(200), GUILayout.Height(50))) { LoadBundle(); }
if (GUILayout.Button("LoadAsset", GUILayout.Width(200), GUILayout.Height(50))) { LoadAsset(); }
if (GUILayout.Button("Instantiate", GUILayout.Width(200), GUILayout.Height(50))) { I