51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace Toolset.UI
|
|
{
|
|
/// <summary>
|
|
/// 轮播图子元素
|
|
/// </summary>
|
|
public class CarouselItem : MonoBehaviour
|
|
{
|
|
private CarouselMenu parent;
|
|
private RectTransform rect;
|
|
private Image img;
|
|
private Color clr;
|
|
|
|
private CanvasGroup canvasGroup;
|
|
//[HideInInspector]
|
|
public float v = 0;
|
|
/// <summary>
|
|
/// 初始化
|
|
/// </summary>
|
|
/// <param name="_parent"></param>
|
|
public void Init(CarouselMenu _parent)
|
|
{
|
|
rect = GetComponent<RectTransform>();
|
|
canvasGroup = GetComponent<CanvasGroup>();
|
|
//img = GetComponent<Image>();
|
|
parent = _parent;
|
|
//clr = img.color;
|
|
}
|
|
/// <summary>
|
|
/// 计算transform
|
|
/// </summary>
|
|
/// <param name="value"></param>
|
|
public void CalculateTrans(float value)
|
|
{
|
|
v += value;
|
|
//rect.localPosition = new Vector3(parent.GetPosition(v), rect.localPosition.y, rect.localPosition.z);
|
|
rect.localPosition = new Vector3(rect.localPosition.x, parent.GetPosition(v), rect.localPosition.z);
|
|
canvasGroup.alpha = parent.GetAlpha(v)+1f;
|
|
//img.color = clr;
|
|
rect.localScale = new Vector3(parent.GetScale(v), parent.GetScale(v), 1);
|
|
if (rect.localScale.x>=1)
|
|
{
|
|
rect.localScale = Vector3.one;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|