Closed chishuix closed 4 years ago
+1
同问,求关于对话框的配置教程
暴力解决方法,改源码,L2Dwidget.0.min.js和L2Dwidget.common.min.js里面都有一个$()函数,这个是配置启用一言堂api才生效的,每10s会执行该函数,请求一次一言堂,获取对话内容,这样问题就简单了 注释掉原本的代码,自己写一下就好了,至于摸头和摸身体的还在看,不过万变不离其宗吧
function $() { var rdm = Math.floor(Math.random()*10); var arr = ['颜哥牛批!','颜哥强啊!','强啊颜哥!','强啊佳炀','强啊佳炀','强啊佳炀','强啊佳炀','强啊佳炀','强啊佳炀','强啊佳炀']; l(arr[rdm]); setTimeout($, 10000); }
我找到了.... 挺难得翻了半天 在路径 /blog/node_modules/live2d-widget/src/dialog/index.js中
function showHitokotoLoop() { var xhr = new XMLHttpRequest(); xhr.open('get', 'https://v1.hitokoto.cn'); xhr.setRequestHeader("Cache-Control", "no-cache"); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); alertText(data.hitokoto); setTimeout(showHitokotoLoop, 10000) } } xhr.send(); }
修改这一处调用一言堂消息改为自定义的就好了
live2d: enable: true scriptFrom: local pluginRootPath: live2dw/ pluginJsPath: lib/ pluginModelPath: assets/ tagMode: false log: false model: use: live2d-widget-model-shizuku display: position: right width: 150 height: 300 mobile: show: false react: opacity: 1 dialog: enable: true script: 'every idle 10s': 'text1' 'tap face': 'text2' 'tap body': 'text3'
这样写的话 对话框的
opacity
不会改变 文字也不会插入对话框
暴力修改L2Dwidget.0.min [4].js
像我这样改 百开启连接的地方直接改成自己创建一个数组然后随机取
function $(){
/ var t=new XMLHttpRequest; t.open("get","https://v1.hitokoto.cn"), t.setRequestHeader("Cache-Control","no-cache"), t.onreadystatechange=function(){ if(4===t.readyState){ l(JSON.parse(t.responseText).hitokoto), setTimeout($,1e4) } }, t.send() / var arr = ['杰哥不要~','讨厌~','你看我扎不扎你~','你的报应就是我`','不要~','是那个男人来了吗...','大家好,我是练习时长两年半的个人练习生','让我康康~','来了老弟……','你是魔鬼吗?','我劝你善良','奥利给!','扎心了老铁','我的40米大刀呢?','我向佛祖许愿~','我们面对什么困难都不要怕,微笑着面对他!'] var randomInex = randomNum(0,arr.length) l(arr[randomInex]) setTimeout($,1e4) }
回头我做个完善的修改 把语音修改也弄出来 做一个扩展型的插件
这样写的话 对话框的
opacity
不会改变 文字也不会插入对话框