细节调整

线路材质&位置调整,海拔图区间优化,loading动画只执行一次问题解决,小地图的球替换成圆形图片
This commit is contained in:
lishuo committed 2021-05-14 16:11:22 +08:00
1 parent e29381b13b
commit eb70ee4397
13 files changed
+3306 -3076

No files matched your search

@@ -75,6 +75,10 @@ public class CyclingController : DeviceServiceMonoBase
resultPanel = transform.Find("SingleUI/Panel/ResultPanel").gameObject;
}
void OnDestroy()
{
App.TextureCache.Clear();
}
Transform target;
private void Start()
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
@@ -21,6 +22,7 @@ namespace Assets.Scenes.Ride.Scripts
CyclingController cyclingCotroller;
public PlayerController playerController;
GameObject _mipMapRoute;
public RectTransform RectRoot;//rawImage
void Start()
{
cyclingCotroller = FindObjectOfType<CyclingController>();
@@ -40,17 +42,19 @@ namespace Assets.Scenes.Ride.Scripts
var screenBounds = GetScreenBounds();
var z = SetZoomToFitBounds(targetbounds, screenBounds);
}
}
RectRoot = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
}
}
float timer = 0;
private void Update()
{
if (playerController != null)
{
var tr=transform.parent.Find("SingleUI/Panel/Image");
var tr = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap/arrow");
tr.SetSiblingIndex(9999);
_player.transform.localPosition = _map.GeoToWorldPosition(playerController.Currentlatlong);
((RectTransform)tr.transform).position = _minicamera.WorldToScreenPoint(_player.transform.localPosition);
//((RectTransform)tr).localPosition = _minicamera.WorldToViewportPoint(_player.transform.localPosition);
Vector2 vp2 = _minicamera.WorldToViewportPoint(_player.transform.localPosition);//将三维物体的世界坐标转换为视口坐标
((RectTransform)tr.transform).anchoredPosition = new Vector2((vp2.x * RectRoot.sizeDelta.x) - (RectRoot.sizeDelta.x * 0.5f), (vp2.y * RectRoot.sizeDelta.y) - (RectRoot.sizeDelta.y * 0.5f));
}
timer += Time.deltaTime;
@@ -49,7 +49,7 @@ namespace Assets.Scenes.Ride.Scripts
CyclingController cyclingController;
private void Start()
{
App.TextureCache.Clear();
loadingPanel = transform.Find("Panel/LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
//InitGameObject();
@@ -220,10 +220,9 @@ namespace Assets.Scenes.Ride.Scripts
mapCountry.texture = cyclingController.GetCountryImageByName(userList[0].Country);//路书国家
Utils.DisplayImage(altitudeGraph, route.AltitudeGraph);//海拔图
loadingPanel.SetActive(false);
}
#endregion
StartCoroutine(HiddenLoading());
#region 地图注册 排行榜等接口
_map.OnInitialized += _map_OnInitialized;
_map.OnEditorPreviewEnabled += OnEditorPreviewEnabled;
@@ -231,7 +230,11 @@ namespace Assets.Scenes.Ride.Scripts
#endregion
}
}
IEnumerator HiddenLoading()
{
yield return new WaitForSeconds(1f);
loadingPanel.SetActive(false);
}
void _map_OnInitialized()
{
var visualizer = _map.MapVisualizer;
@@ -7,9 +7,16 @@ namespace Assets.Scenes.Ride.Scripts
{
private AbstractPlayer _player;
private AbstractMap _map;
RectTransform RectRoot;
GameObject arrow;
Camera _minicamera;
private void Awake()
{
_map = transform.parent.Find("MiniMap").GetComponent<AbstractMap>();
_minicamera = transform.parent.Find("MiniCamera").GetComponent<Camera>();
RectRoot = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap").GetComponent<RectTransform>();
var parent = transform.parent.Find("SingleUI/Panel/MiniMap/MiniMap");
arrow = Instantiate(Resources.Load<GameObject>("UI/Prefab/Ride/MiniArrow"), parent);
}
public void SetController(AbstractPlayer player)
{
@@ -24,6 +31,9 @@ namespace Assets.Scenes.Ride.Scripts
if (_player != null)
{
transform.localPosition = _map.GeoToWorldPosition(_player.Currentlatlong);
var tr = arrow.GetComponent<RectTransform>();
Vector2 vp2 = _minicamera.WorldToViewportPoint(transform.localPosition);//将三维物体的世界坐标转换为视口坐标
tr.anchoredPosition = new Vector2((vp2.x * RectRoot.sizeDelta.x) - (RectRoot.sizeDelta.x * 0.5f), (vp2.y * RectRoot.sizeDelta.y) - (RectRoot.sizeDelta.y * 0.5f));
}
t = 1;
}
@@ -120,9 +120,10 @@ namespace Assets.Scenes.Ride.Scripts
{
infoPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Ride/OnlineInfoPanel"), uiObject);
}
var headPos = infoPanel.transform.Find("Head").position;
var infoPos = playerScreenPos + new Vector3(150f, 60f, 0f);
((RectTransform)infoPanel.transform).position = infoPos;
CreateInfoLine(playerScreenPos, infoPos);
CreateInfoLine(playerScreenPos, headPos);
var infoHead = infoPanel.transform.Find("Head").GetComponent<RawImage>();
if (head != null)
{
@@ -183,14 +184,14 @@ namespace Assets.Scenes.Ride.Scripts
_directionsGO.Destroy();
}
startPos = Camera.main.ScreenToWorldPoint(startPos);
endPos.x -= 120f;
//endPos.x -= 120f;
endPos = Camera.main.ScreenToWorldPoint(endPos);
_directionsGO = new GameObject("InfoLinerender");
_directionsGO.transform.SetParent(transform);
var lineRender = _directionsGO.AddComponent<LineRenderer>();
lineRender.material = new Material(Shader.Find("Sprites/Default"));
//lineRender.material = Resources.Load<Material>("UI/Material/color8");
//lineRender.material = new Material(Shader.Find("Sprites/Default"));
lineRender.material = Resources.Load<Material>("UI/Material/4");
lineRender.endColor = new Color(0.1529412f, 0.8745098f, 0.8901961f, 1f);
lineRender.startColor = new Color(0.1529412f, 0.8745098f, 0.8901961f, 1f);
@@ -88,9 +88,10 @@ namespace Assets.Scenes.Ride.Scripts
{
infoPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Ride/OnlineInfoPanel"), uiObject);
}
var headPos = infoPanel.transform.Find("Head").position;
var infoPos = playerScreenPos + new Vector3(150f, 60f, 0f);
((RectTransform)infoPanel.transform).position = infoPos;
CreateInfoLine(playerScreenPos, infoPos);
CreateInfoLine(playerScreenPos, headPos);
var infoHead = infoPanel.transform.Find("Head").GetComponent<RawImage>();
if (head != null)
{
@@ -122,14 +123,15 @@ namespace Assets.Scenes.Ride.Scripts
_directionsGO.Destroy();
}
startPos = Camera.main.ScreenToWorldPoint(startPos);
endPos.x -= 120f;
//endPos.x -= 120f;
endPos = Camera.main.ScreenToWorldPoint(endPos);
_directionsGO = new GameObject("InfoLinerender");
_directionsGO.transform.SetParent(transform);
var lineRender = _directionsGO.AddComponent<LineRenderer>();
lineRender.material = new Material(Shader.Find("Sprites/Default"));
//lineRender.material = new Material(Shader.Find("Sprites/Default"));
//lineRender.material = Resources.Load<Material>("UI/Material/color8");
lineRender.material = Resources.Load<Material>("UI/Material/1");
lineRender.endColor = new Color(1, 1f, 1f, 0.65f);
lineRender.startColor = new Color(1, 1f, 1f, 0.65f);
+11 -11
View File
@@ -165,9 +165,9 @@ namespace Assets.Scenes.Ride.Scripts
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>();
area = transform.Find("Panel/TitlePanel/Area").GetComponent<Image>();
leftImage = transform.Find("Panel/TitlePanel/AltitudeGraph/Left").GetComponent<Image>();
rightImage = transform.Find("Panel/TitlePanel/AltitudeGraph/Right").GetComponent<Image>();
area = transform.Find("Panel/TitlePanel/AltitudeGraph/Area").GetComponent<Image>();
settingPanel = transform.Find("Panel/SettingPanel").gameObject;
preSlopeText = transform.Find("Panel/PreSlopePanel/PreSlopeText").GetComponent<Text>();
@@ -678,21 +678,21 @@ namespace Assets.Scenes.Ride.Scripts
}
else
{
var m = Screen.width / 1600D;
//var m = Screen.width / 1600D;
var start = chartDataSourceScript.GetRealTimeStart();
var end = chartDataSourceScript.GetRealTimeEnd();
var originWith = m * 30D;
var with = m * 286D;
var originWith =0D;
var with = altitudeGraph.GetComponent<RectTransform>().sizeDelta.x;
var left = start * with + originWith;
var right = end * with + originWith;
var rectTransform = area.gameObject.GetComponent<RectTransform>();
var width = m *(float)(right - left);
rectTransform.sizeDelta = new Vector2((float)width, 40);
rectTransform.DOMoveX((float)(left), 1);
leftImage.transform.DOMoveX((float)left, 1);
rightImage.transform.DOMoveX((float)right, 1);
var width = (float)(end - start)* 286F;
rectTransform.DOSizeDelta(new Vector2((float)width+5f, 40), 1);
rectTransform.DOLocalMoveX((float)(left), 1);
leftImage.GetComponent<RectTransform>().DOLocalMoveX((float)left, 1);
rightImage.GetComponent<RectTransform>().DOLocalMoveX((float)right, 1);
}
}
}