当前位置: 首页 > 工具软件 > WorldSpace > 使用案例 >

【Unity】修改为WorldSpace后按钮无反应的问题

公良英资
2023-12-01

【Unity】修改为WorldSpace后按钮无反应的问题

需求:开发影院系统,希望对视频播放添加一些控制——缩放、快进快退、静音

环境:Unity2021.3、PicoNeo3ProEye

描述:已有对应的“进度条”、“静音”等UI按钮和对饮脚本,但Play后点击这些按钮无法实现对应功能

问题:Canvas为Overplay时视频面板时刻保持在面前且放大(此时按钮可以正常反应,但我不希望视频面板时刻保持在面前),修改为WorldSpace后点击按钮无反应

原因:Canvas的RenderMode是Overlay就可以,是Camera / WorldSpace就不行

1、Overlay:时刻保持在面前且放大

2、Camera:保持在相机前一定位置

3、WorldSpace:当作普通物体

临时解决的思路:跳过按钮点击的操作,用键盘按键控制

//键盘控制
void Control() {
    //静音
    if(Input.GetKeyDown(KeyCode.M)) {
        OnClickMuteBtn();
    }
    //暂停
    if(Input.GetKeyUp(KeyCode.Space)) {
        SetPauseImg();
    }
    //快退
    if(Input.GetKey(KeyCode.A)) {
        video_Slider.value -= 0.05f;
        videoPlayer.frame = long.Parse((video_Slider.value * videoPlayer.frameCount).ToString("0."));
    }
    //快进
    if(Input.GetKey(KeyCode.D)) {
        video_Slider.value += 0.05f;
        videoPlayer.frame = long.Parse((video_Slider.value * videoPlayer.frameCount).ToString("0."));
    }
}

如有帮助,麻烦动动手指点一下赞,感谢!

 类似资料: