UniWebView:適用于Andriod、ios和Mac os,在移動(dòng)端效果最好。2.0版本之后支持WP8,不支持windows桌面系統(tǒng),包括編輯器狀態(tài)。
UniWebView是一個(gè)幫助Unity移動(dòng)游戲開發(fā)者能在Unity中簡(jiǎn)單地使用系統(tǒng)原生自帶的WebView的插件。在很多游戲中都會(huì)出現(xiàn)使用WebView展示頁(yè)面和與玩家進(jìn)行交互的功能。但是Unity3D由于本身是一個(gè)多平臺(tái)的游戲引擎,因此沒有也不太可能提供一個(gè)WebView的使用接口。UniWebView的目標(biāo)是減少或解除對(duì)應(yīng)Unity平臺(tái)上移動(dòng)開發(fā)使用WebView的各種麻煩和痛楚,使用原生移動(dòng)平臺(tái)的對(duì)應(yīng)WebView,并對(duì)其進(jìn)行很好的封裝以及添加一些常用功能,以解決實(shí)際游戲開發(fā)中可能遇到的一些問題。
使用 Prefab 和設(shè)置 URL .
從 UniWebView/Prefab 文件夾下 拖拽 UniWebViewObject 預(yù)制體,在Inspector 上設(shè)置 URL(在Windows上也設(shè)置不了), Mac 上Play就可以看到效果, 但是在Window上要打包成移動(dòng)包才行。
UniWebView的工作方式
在Mac 系統(tǒng)下可以設(shè)置 UniWebView組件上的: Insets 能控制 web 視圖的大小。Start函數(shù)中加載(Load On Start )和加載完成時(shí)自動(dòng)顯示(Auto Show WhenLoad Complete )。
除了顯示 web 頁(yè)面的基本用法,UniWebView 有一些其他重要的功能、 與Unity場(chǎng)景通信, 偵聽 web 頁(yè)event事件和計(jì)算一些 JavaScript。
使用的主要思路
代碼來自實(shí)際項(xiàng)目,只提供主要思路。
調(diào)用安卓和ios自身平臺(tái)的方法封裝在jar和mm文件中,提供了UniWebView類調(diào)用這些方法。打開網(wǎng)頁(yè)時(shí)將UniWebView作為組件掛在一個(gè)gameObject上。將網(wǎng)址字符串賦值給UniWebView中的url字段,調(diào)用Load()方法加載網(wǎng)址,Show()方法顯示在屏幕上,對(duì)應(yīng)Hide()方法。關(guān)閉時(shí),先隱藏,再銷毀UniWebView組件。
UniWebView類中提供了一些回調(diào)方法,本項(xiàng)目中用到了UniWebViewEdgeInsets。默認(rèn)打開網(wǎng)頁(yè)是全屏方式,UniWebViewEdgeInsets是使網(wǎng)頁(yè)偏移。也就是控制網(wǎng)頁(yè)顯示的區(qū)域和位置。需要注意,在安卓平臺(tái)插入的值以像素為單位,在ios平臺(tái),因?yàn)椴煌瑱C(jī)型屏幕scale值不同,同一個(gè)值插入效果不一樣,建議判斷機(jī)型根據(jù)效果將數(shù)值寫死:
您的評(píng)論需要經(jīng)過審核才能顯示
有用
有用
有用