C# 如何在Unity中单击按钮激活RawImage?
我刚开始学习Unity并尝试创建一个视频库,现在我创建了一个按钮,上面显示了红十字。更大的矩形是一个原始图像,保存着我的视频。 我想在按钮上添加一个缩略图,然后单击按钮,RawImage将启动相应的视频。目前,它正在工作,如前所述,但只要我激活RAWMAIGE。我不希望在单击按钮之前看到原始图像 现在这就是我所拥有的C# 如何在Unity中单击按钮激活RawImage?,c#,visual-studio,unity3d,user-interface,C#,Visual Studio,Unity3d,User Interface,我刚开始学习Unity并尝试创建一个视频库,现在我创建了一个按钮,上面显示了红十字。更大的矩形是一个原始图像,保存着我的视频。 我想在按钮上添加一个缩略图,然后单击按钮,RawImage将启动相应的视频。目前,它正在工作,如前所述,但只要我激活RAWMAIGE。我不希望在单击按钮之前看到原始图像 现在这就是我所拥有的 RawImage rawImage1; public void StartVideoOne() { rawImage1.SetActive(
RawImage rawImage1;
public void StartVideoOne()
{
rawImage1.SetActive(true);
videoPlayer.Play();
}
但如果我尝试在按钮onClick调用期间激活rawmimage,则不会启动视频。如何解决此问题?首先,您不能在
rawmimage
参考上使用SetActive
,它必须是GameObject
。我假设您只将其放在代码片段中,这样就可以清楚地看到发生了什么
我在simple test project中设置了一个VideoPlayer
,您的代码可以很好地激活对象并播放视频,因此以下是一些您可能错过的内容:
- 你检查过你的按钮了吗?画布中是否有
组件?您是否通过inspector或code订阅了button的GraphicRaycaster
事件?现场是否有onClick
EventSystem
- 如果
中的渲染模式为“渲染纹理”,是否将VideoPlayer
指定为目标纹理RawImage
public class PlaybackController : MonoBehaviour
{
public Button playButton;
public RawImage rawImage1;
public VideoPlayer videoPlayer;
private void OnEnable()
{
playButton.onClick.AddListener(StartVideoOne);
}
private void OnDisable()
{
playButton.onClick.RemoveListener(StartVideoOne);
}
private void StartVideoOne()
{
rawImage1.gameObject.SetActive(true);
videoPlayer.Play();
}
}
您是如何为rawimage赋值的?有错误吗?