美文网首页
不同平台动态加载streamasset下图片

不同平台动态加载streamasset下图片

作者: 凌晨还梦 | 来源:发表于2019-12-03 14:30 被阅读0次

动态加载图片,主要是不同平台WWW访问streamingAssetsPath 不同,需要注意:

    public UITexture m_logoLoadTexture;
    public string m_texturePath;
    void Awake()
    {
         StartCoroutine(ChangeTexture(m_texturePath));
    }

    IEnumerator ChangeTexture(string texturePath)
    {
        //先检查指定路径是否有该枚举资源,有就替换
        m_logoLoadTexture.gameObject.SetActive(false);
        string path = Application.streamingAssetsPath + "/" + texturePath + ".png";       
        if (!File.Exists(path))
        {
            Debug.LogError("ios 环境下动态加载xy_mask_game_logo 资源不存在");
            yield return null;
        }
#if UNITY_ANDROID && !UNITY_EDITOR
        path = path;
#elif UNITY_IPHONE && !UNITY_EDITOR
        path ="file://" + path;
#elif UNITY_STANDLONE_WIN||UNITY_EDITOR
        path = "file://" + path;
#endif
        WWW www = new WWW(path);
        while (!www.isDone)
        {
            yield return www;
        }
        if (!string.IsNullOrEmpty(www.error))
        {
            Debug.LogError("动态加载资源错误");
        }
        if (!string.IsNullOrEmpty(www.text))
        {
            Texture loadedTexture = www.texture;
            int widthpix = loadedTexture.width;
            int heithpix = loadedTexture.height;
            m_logoLoadTexture.mainTexture = loadedTexture;
            m_logoLoadTexture.width = widthpix;
            m_logoLoadTexture.height = heithpix;
            m_logoLoadTexture.gameObject.SetActive(true);
        }
    }

附上byte数组转为texture的方法

    public static Texture2D byte2texture(byte[] bytes)
    {
        if (bytes == null)
        {
            return null;
        }
        Texture2D t2d;
        t2d = new Texture2D(0, 0, TextureFormat.RGB24, false);
        t2d.LoadImage(bytes);
        t2d.wrapMode = TextureWrapMode.Clamp;
        return t2d;
    }

相关文章

  • 不同平台动态加载streamasset下图片

    动态加载图片,主要是不同平台WWW访问streamingAssetsPath 不同,需要注意: 附上byte数组转...

  • 2019-06-29

    动态加载图片 ImageView picsimageView = new ImageView(context); ...

  • 加载自定义bundle中资源

    bundle 存储资源(图片、xib、storyboard) 加载bundle有很多方式 .a静态库加载 动态库加载方式

  • Android动态切换不同的图片加载框架

    前言 主要是参考了这篇文章链接,增加了一个builder构造器形式的构建参数以及对应的策略模式 1.先来讲讲策略模...

  • Weex加载图片-Android篇

    Weex加载图片 写在前面 这里只关注Android平台,对ios平台研究的不多,针对不同的平台,可能要做一些微调...

  • Glide的简单使用

    Glide加载不同位置的图片 加载git 图片 加载本地视频。(表示没试过) Glide的缓存 图片加载优先级:递...

  • Android Picasso分析

    Picasso是Square公司开源的一个Android平台上的图片加载框架 核心类: Picasso:负责图片下...

  • lazyload 图片懒加载

    图片懒加载,支持动态新增图片 步骤一 修改需要懒加载的图片的属性,增加一个名称为lazyload的class 步骤...

  • vue动态加载图片

    vue中加载图片出现了加载不成功的情况,多次测试发现了问题所在,首先对于静态图片要使用相对路径,并且地址要相当准确...

  • 动态加载图片资源

    动态加载资源管理器的资源 就要在assets目录下 建立一个Resources文件夹 把要替换的源文件放到里面 然...

网友评论

      本文标题:不同平台动态加载streamasset下图片

      本文链接:https://www.haomeiwen.com/subject/lhpcgctx.html