ugui unity 图片缩放循环_Unity3dUGUI图片循环轮播效果

using UnityEngine.UI;using UnityEngine.EventSystems;using System;using UnityEngine;/// /// 图片轮播组件/// public class NewCarouselImage : UIBehaviour, IBeginDragHandler, IInitializePotentialDragHandler, ID...
摘要由CSDN通过智能技术生成

using UnityEngine.UI;

using UnityEngine.EventSystems;

using System;

using UnityEngine;

///

/// 图片轮播组件

///

public class NewCarouselImage : UIBehaviour, IBeginDragHandler, IInitializePotentialDragHandler, IDragHandler, IEndDragHandler, ICanvasElement

{

///

/// 滚动方向H or V

///

public enum AxisType

{

Horizontal,

Vertical

}

///

/// 图片轮播方向

///

public enum LoopDirType

{

RightOrUp = -1,

LeftOrDown = 1,

}

///

/// 子物体size

///

public Vector2 mCellSize;

///

/// 子物体间隔

///

public Vector2 mSpacing;

///

/// 方向

///

public AxisType MMoveAxisType;

///

/// 轮播方向-- 1为向左移动,-1为向右移动

///

public LoopDirType mLoopDirType = LoopDirType.LeftOrDown;

///

/// Tween时的步数

///

[Range(1, 500)]

public int mTweenStepNum = 150;

///

/// 自动轮播

///

public bool mAutoLoop = false;

///

/// 可否拖动

///

public bool mDrag = false;

///

/// 下一次播放间隔时间

///

public float mLoopSpaceTime = 1;

///

/// 位于正中的子元素变化的事件,参数为index

///

[HideInInspector]

public Action mOnIndexChange;

///

/// 当前处于正中的元素

///

public int CurrentIndex

{

get

{

return m_index;

}

}

private bool m_Dragging = false;

private bool m_IsNormalizing = false;

private Vector2 m_CurrentPos;

private int m_currentStep = 0;

private RectTransform viewRectTran;

private Vector2 m_PrePos;

private int m_index = 0, m_preIndex = 0;

private RectTransform header;

private bool contentCheckCache = true;

private float currTimeDelta = 0;

private float viewRectXMin

{

get

{

Vector3[] v = new Vector3[4];

viewRectTran.GetWorldCorners(v);

return v[0].x;

}

}

private float viewRectXMax

{

get

{

Vector3[] v = new Vector3[4];

viewRectTran.GetWorldCorners(v);

return v[3].x;

}

}

private float viewRectYMin

{

get

{

Vector3[] v = new Vector3[4];

viewRectTran.GetWorldCorners(v);

return v[0].y;

}

}

private float viewRectYMax

{

get

{

Vector3[] v = new Vector3[4];

viewRectTran.GetWorldCorners(v);

return v[2].y;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值