Unity3D中Resources动态加载图片

这篇具有很好参考价值的文章主要介绍了Unity3D中Resources动态加载图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:unity的Resources动态加载就不必多说了,这里出现的问题是当我把图片放入Resources文件夹后,使用Resources.Load(datapath)却并没有出现图片。


分析:由于你放在文件夹下的是图片,是Texture2D类型,但是实际用在u3d中的是sprite,所以需要转换类型。
方式:

1.在代码中先行创建Texture2D变量,获取外部图片,利用已完成的该变量之后创建sprite
2.直接在unity中将图片转为sprite,然后直接调用

编辑器设置

Unity3D中Resources动态加载图片

 代码

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;

public class LoadTest : MonoBehaviour
{
    public Image image;
    public Button btn_up;
    public Button btn_down;

    void Start()
    {
        btn_up.onClick.AddListener(Btn_up);
        btn_down.onClick.AddListener(Btn_down);
    }

    void Btn_up()
    {
        ShowImage("前");
    }
    void Btn_down()
    {
        ShowImage("后");
    }

    /// <summary>
    /// 显示图片
    /// </summary>
    /// <param name="imageName"></param>
    public void ShowImage(string imageName, bool isShow = true)
    {
        if (imageName == null)
        {
            Debug.Log("Panel_serverResponseImage:地址:ShowImage:服务器响应的图片名称为空");
            return;
        }
        else
        {
            string path = "Image/" + imageName;

            Texture2D imageLoad = Resources.Load(path) as Texture2D;

            Debug.Log("Panel_serverResponseImage:地址:ShowImage:imageLoad:" + imageLoad);

            if (imageLoad == null)
            {
                Debug.Log("Panel_serverResponseImage:地址:ShowImage:服务器响应的图片加载为空");
            }
            else
            {
                Sprite texSprite= Sprite.Create(imageLoad, new Rect(0, 0, imageLoad.width, imageLoad.height), new Vector2(0.5f, 0.5f));
                image.GetComponent<Image>().sprite = texSprite;
            }
        }
    }

}

实际运行 

Unity3D中Resources动态加载图片

 文章来源地址https://www.toymoban.com/news/detail-508650.html

到了这里,关于Unity3D中Resources动态加载图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity3D插件】动态连线插件CustomWire,使用教程

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 CustomWire 插件可以在Unity3D中实现动态连线,将三维物体通过线段连接到一起。 可以添加多个节点,以

    2024年02月08日
    浏览(123)
  • 【Unity3D日常BUG】Unity3D打包WEBGL平台运行出现无法解析gzip、构建压缩等问题

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 在Unity3D中打包WEBGL运行出现这样的错误: 具体分析: 1、无法解析xxx.gz文件 2、启用了构建压缩,但是

    2024年02月07日
    浏览(58)
  • Unity3D开发之刚体休眠问题

    我们在开发的时候会遇到这个问题:两个带有刚体和collider的静止物体相互接触,在挂有OnCollisionStay()函数中debug,只有程序刚运行的时候会有二十多个log,之后就再也没有输出。原以为是unity版本bug,后来查询资料发现这是unity的优化机制。 When a Rigidbody moves at a slower speed th

    2024年02月12日
    浏览(45)
  • 多层Unity3D物体模型穿透问题处理

    如图,当我们想要在同一个界面中展示两层或以上3D物体时,有时会因为第一层物体材质上的 shader 渲染深度被破坏或其它原因导致第一层的物体穿透到第二层界面上来了。 在 Scene 视图中这三个橙色球体原本是在第二层黄色背景之下的: 但是在 Game 视图中我们发现那三个橙色

    2024年02月02日
    浏览(68)
  • [unity3d][通过代码]让模型移动,动态改变模型位置,点对点移动

    阅读时长 : 10分钟 阅读难度 : 初级 阅读收获 : 可以在unity自由的完成点对点的移动过程 例子地址 : https://gitee.com/asiworld/unity3d-basic-function-code 直接修改 gameobject 的 position 内容,当然物体实际存在的有localposition和worldposition,具体要使用哪个要看需求是怎么样的 在hierarchy视图中创

    2023年04月24日
    浏览(59)
  • Unity3D打包Assetbundle丢失Shader问题

    详情见:https://www.pianshen.com/article/5391338163/ 1、Unity3D在打包Assetbundle时,可能会遇到Shader丢失的问题,解决方法:打开 Edit-Project Settings-Graphics,在Always Included Shaders列表添加上所需的shader ,再打包即可。 2、参考 3、原文复制 Scriptable RenderLoop settings This is an experimental setting wh

    2023年04月22日
    浏览(60)
  • unity3d:asset store上C#代码热重载插件,不需要重运行,重新加载更新后函数

    https://assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-250972?clickref=1011lwHg8abvutm_source=partnerizeutm_medium=affiliateutm_campaign=unity_affiliate#description ●方法1:通过导航到Unity菜单栏中的“窗口”打开热重装窗口,然后选择“热重装”。 ●方法2:使用快捷键组合“Alt+Shift

    2024年02月02日
    浏览(52)
  • 【解决】FBX模型导入Unity3D贴图丢失问题

    1、选择“Materials” 2、Location选择“Use External Materials(Legacy)” 3、最后点击“Apply”  

    2024年02月15日
    浏览(60)
  • Unity3D 升级2020版VR开发的一些问题

    1.Unity3D 2020版VR已经整合到XR中并统一以插件包形式提供 在Unity2020版本以前,打开VR功能是在Player Setting中勾选Virtual Reality Supported选项,并加载需要的VR SDK库 Unity2020版本内建的XR Settings功能已经取消,统一通过XR Plugin Management插件包形式提供 安装插件包以后可以选择安装需要的

    2024年02月06日
    浏览(42)
  • Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)

    通过一段时间的基于minigame-unity-webgl-transform插件的开发,算是稍微完整的一小个游戏已经制作完成,具体大家可以扫码体验一下: 感谢支持!! 之前编写了一篇u3d转微信小游戏开发教程的博客,虽然这个公测插件还有很多问题,我个人也在一直使用中。开发一个游戏后,最佳

    2023年04月10日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包