之前有不少插件做圖表的, 都是不怎么樣, 再厲害也?不過 ECharts 這些, 于是本地圖表的加載就?它就解決了.
?先 Unity ??要找?個(gè)?頁插件能顯??頁的, 最強(qiáng)的 ZFBrowser, 它可以提供本地的加載, 只需要在 Assets 同級?錄創(chuàng)建?個(gè) BrowserAssets ?件夾放??就?了 :
我們直接下 ECharts 的源碼放??, 就能使?了 :
然后加載?頁就使? localGame://index.html 這樣的形式就能加載了, 很?便, 因?yàn)榍?已經(jīng)做了數(shù)據(jù)映射的邏輯了 , 所以只需要打開echarts.html 作為基本頁?, 然后往??傳數(shù)據(jù)結(jié)構(gòu)就?了, 看?下它的代碼:
在基礎(chǔ)頁???添加了?個(gè)?法:
SetChartSize : 可以改變頁?的??, ?般習(xí)慣把它跟UI???致, 減少拉伸. GetChartSize : 獲取頁???
SetEChartsDataJson : 這個(gè)就是接受C#傳?的數(shù)據(jù)結(jié)構(gòu)來顯?了, 我們可以先下載各種模板到本地, 然后建?映射然后把修改后的模板傳?.
就這樣, 簡單.
C#調(diào)?web的函數(shù)也是很簡單的, ZFBrowser 有封裝, 只不過需要都傳?它的?個(gè) JsonNode ??罷了 :
public static void WebBrowserFunctionCall(ZenFulcrum.EmbeddedBrowser.Browser browser, string functionName,
ZenFulcrum.EmbeddedBrowser.JSONNode[] param,
System.Action if(browser) { var retVal = param != null && param.Length > 0 ? browser.CallFunction(functionName, param) : browser.CallFunction(functionName); if(retVal != null) { retVal.Done((_ret) => { if(result != null) { result.Invoke(_ret); } }); } } } 設(shè)置數(shù)據(jù)需要在 Web 的 onload 之后就?了. PS : ?頁資源在 Assets 之外的 BrowserAssets 下也是可以正常打包的, 它有??的打包邏輯, 不過貌似沒有經(jīng)過壓縮, 還有這個(gè)插件不?持 WebGL... 補(bǔ)充?下本地路由的?法, 在使?前端路由的時(shí)候?般是 xxx/#/xxx的, 不過本地訪問要減少?個(gè)斜杠, 寫成 xxx#/xxx 這樣, 然后前端路由的設(shè)置在前端?頁打包的時(shí)候要設(shè)置好, 不要依賴服務(wù)器才?, 這樣才能把?頁包放到Unity中直接訪問. 因篇幅問題不能全部顯示,請點(diǎn)此查看更多更全內(nèi)容
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)