在NGUI中,我们可以直接用spriteName = “想要替换的图片名称”; 就可以很方便的替换资源
而UGUI却相对要麻烦一点,下面为大家介绍比较常用的三种替换方式。
一、
[C#]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
using
UnityEngine;
using
System.Collections;
using
UnityEngine.UI;
public
class
Test : MonoBehaviour
{
[SerializeField]
Image myImage;
// Use this for initialization
void
Start()
{
myImage.sprite = Resources.Load(
"Image/pic"
,
typeof
(Sprite))
as
Sprite;
// Image/pic 在 Assets/Resources/目录下
}
}
|
二、
[C#]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
using
UnityEngine;
using
System.Collections;
using
UnityEngine.UI;
public
class
Test : MonoBehaviour
{
[SerializeField]
Image myImage;
[SerializeField]
Sprite mySprite;
// Use this for initialization
void
Start()
{
myImage.sprite = mySprite;
// mySprite 为外部指定的图片资源
}
}
|
三、
[C#]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
using
UnityEngine;
using
System.Collections;
using
UnityEngine.UI;
public
class
Test : MonoBehaviour {
[SerializeField]
Image myImage;
// Use this for initialization
void
Start () {
StartCoroutine(GetImage());
}
IEnumerator GetImage()
{
string
url =
"http://www.5dbb.com/images/logo.gif"
;
WWW www =
new
WWW(url);
yield
return
www;
if
(
string
.IsNullOrEmpty(www.error))
{
Texture2D tex = www.texture;
Sprite temp = Sprite.Create(tex,
new
Rect(0, 0, tex.width, tex.height),
new
Vector2(0, 0));
myImage.sprite = temp;
}
}
}
|
我们要根据情况去选择使用哪种替换方式。