• 最终效果

  • 下载看板娘文件
    csdn下载地址

  • 将下载后的压缩包解压,复制到vue项目的public文件夹下

  • index.html文件中引入js

 <!-- 看板娘 --><script type="text/javascript" src="./live2dw/lib/L2Dwidget.min.js"></script>

  • APP.vue中创建动画

APP.vue

<template><div class="app" ref="box"><!-- <router-view /> --><div class="star" style="width: 200px; height: 300px; background-color: red;">鼠标放在此处和我互动</div></div>
</template><script>export default {name: 'App',created() {window.L2Dwidget//此处是对点击人物时触发事件的监听.on('*', (name) => {console.log('%c 你点击了 ' + '%c -> ' + name, 'background: #222; color: yellow','background: #fff; color: #000')})//对人物的属性配置.init({pluginRootPath: '../live2dw/', //人物文件夹的位置pluginJsPath: 'lib/',pluginModelPath: 'live2d-widget-model-shizuku/assets/',model: {jsonPath: '../live2dw/live2d-widget-model-shizuku/assets/shizuku.model.json'},dialog: {enable: true, //是否开启对话框script: {//每20s,显示一言(调用一言Api返回的句子)'every idle 20s': '$hitokoto$',//触摸到class='star'对象,将会展示的文字'hover .star': '星星在天上而你在我心里 (*/ω\*)',//触摸到身体'tap body': '害羞⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄',//触摸到头部'tap face': '~~'}},display: { //人物的属性配置position: 'left',width: 350,height: 800,hOffset: 200, // 横向偏移vOffset: -100 // 纵向偏移}, mobile: {show: true, //是否在移动端展示scale: 0.5 //t透明度}});}}
</script><style>body {margin: 0;width: 100%;}html {width: 100%;height: 100%;}.app {width: 100%;height: 100%;}
</style>

注意:只有部分人物可以展示对话框

如果需要替换人物,只需修改对应人物文件夹的位置

  • 销毁看板娘

beforeDestroy钩子函数中,直接移除dom元素

这个办法不是最好的,因为本人查阅了很多资料,并没有找到相关解决方案,所以只能使用这种比较粗暴的方法,如果有更好的答案,欢迎评论区交流

beforeDestroy() {//移除动画人物document.querySelector('#live2d-widget').remove();}
  • html中使用看板娘
    参考博客链接
  • 点击按钮切换人物
    csdn下载demo

Vue或html中使用L2Dwidget实现看板娘互动,对话框,语音,及Vue销毁看板娘相关推荐

  1. vue main.js中引入js_web前端的同学不容错过,大厂Vue最佳实践总结,提高竞争力...

    随着这几年前端技术的快速发展,Vue框架在国内普及率极高,人人都会用.那么,如何才能写得比别人优雅?比别人漂亮? 鉴于一线互联网大厂在前沿技术领域的持续研究和大规模投入,直接向他们取经,是最便捷也是最 ...

  2. vue里面_Vue中如何使用自定义插件(plugin)

    Vue中如何使用自定义插件(plugin) 1.在根目录src下创建一个libs文件夹,在libs文件夹下面创建一个myPlugins文件夹,用来存放我们的自定义插件,在myPlugins文件夹下面再 ...

  3. 在Vue的webpack中结合runder函数

    在Vue的webpack中结合runder函数 1.引入: <h1>下面是vue的内容:</h1><div id="app"><login ...

  4. vue更新data中的数据页面不渲染_vue更新obj类data的属性无效,页面data没刷新解决方法vue.set...

    问题描述 Vue的data使用有坑啊,它不能直接修改创建的对象的属性,例如想要给 user 添加一个 name 属性,值是 Jay . 先来一个添加的错误示例(这是一个大坑,请注意),这样写页面不渲染 ...

  5. 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流

    输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流 参考文章: (1)输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue ...

  6. uniapp、vue,vuex中state改变,getters不动态改变的完美解决方案!

    uniapp.vue,vuex中state改变,getters不动态改变的完美解决方案! 参考文章: (1)uniapp.vue,vuex中state改变,getters不动态改变的完美解决方案! ( ...

  7. 超优 Vue+Element+Spring 中后端解决方案

    今日推荐 推荐一款开源 Java 版的视频管理系统 推荐3个快速开发平台 前后端都有 项目经验又有着落了 14个项目 转载:toutiao.com/i6911704074815767048 作者:we ...

  8. Vue CLI3.0 中使用jQuery 和 Bootstrap

    Vue 中使用 jQuery 和 Bootstrap 不是特别符合 Vue 原生的写法,但是有时候又要用,所以放上我的引入设置,供大家参考. 在 Vue CLI2.0 中引入 jQuery 和 Boo ...

  9. 怎样在vue单页面中引入其他组件

    场景 在一个vue的单页面,假如是home.vue中要引入其他组件的内容. 页面结构如下: 实现 首先在components下新建组件Today_recommend.vue组件 <templat ...

最新文章

  1. 【计算摄影】计算机如何学会自动地进行图像美学增强?
  2. Ubuntu 安装 opencv-nonfree
  3. ios label文字行间距_iOS- 设置label的行间距字体间距
  4. java打印等腰三角形_Java 后台开发面试题分享三
  5. Golang的聊天服务器实践(群聊,广播)(一)
  6. Java_银行排队叫号系统
  7. win98 支持html5,win98支持1G以上内存的解决办法
  8. 微信小程序自定义弹窗,禁止page页面滚动。
  9. 蓝桥杯题目---蓝桥骑士(寻找逐渐递增的子序列 最多个数)
  10. 网络安全管理与运维服务
  11. 数据湖和数据仓库的区别是什么?
  12. 程序员如何利写代码用抖音帮助自己增加额外收入?
  13. 三星14纳米EUV DDR5 DRAM量产;Amazfit推出三款智能手表;Whale帷幄获5000万美元融资 | 全球TMT...
  14. 《JavaScript_DOM编程艺术》Chapter05 最佳实践,Chapter06 图片库改进版---20210427
  15. easypoi 语法_高中英语必修1选修8 quot;语法quot;重难点清单(全八册)
  16. 在移动端单行文本在不同的屏幕下当文本过长时增加省略号效果
  17. 数据分析--分类与回归模型(一)
  18. 钉钉企业主要功能介绍
  19. 二维码解码器Zbar+VS2012开发环境配置
  20. 交叉表、行列转换和交叉查询经典

热门文章

  1. [HZWER NOIP模拟题][杂题][防骗题]数列
  2. oracle.dataaccess 连接池,Oracle ManagedDataAccess - 连接请求超时 - 合并
  3. listView 的item最外层添加了layout_marginLeft不管用
  4. 让scroll lock指示灯闪烁
  5. csdn涨粉技巧篇,都是干货涨粉知识,不花钱的
  6. 猫眼电影-微信小程序
  7. 写了一个美篇图片爬虫,已开源
  8. 论文R语言复现 | 基于 EM 算法的高斯混合模型参数估计
  9. Linux系统 对文本的复制粘贴
  10. 页面底部莫名多出一段高度,一个白条