最近在研究一点东西,现在想做一个在游览器测试时,可以允许用户把图片直接拖拽进游览器的游戏里,然后直接获取到图片的信息。
现在知道的事件名叫 ondragover
可以感应到有东西拖拽进了游览器里的一个注册事件
但是我并看不懂原生代码的提示

网上也没有类似的解决办法
就想知道,这种原生的事件,如何在cocos里进行注册
最近在研究一点东西,现在想做一个在游览器测试时,可以允许用户把图片直接拖拽进游览器的游戏里,然后直接获取到图片的信息。
现在知道的事件名叫 ondragover
可以感应到有东西拖拽进了游览器里的一个注册事件
但是我并看不懂原生代码的提示

网上也没有类似的解决办法
就想知道,这种原生的事件,如何在cocos里进行注册
![]()
这个的意思是,cocos现在并不支持页面上的图片拖拽读取事件监听吗
难受啊
可以确定的是,cocos确实是处理有这个事件的
但是却没有相关的api文档,看得我有点蒙
多次尝试终于成功了,看来是我太少用html5了
做个记录
document.addEventListener("dragover", function(event: DragEvent) {
event.preventDefault();//阻止默认打开
})
dragover事件是只要拖拽途中,存在于游览器页面上,就会时刻执行
drop事件是松手后执行
dragenter事件是每进入一个div后,执行一次
不过现在遇到了另一个困难,可以获取到拖拽时所在位置的div,但是却没有办法获取到拖拽了什么(比如外部拖拽进来的文件)
当前进度,可以成功读取到拖拽进来的文件了,但是却无法把它解析成纹理或精灵。
读取出来的数据是 FileReader文件:

个人猜测result会是图片的数据,但是却没有办法转换成可用的格式,base64解析出来的也是乱码
找到了新的问题所在…该图片确实是可以在html5下,直接在base64加密的前提下被读取的…
最新进度,成了,整个思路本身是没有问题的,读取到的result数据即使是base64加密,依然可以被读取成图片,问题是filereader文件的生成,疑似是异步的,必须要由filereader文件执行了onload方法后,才可以读取到正确的文件信息(应该,具体应该有待观察)