簡介
有一些手機功能,Unity沒有提供相應的介面,例如震動,例如不鎖屏,例如GPS,例如...
有太多的特殊功能Unity都沒有提供介面,這時候,我們就需要通過使用Android原生的ADT編輯器去編寫Java代碼,然後打包jar匯入到Unity工程,然後通過Unity提供的調用Android介面的函數去調用jar包中的函數即可。
這裡我們就介紹一下使用Unity實現手機震動效果
實現內容簡要說明:
1. Android提供jar檔案,xml檔案,res目錄,libs目錄
2. 通過AndroidJavaClass去調用Android函數
另外,這些功能只能在真機上運行!
具體實現:Android部分
1.下載AndroidSDK(需要包含ADT編輯器的)
官方下載串連:http://developer.android.com/sdk/index.html
2 建立Android項目
菜單位置:File ->New->Android Application Project
建立過程中,只有一下這個介面的內容需要更改,其他的使用預設的就行
產生後解決方案的目錄
其中MainActivity就是我們需要編輯的java檔案了
3. 匯入Unity相關jar
Jar目錄:unity的安裝路徑\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
通過AddExternalArchives添加,
4. 匯入jar後,就可以開始編輯相關的函數了,開啟MainActivity
添加unityActivity,使MainActivity繼承UnityPlayerActivity,並把SetContentView函數刪掉(不然到手機上啟動程式的時候就會只看到一句HelloWorld),這裡用一個比較函數Max作為例子,有參數,有返回值
5. 到這裡,需要的函數已經寫完,再修改一下xml檔案
Xml檔案在工程檔案目錄下,叫AndroidManifest.xml
6. 接下來到處jar包
點擊Export後選擇Java目錄下的Jar file,選擇好路徑之後按預設選項去到處jar檔案即可
7. 到這裡Android部分結束了
Unity部分
1. 設定PlayerSetting,要與Android的package對應上
2. 在Assets目錄下添加Plugins\Android目錄,把Android的jar檔案,res檔案夾,libs檔案夾,xml檔案放入該目錄
3. 調用相關函數
(註:初步瞭解這裡的參數之所以填”com.unity3d.player.UnityPlayer”和”currentActivity”,是因為在產生jar檔案的時候,已經指定了MainActivityclass繼承UnityPlayerActivity,也在XML指定了MainActivity是Main class)