首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何激活RawImage按钮点击在统一?

如何激活RawImage按钮点击在统一?
EN

Stack Overflow用户
提问于 2020-11-27 19:39:15
回答 1查看 958关注 0票数 0

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

我想添加一个缩略图上的按钮和点击按钮,RawImage将启动相应的视频。现在,它正像前面提到的那样工作,但如果我激活RawImage就好了。我不想在点击按钮之前看到RawImage。

就目前而言,这就是我所拥有的;

代码语言:javascript
复制
    RawImage rawImage1;
    public void StartVideoOne()
    {
        rawImage1.SetActive(true);
        videoPlayer.Play();

    }

但是,如果我试图在按钮RawImage调用时激活onClick,这不会启动视频。我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-27 22:40:45

首先,不能在SetActive引用上使用RawImage,它必须是一个GameObject。我想,虽然您只把它放在代码片段中,但是可以清楚地看到发生了什么。

我在简单的测试项目中设置了一个VideoPlayer,您的代码可以很好地激活对象并播放视频,下面是一些您可能忽略的内容:

  • ,你检查过你的按钮工作了吗?您的画布中有GraphicRaycaster组件吗?您是否通过检查器或代码订阅了按钮的onClick事件?场景中有EventSystem吗?
  • 如果在VideoPlayer中呈现模式是渲染纹理,那么是否将RawImage指定为目标纹理?

这是你需要拥有的一个例子:

和代码:

代码语言:javascript
复制
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();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65043013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档