这个指南针是unity环境中测试运行的,因为没有加陀螺仪参数,故不能在真机测试
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ComPass : MonoBehaviour {
public Vector3 NorthDirection;
public Transform Player;
public Quaternion MissionDirection;
public RectTransform Northlayer;
public RectTransform MissionLayer;
public Transform missionplace;
// Update is called once per frame
void Update () {
ChangeMisstionDirection();
ChangeNorthDirection();
}
public void ChangeNorthDirection()
{
NorthDirection.z = Player.eulerAngles.y;
Northlayer.localEulerAngles = NorthDirection;
}
public void ChangeMisstionDirection()
{
Vector3 dir = transform.position - missionplace.position ;
MissionDirection = Quaternion.LookRotation(dir);
MissionDirection.z = -MissionDirection.y;
MissionDirection.x = 0;
MissionDirection.y = 0;
MissionLayer.localRotation = MissionDirection * Quaternion.Euler(NorthDirection);
}
}