我刚开始学习团结,并试图创建一个视频画廊,因为现在,我创建了一个按钮与红十字显示在图像上。而更大的矩形是一个原始图像,它保存着我的视频。

我想添加一个缩略图上的按钮和点击按钮,RawImage将启动相应的视频。现在,它正像前面提到的那样工作,但如果我激活RawImage就好了。我不想在点击按钮之前看到RawImage。
就目前而言,这就是我所拥有的;
RawImage rawImage1;
public void StartVideoOne()
{
rawImage1.SetActive(true);
videoPlayer.Play();
}但是,如果我试图在按钮RawImage调用时激活onClick,这不会启动视频。我该如何解决这个问题?
发布于 2020-11-27 22:40:45
首先,不能在SetActive引用上使用RawImage,它必须是一个GameObject。我想,虽然您只把它放在代码片段中,但是可以清楚地看到发生了什么。
我在简单的测试项目中设置了一个VideoPlayer,您的代码可以很好地激活对象并播放视频,下面是一些您可能忽略的内容:
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();
}
}https://stackoverflow.com/questions/65043013
复制相似问题