田志貢 阮國慶 石峰


摘要:文章主要分析了Android手機常用的傳感器在手機游戲開發中的應用,分析了利用姿態傳感器實現游戲開發過程中核心模塊代碼的相關知識,并對所帶來的優越體驗加以介紹。
關鍵詞:Android;姿態傳感器:手機游戲
近年來,隨著Android系統手機的廣泛應用,其應用在游戲開發中的范圍也越來越廣。使用Android系統的手機有一個最大的優勢,就是可以利用這項設備訪問系統內的一些有用的工具,這些工具可以給Android系統帶來更大的便利。因為手機以前的訪問設備在底層硬件方面的能力比較差,在操作上存在著很大的困難,移動開發的人員在這方面遇到了很多的難題。
1手機傳感器的基本知識
虛擬傳感器是一種在一個或者多個硬件的基礎上獲取數據的傳感器。因為這種傳感器在軟件的基礎上建立的,并非物理設備而是模仿基于硬件的傳感器。在軟件傳感器上建立的有線性加速度傳感器,重力傳感器。這些傳感器應用在手機中,可以大大提升手機的功能。因為這些Android手機中都自帶傳感器,利用這個傳感器可以測量物體的運動、方向和運行的環境條件。這些傳感器的主要功能是提供精確的數據,這些數據都是最原始的數據。利用監控三維設備,可以促使傳感器監控周圍的運行環境。當前,手機中應用的傳感器也成為了備受關注的新技術,例如在“星空迷途”這一經典手機游戲中,通過合理運用傳感器,能夠幫助用戶很好地實現對游戲界面的自動化控制。
1.1多種多樣的手機傳感器
目前較為常用的Android手機傳感器為:主要用途在于位移變動的傳感器、有助于定位的傳感器、感知環境的傳感器。其中,用來幫助位移的傳感器主要測量三個軸線的加速度和旋轉角度。在測量的過程中,使用了加速度傳感器、重力傳感器和矢量傳感器、環境傳感器。
其中,也采用了光線傳感器、溫度傳感器。位置傳感器的主要作用是測量設備的物理位置,也聯合采用了方向傳感器和磁力傳感器。
1.2手機傳感器的參數
不同設備中的監聽器具有類似功用與運行機制,手機傳感器中的監聽器與注冊傳感器是通用的,考慮到手機傳感器參數實時確認的難度,可對注冊傳感器中的監聽器進行合理使用,將其應用于手機,并在此基礎上利用電腦編程技術,編寫onSensorChanged代碼,從而得到監聽器反饋的參數值。
2傳感器應用在游戲開發中
2.1Android手機姿態傳感器
傳感器中比較常用的就是姿態傳感器,該傳感器最大的優勢就是可以通過傳感器感應手機的地理坐標,并且反饋給用戶。它通常可以感知三個方位的坐標。即把手機沿著Yaw軸、Pitch軸和Roll軸轉過的角度,這三個坐標構成了一個三維空間,因此這三個坐標的空間坐標都不一致。具體的操作方式是:Yaw軸代表豎直朝上的方向,其指示的方向保持不變,都是由重力加速度g的相反方向;Pitth軸,該軸的方向是變化的,隨著手機的Yaw軸方向而變化,但是該軸永遠與Yaw軸成直角。如圖1所示,顯示了該軸的方向。
在操作的過程中,需要注意始終沿著空間方向的豎直方向、水平方向和垂直方向,建立相應的Yaw軸、Pitch軸和Roll軸,沿著這三大基礎的軸線旋轉,可以使旋轉的角度恢復順序。由于Yaw軸始終時重力加速度的反方向,所以這個軸線可以通過逆時針旋轉的方法恢復其旋轉角。在標準的空間坐標軸中,Z軸的操作方式也是這樣。同時,Yaw軸和Pitch軸可以相互作用,得到空間坐標軸中的X軸。具體的操作方式是:第一,對在Yaw試驗中出現偏轉的角度進行恢復,此時可以發現Pitch軸與標準空間坐標系中的X軸相重合;第二,當X軸上所有角度均恢復至初始狀態后,對Roll軸加以修正,使其與標準空間坐標系的Y軸相重合;第三,兩個方向的坐標軸均得到準確修正后,以Y軸為標準將修正后的角度逆時針恢復至修正前狀態。此時便能夠實現手機平面與標準空間坐標系的重合,和手機所在的平面連接的重力加速度,此時也不是單純的重力加速度,而是和手機所在平面產生交集的向量。如果把這個向量投射到手機上,那么只要觀察這個投影點,并進行相關的測量,就可以得到關于小球運動方向的相關數據和情況。
在這個過程中,尤其要注意的是,如果不建立完整的空間坐標圖,或在進行上述調試的過程中出現偏差,角度未恢復,則可能由于空間坐標轉換的誤差而加大工作量。上面方法中的每一次角度恢復都是在標準的坐標系軸中實現的。值得慶幸的是,在標準的坐標系軸中,很容易實現這樣的角度轉換,利用計算機圖形學,繪制清晰的幾何圖形,也很容易恢復角度的轉換,實現Android手機姿態傳感器的工作原理的構建。
2.2Android姿態傳感器在闖關游戲中的使用
Android姿態傳感器技術在闖關游戲中的使用主要是通過手機姿態計算模塊實現的,這個模塊最大的功能就是感知手機的姿態,然后根據手機反饋的數據計算小球的運動過程。上文介紹了手機姿態傳感器的基本數據,下面介紹了使用姿態傳感器在Android手機運作過程。考慮到Android手機自身內部便存在傳感器的相關驅動,可以使用姿態傳感器計算捕獲手機姿態數據,并且計算出游戲中的小球的運動方向。
一方面,Android姿態傳感器捕獲用戶的數據,一般情況下,手機游戲中較為重要的是以Balllistener類數據為主的傳感器數據,這種類型的數據是由SensorListener數據演變而來的,它可以實現對手機游戲中姿態變化和運動的監測和跟蹤,并對有關的數據變化產生準確感知。這一項技術與Android手機系統中的SensorListener內置功能存在相似之處,當由于其他因素導致傳感器數值變化時,可直接獲取所需數值。
另一方面,傳感器可對行星運行方向進行計算,RotateUtil類圖如圖2所示,此類傳感器是常用的靜態工具,能夠為行星運動方向的實時計算提供相應的靜態方法。
3結語
綜上所述,Android姿態傳感器技術在手機游戲開發中的應用越來越廣泛,很好地實現了游戲的電子化和自由化。因此,需要加大Android姿態傳感器技術在手機游戲開發中的應用,不斷創新Android姿態傳感器技術,給手機游戲帶來更高端、完善的服務。只有使用Android姿態傳感器技術,才能幫助相關人員在進行傳統小秋闖關等游戲的二次開發過程中,不斷探索并更為深入地運用傳感器技術;同時,實現手機游戲中的進Android姿態傳感器技術中的更新升級,實現Android應用軟件的精彩體驗。