unity手机端指南针安卓测试有效
生活随笔
收集整理的這篇文章主要介紹了
unity手机端指南针安卓测试有效
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建如圖游戲對象,
注意指南針初始旋轉值為0,0,0,而且圖片北方朝向正前方
新建腳本Compass.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; public class Compass : MonoBehaviour {// Use this for initializationvoid Start () {Input.compass.enabled = true;}//百度一下利用Input.compass實現指北針//OnGUI的調用次數void OnGUI(){//Input.location.Start();地理北極就是北方,也是磁南極//GUILayout.Label(" rawVector: " + Input.compass.rawVector.ToString() //用microteslas測量的原始地磁數據// + " trueHeading: " + Input.compass.trueHeading.ToString() //相對應地理北極的度數// + " headingAccuracy: " + Input.compass.headingAccuracy.ToString() //標題度數的準確度// + " magneticHeading: " + Input.compass.magneticHeading.ToString(), GUILayout.Width(5000), GUILayout.Width(200));//相對于磁北極的度數}[SerializeField] Text text;[SerializeField] Text text1;[SerializeField] Text text2;[SerializeField] Text text3;[SerializeField] Image compass;float dushu = 0;//記錄北方度數float tempdushu = 0;//臨時記錄數據來判斷角度變化是否大于2// Update is called once per framevoid FixedUpdate () {//如何確定參照物//當度數為 358-2度 手機的正前方就是北方Input.location.Start();text.text = " rawVector: " + Input.compass.rawVector.ToString();//用microteslas測量的原始地磁數據//相對應地理北極的度數 手機頭正對方向 北方360/0 東方90 西方180 南方270 text1.text = " trueHeading: " + Input.compass.trueHeading.ToString(); text2.text = " headingAccuracy: " + Input.compass.headingAccuracy.ToString(); //標題度數的準確度text3.text = " magneticHeading: " + Input.compass.magneticHeading.ToString();相對于磁北極的度數dushu = Input.compass.trueHeading;/*trueHeading image/z北方358 360 0 2 0東方88 92 90南方269 272 270西方180 180*///為防止抖動 度數變化超過二的時候才賦值if (Mathf.Abs(tempdushu-dushu)>3){tempdushu = dushu;compass.transform.eulerAngles = new Vector3(0, 0, dushu);}} }然后掛載腳本,拖相關Text,以及Image
,然后打包到手機測試即可,圖片最尖的地方就是北方
?
總結
以上是生活随笔為你收集整理的unity手机端指南针安卓测试有效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么说学计算机更有远见,“孩子,我为什
- 下一篇: 《消费者行为学》读书笔记 第二章 知觉