關於在博客園添加live2d的二三事

首先我是一個沒有學過任何前端語言的人,因此對於添加本身喜歡的live2d的過程當中存在許多的疑惑和問題,但願懂得的朋友也可以爲我解答。html

我之因此要寫這麼一篇文章是由於我一開始就被別人的博客中的live2d給吸引了,可是我發現大部分的人所擁有的live2d都是千篇一概的,因此我就一直在想着嘗試能不能作一個由本身的定的live2d。前端

首先如何在博客園中加載live2d?這很簡單,只須要一個腳本以及live2d的資源文件java

對於腳本,已經有了前人所寫好的腳本,故咱們直接拿來用便可(十分感謝該腳本的做者,爲咱們不懂的小白也提供了可能)。如下我將貼出react

<script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>
<script>
    L2Dwidget.init({
        "model": {
       //jsonpath控制顯示模型
            jsonPath:"模型的腳本 即model.json" },
        "display": {
            "position": "right", //看板孃的表現位置
            "width": 150,  //寬度
            "height": 262.5, //高度
            "hOffset": -60,  //水平 "vOffset": -70,  //垂直
        },
        "mobile": {
            "show": true,
        },
        "react": {
            "opacityDefault": 1,//不透明度,可調
            "opacityOnHover": 0.2
        }
    });
</script>

好了,如今咱們已經有了腳本,接下來即是如何獲取資源android

對於資源,有不少種獲取途徑,如下爲我我的獲取資源的過程(真是坎坷啊)git

因爲我喜歡的角色並不存在現成的live2d資源(百度谷歌啥的都搜不到),可是我發現了一款遊戲用着live2d模型——即「魔法記錄魔法少女小圓外傳」,因爲此款遊戲未在國內發行,因而我下了臺灣版的,通常來講遊戲的資源都會存儲在Android/data/com.xxxx.xxx文件下,可是這款遊戲明顯不按照套路出牌,他將資源存儲在了根目錄,在未root的權限下沒法查看,因而我就認爲或許電腦模擬器能夠試試,可是現實狠狠的打了個人臉,這款遊戲對於root的條件下會彈出101E錯誤(關閉root便可解決),可是即便關閉了root他仍然會彈出102E的錯誤(我的認爲是遊戲對於環境是否爲模擬器作出了判斷),因而無奈下我只有一條將手機root的路走,而個人系統是miui穩定版,只有將系統刷至開發版才能root,就在我絕望覺得只能root的狀況下我在對於手機信息備份存儲至本地時,我驚奇的發現對於這款遊戲的文件居然有4g左右,因而我便思考或許存在一直可能,能夠將備份文件解包,皇天不負有心人,網上確實存在着方法。github

對於備份文件的解包,咱們須要用到兩個東西,一個是Winhex須要對備份文件去掉文件頭,二是abe解包文件。(感謝菲菲大神)json

如下貼出教程跨域

https://www.feifeiboke.com/pcjishu/3666.html網絡

https://www.feifeiboke.com/android/3669.html(其中的abe對於java7有效)

https://download.csdn.net/download/sinat_29729595/10740712(對於和我同樣的java8)

以上解密完成後即可得到資源文件找到live2d文件夾便可,而對於模型彷佛存在着加密的說法?由於我在查詢資料的過程當中有有關於對於live2d文件解密的教程。

在獲取live2d後咱們便須要讓以前的live2d腳本獲取到model.json,

起先我將個人資源文件存至了github,再用raw之外鏈的形式生成 model.json路徑,可是不知道是什麼緣由,rawgithub常常沒法訪問,我便將code搬到了國內的gitee上,雖然解決了加載問題,卻迎來了最令我頭大的問題,CORS跨域訪問

cors

 

                                       (圖片爲網絡資源)

一開始我一直在尋找解決方案,可是苦於本身根本看不懂的 jQuery,Ajax等等的方法,故我嘗試着去分析了一些一樣採用如上腳本的json地址,發現是屬於unpkg的,網上的解釋是,因爲unpkg存儲的是靜態資源的資源庫,故不存在跨域。至此我對於資源的存放是否爲靜態存在着疑惑,究竟如何判斷是否爲靜態?究竟怎樣纔會產生跨域問題。至此我一直得不到解釋。在這裏unpkg我不太會使用,好在github上有相似的功能,在release一個版本後會在jsdelivr上生成相似unpkg的路徑。路徑地址爲

https://cdn.jsdelivr.net/gh/用戶/庫@版本號/資源路徑

以後便全部都大功告成了!!!!

以後對於live2d的更多功能,我還在處於本身研究的狀態,好比點擊監聽事件的發生,隱藏或顯示live2d亦或者更換皮膚等等。

以上即是我添加live2d的全部過程,可能的話會更新上面所說的功能的實現。

謝謝觀看。φ(≧ω≦*)♪

相關文章
相關標籤/搜索