終于解決了一個憂傷好久的問題,嚴重拖了項目進度,深感慚愧!一直被一系列的問題所困擾,然後又隻能自己一個人摸索,也是一段辛酸憂傷史,現在小結一下上個月在做二維碼的過程中所碰到的問題以及解決辦法,現在慶幸終于解決好了,終于能将這個功能告一段落,一下小結也是分享一下Unity的某些“坑”,讓同行少走彎路,起碼在二維碼這方面應該會有所啟迪,欣慰的是接下來幾天終于可以做自己應該做的事情了!

本來我測試Android掃碼的功能,已經測是通過了,可以參考之前寫的博文:http://blog.csdn.net/dingxiaowei2013/article/details/24677795,後來将這這個插件添加到現有的項目中,但導出項目apk後,打開應用怎麼就是閃退,表示很憂傷,後來一步一步的精簡對比測試,表示自己五一那天一直摸索到淩晨三點才發現這一問題根源,有了這個基礎才有接下來思路的轉變。我的Android工程設定的螢幕旋轉方向是portrait,但由于項目原因,Unity的導出方向必須是landscapeleft,這兩者方向不一緻會導緻應用異常奔潰閃退!當然我的解決思路可能是比較笨的,我将Android工程做成的插件的螢幕方向也做成了橫屏的,為了和Unity的方向一緻,我想應該就不會出現那種問題。我原本的思路是将Unity導出螢幕設定成auto,然後代碼控制螢幕的方向,但貌似還是不成功,沒轍隻能還是換種思路!網上有不少Android的掃碼工程,最多的就是基于zxing,但是都是有很多備援,不适合初學者,尤其是像我這種Android初學者,我倒是看到一個比較适合入門的精簡的掃碼工程,可惜是縱屏的,上一篇文章就是介紹的這個,但并不适合我的項目需求,是以我就想辦法将這個工程改成橫屏工程,本以為隻要改改xml配置檔案就OK的,結果并不是想象的那麼簡單,僅僅那麼該會出現掃的過程中圖檔壓縮以及移動别扭等現象,還是需要修改裡面的工程的!這裡可以參考:http://dingxiaowei2013.blog.163.com/blog/static/21965310720144595534507/,這篇是将橫屏改縱屏的解決方案,然後将其逆序操作,但我還是出現了一些問題,比如掃到一半的時候應用異常崩潰,又表示很憂傷,為啥都不是一帆風順呢!然後反複重做,終于成功了!精簡版的工程源碼我會貼出來共享!為了實作這個功能,可謂是一次有一次的導出,一次有一次的測試,千言萬語無法言表其中的憂傷,總而言之,堅韌,是程式猿必須具備的品質!
Unity和Android互動不僅僅是調用函數,互動資料,很大的一個還是需要互動視圖和場景,将其很好的進行切換。當然場景的跳轉或者是切換還是通過調用接口函數來實作,但這裡通過了一個很重要的Activity來實作了這一效果,就是UnityPlayerActivity,Android的接口視圖就是繼承了這個UnityPlayerActivity,這個是為Unity和Android搭建了一個橋梁,當然這個類必須導入Unity的接口包,在Unity的安裝目錄下,詳細可以參考上一篇文章,繼承了UnityPlayerActivity的視圖是作為Unity和Android的一個通用視圖,它是Android插件的一個入口,無論是在Unity切換到Android界面還是Android切換到Unity界面,必須都要通過這個Activity來操作,記得是必須,這裡我也是吃過苦頭,我想在其他的Activity中來調用Unity的接口函數來實作Unity界面的跳轉,但都嘗試失敗!後來再重頭再來,這些都是經過了一遍又一遍的實驗才得出的結論!
我測試最簡單的OnGUI的方法,GUI裡面包含中文,LG的顯示不出來,由于公司所有的Android機和個人手機基本都是LG的,測試下來中文不顯示,估計還得做字型,難道是因為它是南韓貨?!純屬我個人瞎猜,解決辦法就是你可以在工程裡面做一套字型,然後做GUISkin供GUI用,我用其他的手機,比如我的破舊的中興還有其他的非LG手機就能顯示,這個橫版的二維碼掃碼插件工程用LG測試還是有點問題,會出現掃的時候卡屏的現像,不知道是不是因為記憶體飙升,這個可以用Eclipse測試一下看看是不是因為這個原因!
我為了做成一個插件,是以就将所有的工程都拖放到一個目錄下,結果發現界面的按鈕點選不跳轉到響應的AndroidActivity,然後知道Plugins必須要放在Assets目錄下,估計引擎是根據這種關系來找對應的插件的!
修改中文編碼
字元集=“GBK”;
能解決這一系列的問題還要感覺龍哥的指導,在此感謝!
這時比較晚了就不貼原工程了,明天貼出來!
如果有誰知道以上問題有更好的解決方案,還望指教,互相學習,Aladdin在此感謝,哈哈!
我的微網誌:http://weibo.com/dingxiaowei2013
工程源碼:http://down.51cto.com/data/1164585
目前研究出新的二維碼掃描方案,适合所有的手機!