【发布时间】:2016-07-08 13:00:24
【问题描述】:
我有一个脚本,每秒固定次数改变物体的纹理(比如电视上的飞机):
public Texture[] frames; // array of textures
public float framesPerSecond = 2.0f; // delay between frames
void Update()
{
int index = (int)(Time.time * framesPerSecond) % frames.Length;
GetComponent<Renderer>().material.mainTexture = frames[index];
}
使用此脚本,我可以更改平面、四边形等的纹理。但我需要为画布图像更改它。我无法更改“图像”脚本。我应该访问此脚本的值“源图像”吗?对吗?
是这样,我怎样才能访问Image 组件?我不能写这个:
Image image = GetComponent<Image>();
【问题讨论】:
-
我无法测试以下内容,这就是我不将其作为答案的原因。您需要添加
using Unityengine.UI并且您可以使用类似于GetComponent<Image>().setImage = someImage;的内容 -
@Rana 我不知道你从哪里得到 setImage ......
-
这完全出乎我的意料 XD。我说这是“顺理成章”......我检查了你的财产叫
sprite。所以你可以这样做GetComponent<Image>().sprite = someSprite;我可能错了......
标签: c# user-interface canvas unity3d