在开发过程中我们很可能需要使用到动态加载
这样一方面可以节省性能 另一方面使我们的开发过程更加便捷
我之前写过一篇游戏中音效控制器 可以很方便的播放音效 就是用Resources
传送门
大家如果有兴趣可以参考
然后这篇博客实现以下使用Resources.load来动态加载预制体
以及给我们的Image或者是RawImage或真实SpriteRenderer来赋值
首先创建一个文件夹Resources(名字一定一定不要写错)
然后我们首先实现Image等的赋值
实现Image RawImage SpriteRenderer等的赋值
我们在上边创建的文件夹中导入一张图片
这里的格式我们可以换也可以不换(换了以供Image和SpriteRenderer的使用,不换的话只能RawImage的使用)
Image和RawImage的区别
然后在代码中使用语句来动态赋值了
public RawImage a;
public Image b;
public SpriteRenderer c;
private void Start()
{
a.GetComponent<RawImage>().texture = Resources.Load<Texture>("picture");//给RawImage赋值
b.GetComponent<Image>().sprite = Resources.Load<Sprite>("picture");//给Image赋值
c.GetComponent<SpriteRenderer>().sprite= Resources.Load<Sprite>("picture");//SpriteRenderer赋值
}
在这里我提一下如果想要给Image和SpriteRenderer赋值
文件夹下面的格式必须改为Sprite(2D andUI)否则没有反应(不会报错)
上边的语句都是我亲自测试过的 大家可以放心采用
动态添加预制体
首先我们在Resources文件夹下创建一个预制体
然后在代码中可以实例化出来(实现动态添加)
Object cs = Resources.Load("Cube", typeof(Object));
Object t = Instantiate(cs) as Object;
上边两句在Start里边写
场景中会自动加载出一个物体(Cube)
好了 这篇博客就介绍到这了 主要介绍了一下Resources的简单的使用
希望对大家有帮助、
不出意外我还会更新下一篇关于动态加载的博客
如果你也喜欢游戏开发 欢迎关注我 我会在这里持续更新我的学习过程