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