Mayx's Home Page https://mabbs.github.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
4.7 KiB

3 years ago
  1. # Live2d的看板娘——伊斯特瓦尔(Histoire)
  2. #### 可用于网页端显示Live2D版的伊斯特瓦尔(Histoire) emlog插件版可以看这里:[传送门](https://www.wikimoe.com/?post=75)
  3. #### 基于[《给博客添加能动的看板娘(Live2D)-将其添加到网页上吧》](https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02)上的源码进行修改。
  4. #### 在原先的基础上加上了如下功能:
  5. 1.可以基于图灵机器人的聊天功能(需要自己写接口,默认隐藏)。
  6. 2.能够随意移动并记录位置(关闭浏览器后失效)。
  7. 3.能够随意唤醒或者关闭并记录状态。
  8. 4.自动判断浏览器是否为IE或者手机浏览器,如果判断为true则不加载伊斯。
  9. 5.给骚扰伊斯加了限制频率,不能狂骚扰伊斯了。
  10. ### 准备工作
  11. 首先到下载代码。
  12. 然后把解压出来的文件夹改名为:live2d 。
  13. ### 正式开工,文字部分参考自[在 Web 上展示 Live2D 吧!](https://github.com/galnetwen/Live2D)
  14. 在需要页面的头部文件(header)引入界面样式,在 head 标签内插入如下代码:
  15. ```html
  16. <link rel="stylesheet" href="/live2d/css/live2d.css" />
  17. ```
  18. 在 需要页面的body 标签内找到合适的位置插入 Live2D 看板娘的元素,按照 Html 书写规范写
  19. ```html
  20. <div id="landlord" style="left:5px;bottom:0px;">
  21. <div class="message" style="opacity:0"></div>
  22. <canvas id="live2d" width="500" height="560" class="live2d"></canvas>
  23. <div class="live_talk_input_body">
  24. <div class="live_talk_input_name_body">
  25. <input name="name" type="text" class="live_talk_name white_input" id="AIuserName" autocomplete="off" placeholder="你的名字" />
  26. </div>
  27. <div class="live_talk_input_text_body">
  28. <input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?"/>
  29. <button type="button" class="live_talk_send_btn" id="talk_send">发送</button>
  30. </div>
  31. </div>
  32. <input name="live_talk" id="live_talk" value="1" type="hidden" />
  33. <div class="live_ico_box">
  34. <div class="live_ico_item type_info" id="showInfoBtn"></div>
  35. <div class="live_ico_item type_talk" id="showTalkBtn"></div>
  36. <div class="live_ico_item type_music" id="musicButton"></div>
  37. <div class="live_ico_item type_youdu" id="youduButton"></div>
  38. <div class="live_ico_item type_quit" id="hideButton"></div>
  39. <input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
  40. <audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
  41. <input name="live2dBGM" value="音乐地址" type="hidden">
  42. <input id="duType" value="douqilai,l2d_caihong" type="hidden">
  43. </div>
  44. </div>
  45. <div id="open_live2d">召唤伊斯特瓦尔</div>
  46. ```
  47. 如果需要BGM支持可以按照上面的例子添加:
  48. ```html
  49. <input name="live2dBGM" value="音乐地址" type="hidden">
  50. ```
  51. 在 需要页面的 body 标签结束前插入如下代码:
  52. ```html
  53. <script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/1.7.1/jquery.min.js"></script>
  54. <script>
  55. var message_Path = '/live2d/';//资源目录,如果目录不对请更改
  56. var talkAPI = "";//如果有类似图灵机器人的聊天接口请填写接口路径
  57. </script>
  58. <script type="text/javascript" src="live2d/js/live2d.js"></script>
  59. <script type="text/javascript" src="live2d/js/message.js"></script>
  60. ```
  61. 鼠标放在页面某个元素上时,需要 Live2D 看板娘提示的请修改 message.json 文件。
  62. **示例:**
  63. {
  64. "mouseover": [
  65. {
  66. "selector": ".title a", //此处修改为你页面元素的标签名
  67. "text": ["要看看 {text} 么?"] //此处修改为你需要提示的文字
  68. },
  69. {
  70. "selector": "#searchbox",
  71. "text": ["在找什么东西呢,需要帮忙吗?"]
  72. }
  73. ],
  74. "click": [ //此处是 Live2D 看板娘的触摸事件提示
  75. {
  76. "selector": "#landlord #live2d",
  77. "text": ["不要动手动脚的!快把手拿开~~", "真…真的是不知羞耻!","Hentai!", "再摸的话我可要报警了!⌇●﹏●⌇", "110吗,这里有个变态一直在摸我(ó﹏ò。)"]
  78. }
  79. ]
  80. }
  81. 然后,刷新你的页面,看看效果吧!
  82. 注意路径别弄错了噢 ~
  83. PHP 程序推荐使用主题函数获取绝对路径。
  84. ### 效果预览
  85. ![](https://t1.aixinxi.net/o_1c3mofql9osmpeb1hfvsbv1hqua.gif-j.jpg)
  86. ### 模型说明
  87. 本插件仅供学习和交流使用,禁止用于商业用途。
  88. 本插件用到的模型为《超次元游戏海王星》系列中的伊斯特瓦尔,动作表情则是取自Live2d官网的demo,故版权归各官方所有。
  89. 原项目使用了 GPL v2 开源协议。

Powered by TurnKey Linux.