Unity webgl js 弹出文件对话框

webgl平台的文件对话框,unity只提供了编辑器模式下的,导入dll打包后会报错。

思路:c#可以调用js的代码

通过DOM生成一个input file按钮,调用click可以弹出。

但是问题:

游览器安全设置,无法模拟点击file按钮,在console里面可以跳出对话框,但是代码调用没有办法执行,必须点击按钮。

unity用UGUI拼的Button,点击触发事件可以加,不想点击两次,只能做一个开关。

Button 的 PointerEnter , PointerExit 事件,调用js脚本add或者删除事件,给body注册input的执行事件。当移动鼠标到UGUI的button按钮时候,点击按钮,实际上点击在body上,执行回调就可以完成,可以实现点击一次,弹出框体。

初始化一次:利用js代码,生成input按钮

private string ReceiverObjName = "FileDialogReceiver";
        

Application.ExternalEval(@"
            let fileuploader = document.getElementById('fileuploader');
            if (!fileuploader) {
                fileuploader = document.createElement('input');
                fileuploader.setAttribute('style','display:none
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值