人物抖动的问题解决,界面调整,3d视觉调整

This commit is contained in:
lishuo committed 2021-04-30 23:45:50 +08:00
1 parent 9f4e446850
commit 392eca5dc2
8 files changed
+2772 -2672

No files matched your search

+34 -19
View File
@@ -134,7 +134,7 @@ namespace Assets.Scenes.Ride.Scripts
miniMap = transform.Find("Panel/MiniMap").GetComponent<RawImage>();
alertPanel = transform.Find("Panel/Alert").gameObject;
selectPanel = transform.Find("Panel/SelectPanel").gameObject;
selectPlayer = transform.Find("Panel/SelectPlayer").gameObject;
reviewPanel = transform.Find("Panel/ReviewPanel").gameObject;
@@ -156,7 +156,7 @@ namespace Assets.Scenes.Ride.Scripts
closeQuitButton = transform.Find("Panel/QuitPanel/QuitPanel/CloseButton").GetComponent<Button>();
abandonButton = transform.Find("Panel/QuitPanel/QuitPanel/AbandonButton").GetComponent<Button>();
viewButton =transform.Find("Panel/ViewButton").GetComponent<Button>();
viewButton = transform.Find("Panel/ViewButton").GetComponent<Button>();
altitudeGraph = transform.Find("Panel/TitlePanel/AltitudeGraph").GetComponent<RawImage>();
leftImage = transform.Find("Panel/TitlePanel/Left").GetComponent<Image>();
rightImage = transform.Find("Panel/TitlePanel/Right").GetComponent<Image>();
@@ -195,8 +195,7 @@ namespace Assets.Scenes.Ride.Scripts
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerEnter, OnPointEnter);
UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
#endregion
}
@@ -216,7 +215,7 @@ namespace Assets.Scenes.Ride.Scripts
}
void OnPointExit(BaseEventData pointerEventData)
{
var button =((PointerEventData)pointerEventData).pointerEnter.GetComponent<Button>();
var button = ((PointerEventData)pointerEventData).pointerEnter.GetComponent<Button>();
if (button != null)
{
var enterTransform = button.transform;
@@ -243,6 +242,10 @@ namespace Assets.Scenes.Ride.Scripts
CountDown();
MoveCamera();
}
private float cameraX = 0;
private float cameraY = 0;
private float cameraZ = 0;
private void Init()
{
playerController = FindObjectOfType<PlayerController>();
@@ -250,6 +253,14 @@ namespace Assets.Scenes.Ride.Scripts
var route = mainController.GetRoute();
mapName.text = route.RouteInstance.Name;
var camera = route.RouteInstance.Camera;
if (!string.IsNullOrEmpty(camera))
{
var cameraArr = camera.Split(',');
cameraX = float.Parse(cameraArr[0]);
cameraY = float.Parse(cameraArr[1]);
cameraZ = float.Parse(cameraArr[2]);
}
totalDistance.text = Math.Round(mainController.GetMapData().TotalDistance, 1).ToString() + "KM";//总里程
Utils.DisplayImage(StartCoroutine, altitudeGraph, route.RouteInstance.AltitudeGraph);//渲染海拔图
@@ -270,9 +281,12 @@ namespace Assets.Scenes.Ride.Scripts
{
viewButton.enabled = false;
viewButton.interactable = false;
mainController.Is3dView = false;
mainController.player.transform.localScale = new Vector3(0, 0, 0);
}
else
{
mainController.Is3dView = false;
ChangeView(null);
}
}
@@ -306,10 +320,11 @@ namespace Assets.Scenes.Ride.Scripts
if (!mainController.Is3dView)
{ //target.transform.rotation = playerController.transform.rotation;//new Quaternion(playerController.transform.rotation.x, playerController.transform.rotation.y +1f, playerController.transform.rotation.z, playerController.transform.rotation.w);
target.transform.eulerAngles = new Vector3(0, playerController.transform.eulerAngles.y + 160f, 0);
mainController.player.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
}
else
{
target.transform.eulerAngles = new Vector3(0, -65f, 0);
target.transform.eulerAngles = new Vector3(cameraX, cameraY, cameraZ);
}
//控制照片移动
((RectTransform)arrow.transform).position = Camera.main.WorldToScreenPoint(target.transform.position);
@@ -341,7 +356,7 @@ namespace Assets.Scenes.Ride.Scripts
{
reviewPanel.GetComponent<CanvasGroup>().DOFade(0, 1);
//附近的人
// nearByPanel.GetComponent<CanvasGroup>().DOFade(0, 1);
// nearByPanel.GetComponent<CanvasGroup>().DOFade(0, 1);
}
timeRemaining = 1.0f;
}
@@ -364,16 +379,16 @@ namespace Assets.Scenes.Ride.Scripts
//坡度相关数据
nextSlopeText.text = Math.Round(playerController.NextSlope, 1).ToString() + "%";
//nextSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.NextSlopeDistance, 0, "-{0}M");
nextSlopeDistanceText.text = $"{Math.Round(playerController.NextSlopeTotalDistance, 0)}M";
nextSlopeDistanceText.text = $"{Math.Round(playerController.NextSlopeTotalDistance, 0)}M";
currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%";
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M");
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M");
totalClimb.text = Math.Round(playerController.TotalClimb, 0).ToString();
//动态改变坡度图片
if (playerController.CurrentSlope >= 1 )
if (playerController.CurrentSlope >= 1)
{
currentSlopeImage.sprite = uphill1;
}
else if(playerController.CurrentSlope > -1|| playerController.CurrentSlope<1)
else if (playerController.CurrentSlope > -1 || playerController.CurrentSlope < 1)
{
currentSlopeImage.sprite = straight;
}
@@ -429,7 +444,7 @@ namespace Assets.Scenes.Ride.Scripts
Reset();
selectPlayer.SetActive(true);
}
public void StartRide(BaseEventData baseEventData)
{
var antConnected = mainController.CheckAnt();//初始化ant+设备
@@ -460,7 +475,7 @@ namespace Assets.Scenes.Ride.Scripts
}
private void SaveRide(BaseEventData baseEventData)
{
if (playerController.TotalTicks > 0 && !mainController.isQuit )
if (playerController.TotalTicks > 0 && !mainController.isQuit)
{
mainController.SetQuit();
playerController.Upload();
@@ -517,7 +532,7 @@ namespace Assets.Scenes.Ride.Scripts
clearLock = false;
leftPanel.transform.DOLocalMove(new Vector3(leftPanel.transform.localPosition.x + isSimple * 430f, leftPanel.transform.localPosition.y, leftPanel.transform.localPosition.z), 1);
titlePanel.transform.DOLocalMove(new Vector3(titlePanel.transform.localPosition.x, titlePanel.transform.localPosition.y + isSimple * 200f, titlePanel.transform.localPosition.z), 1);
miniMap.transform.DOLocalMove(new Vector3(miniMap.transform.localPosition.x , miniMap.transform.localPosition.y + isSimple * 260f, miniMap.transform.localPosition.z), 1);
miniMap.transform.DOLocalMove(new Vector3(miniMap.transform.localPosition.x, miniMap.transform.localPosition.y + isSimple * 260f, miniMap.transform.localPosition.z), 1);
nextSlopePanel.transform.DOLocalMove(new Vector3(nextSlopePanel.transform.localPosition.x, nextSlopePanel.transform.localPosition.y + isSimple * 260f, nextSlopePanel.transform.localPosition.z), 1);
currentSlopePanel.transform.DOLocalMove(new Vector3(currentSlopePanel.transform.localPosition.x, currentSlopePanel.transform.localPosition.y + isSimple * 80f, currentSlopePanel.transform.localPosition.z), 1);
@@ -553,13 +568,13 @@ namespace Assets.Scenes.Ride.Scripts
chartDataSourceScript = transform.Find("Panel/GraphChart").GetComponent<ChartDataSourceScript>();
graph = transform.Find("Panel/GraphChart").GetComponent<GraphChartBase>();
chartDataSourceScript.SetDataSource(dd.ToArray());
if (App.CurrentUser != null)
{
Utils.DisplayImage(StartCoroutine, head, App.CurrentUser.WxHeadImg);
}
}
//挪到人物脚本中处理
void MoveChartMarkPoint()
{
@@ -574,9 +589,9 @@ namespace Assets.Scenes.Ride.Scripts
private void MoverCurrentUserHead()
{
Vector3 prePos = headPanel.transform.position;
int nextIndex = playerController.CurrentIndex +1;
int nextIndex = playerController.CurrentIndex + 1;
var viewIndex = chartDataSourceScript.GetViewIndex(nextIndex);
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit)//未开始未暂停未结束
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit ||(mainController.isStart && playerController.Distance == 0))//未开始未暂停未结束
{
viewIndex = 0;
}
@@ -607,7 +622,7 @@ namespace Assets.Scenes.Ride.Scripts
foreach (var item in others)
{
var itemIndex = chartDataSourceScript.GetViewIndex(item.CurrentIndex) + 1;
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit)//未开始未暂停未结束
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit || (mainController.isStart && item.Distance == 0))//未开始未暂停未结束
{
itemIndex = 0;
}