UI上滑動旋轉指定對象

掛載在UI上的腳本:

using UnityEngine;
using DG.Tweening;
using UnityEngine.EventSystems;

/// <summary>
/// 此腳本掛載在UI上,鼠標在UI上滑動時旋轉指定對象
/// </summary>
public class UITouchRotateTarget : MonoBehaviour, IDragHandler
{
    /// <summary>
    /// 要旋轉的對象
    /// </summary>
    public Transform target = null;
    /// <summary>
    /// 旋轉速度(3-5效果最佳)
    /// </summary>
    public float speed = 5.0f;

    //DOTween過渡時間(為1時效果最佳)
    private float m_time = 1.0f;
    //緩存Vector3,避免頻繁New
    private Vector3 m_rot = Vector3.zero;

    public void OnDrag(PointerEventData eventData)
    {
        if (target == null) return;
        float y = eventData.delta.x;
        m_rot.y = -y * speed;
        target.DOLocalRotate(m_rot, m_time, RotateMode.LocalAxisAdd).SetEase(Ease.OutCubic);
    }

}

效果:

GIF 2022-10-25 20-29-50.gif
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容