最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity 從Resources中動態(tài)加載Sprite圖片的操作

 更新時間:2021年04月12日 08:34:32   作者:愛尚游Bin  
這篇文章主要介紹了Unity 從Resources中動態(tài)加載Sprite圖片的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

 public  Sprite LoadSourceSprite(string relativePath)
    {
        //Debug.Log("relativePath=" + relativePath);
        //把資源加載到內(nèi)存中
        Object Preb = Resources.Load(relativePath, typeof(Sprite));
        Sprite tmpsprite = null;
        try
        {
            tmpsprite = Instantiate(Preb) as Sprite;
        }
        catch ( System.Exception ex )
        {
        }
        //用加載得到的資源對象,實例化游戲?qū)ο?,實現(xiàn)游戲物體的動態(tài)加載
        return tmpsprite;
        //return Resources.Load(relativePath, typeof(Sprite)) as Sprite;
    }

補充:Unity運行時動態(tài)加載本地圖片

一、Unity運行時加載本地文件夾下所有圖片的方法

用于在使用圖片前加載完成

//引入命名空間
using System;
using System.IO;
    /// <summary>
    /// 加載圖片的Byte[]數(shù)組
    /// </summary>
    /// <param name="filesName">地址</param>
    public List<byte[]> LoadImage(string filesName)
    {
        List<byte[]> list = new List<byte[]>();
        string tempPath ="E:\"+filesName;  // 圖片所在文件夾地址
        List<string> filePaths = new List<string>();
        string imgtype = "*.BMP|*.JPG|*.PNG";
        string[] ImageType = imgtype.Split('|');
        for (int i = 0; i < ImageType.Length; i++)
        {
            //文件夾下所有的圖片路徑  
            string[] dirs = Directory.GetFiles(tempPath, ImageType[i]);
            for (int j = 0; j < dirs.Length; j++)
            {
                filePaths.Add(dirs[j]);
            }
        }
        for (int i = 0; i < filePaths.Count; i++)
        {
            byte[] bs = getImageByte(filePaths[i]);
            list.Add(bs);
        }
        return list;
    }
    #endregion
    /// <summary>  
    /// 根據(jù)圖片路徑返回圖片的字節(jié)流byte[]  
    /// </summary>  
    /// <param name="imagePath">圖片路徑</param>  
    /// <returns>返回的字節(jié)流</returns>  
    private byte[] getImageByte(string imagePath)
    {
        FileStream files = new FileStream(imagePath, FileMode.Open,FileAccess.Read);
        files.Seek(0,SeekOrigin.Begin);
        byte[] imgByte = new byte[files.Length];
        files.BeginRead(imgByte,0,(int)files.Length,CallBack,files);
        return imgByte;
    }
    /// <summary>
    /// 異步加載
    /// </summary>
    /// <param name="ar"></param>
    void CallBack(IAsyncResult ar)
    {
        FileStream fs = ar.AsyncState as FileStream;
        fs.Close();
        fs.Dispose();
    }

用的時候:

List<byte[]> data=new  List<byte[]>();  //臨時接收圖片數(shù)據(jù)流
List<Texture2D> turList=new List<Texture2D>();  //保存圖片
data=加載類.LoadImage("測試圖片");
foreach (byte[] item in data)
{
   Texture2D tex = new Texture2D(100, 100, TextureFormat.RGBA32, false);  
   tex.LoadImage(item); //建議哪里調(diào)用哪里轉(zhuǎn)  還可轉(zhuǎn)精靈
   turList.Add(tex);  
}

二、臨時加載一張圖片

public static class ImageLoad {
         public static Texture2D LoadImageByte(string path){
            FileStream files=new FileStream (PathSet.dataPath+path,FileMode.Open,FileAccess.Read);
            files.Seek(0,SeekOrigin.Begin);
            byte[] imgByte=new byte[files.Length];
            //少量臨時加載會 紅問號 
            //files.BeginRead(imgByte,0,(int)files.Length,CallBack,files);
            files.Read(imgByte,0,imgByte.Length);
            files.Close();
            Texture2D tx=new Texture2D (512,512);
            tx.LoadImage(imgByte);
            return tx;
        }
       static void CallBack(IAsyncResult ar){
           FileStream fileStream=ar.AsyncState as FileStream;
            fileStream.Close();
            fileStream.Dispose();
       } 
    }

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 利用C#版OpenCV實現(xiàn)圓心求取實例代碼

    利用C#版OpenCV實現(xiàn)圓心求取實例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用C#版OpenCV實現(xiàn)圓心求取的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • C#基礎(chǔ)知識之字符串和正則表達式

    C#基礎(chǔ)知識之字符串和正則表達式

    目前為止許多編程語言和工具都包含對正則表達式的支持,C#也不例外,下面這篇文章主要給大家介紹了關(guān)于C#基礎(chǔ)知識之字符串和正則表達式的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • DevExpress實現(xiàn)自定義GridControl中按鈕文字內(nèi)容的方法

    DevExpress實現(xiàn)自定義GridControl中按鈕文字內(nèi)容的方法

    這篇文章主要介紹了DevExpress實現(xiàn)自定義GridControl中按鈕文字內(nèi)容的方法,需要的朋友可以參考下
    2014-08-08
  • C#獲取視頻某一幀的縮略圖的方法

    C#獲取視頻某一幀的縮略圖的方法

    這篇文章主要介紹了C#獲取視頻某一幀的縮略圖的方法,涉及執(zhí)行CMD命令及針對視頻文件操作的技巧,具有一定的實用價值,需要的朋友可以參考下
    2014-11-11
  • C#中的協(xié)變與逆變方式

    C#中的協(xié)變與逆變方式

    協(xié)變和逆變是C#中處理泛型類型參數(shù)可變性的兩個重要概念,協(xié)變允許將派生類型的泛型參數(shù)轉(zhuǎn)換為基類型的泛型參數(shù),而逆變允許將基類型的泛型參數(shù)轉(zhuǎn)換為派生類型的泛型參數(shù),通過協(xié)變和逆變,可以提高代碼的靈活性和可重用性,但也需要注意類型參數(shù)的限制和安全性
    2024-12-12
  • C#中Trim()、TrimStart()、TrimEnd()的用法介紹

    C#中Trim()、TrimStart()、TrimEnd()的用法介紹

    這篇文章主要介紹了C#中Trim()、TrimStart()、TrimEnd()的用法,有需要的朋友可以參考一下
    2014-01-01
  • C#多線程用法詳解

    C#多線程用法詳解

    本文詳細講解了C#多線程用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • C#使用StringBuilder實現(xiàn)高效處理字符串

    C#使用StringBuilder實現(xiàn)高效處理字符串

    這篇文章主要為大家詳細介紹了C#如何使用StringBuilder實現(xiàn)高效處理字符串,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C#使用is、as關(guān)鍵字以及顯式強轉(zhuǎn)實現(xiàn)引用類型轉(zhuǎn)換

    C#使用is、as關(guān)鍵字以及顯式強轉(zhuǎn)實現(xiàn)引用類型轉(zhuǎn)換

    這篇文章介紹了C#使用is、as關(guān)鍵字以及顯式強轉(zhuǎn)實現(xiàn)引用類型轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • C#詞法分析器之詞法分析的使用詳解

    C#詞法分析器之詞法分析的使用詳解

    本篇文章介紹了,C#詞法分析器之詞法分析的使用詳解。需要的朋友參考下
    2013-05-05

最新評論

班玛县| 精河县| 唐山市| 永新县| 黄龙县| 喜德县| 韶关市| 乌兰察布市| 濮阳市| 遂川县| 沧源| 冷水江市| 剑川县| 乌鲁木齐县| 昌邑市| 金乡县| 海安县| 蕲春县| 浙江省| 土默特左旗| 上林县| 合山市| 响水县| 乐山市| 西平县| 长岛县| 三穗县| 西盟| 泽普县| 调兵山市| 罗城| 府谷县| 沙湾县| 锡林郭勒盟| 辽源市| 拉萨市| 丰城市| 光泽县| 平凉市| 登封市| 钟祥市|