Efecto de volteo de tarjeta de interfaz de usuario

Efecto de volteo de tarjeta de interfaz de usuario

El mouse ingresa al reverso de la pantalla y el mouse sale del lado frontal de la pantalla.
inserte la descripción de la imagen aquí

texto

using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
using UnityEngine.EventSystems;
/// <summary>
/// 鼠标进入:显示反面;鼠标离开:显示正面
/// </summary>
public class FlipCard : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
    
    
    public Image front;
    public Image back;
    public float flipTime = 0.3f;
    Vector3 hideAngle = new Vector3(0, 90f, 0);

    void Start()
    {
    
    
        front.transform.rotation = Quaternion.Euler(0, 0, 0);
        back.transform.rotation = Quaternion.Euler(0, 90, 0);
        back.gameObject.SetActive(false);
    }

    public void OnPointerEnter(PointerEventData eventData)
    {
    
    
        Flip(from: front, to: back, flipTime: flipTime);
    }

    public void OnPointerExit(PointerEventData eventData)
    {
    
    
        Flip(from: back, to: front, flipTime: flipTime);
    }

    void Flip(Image from, Image to, float flipTime)
    {
    
    
        if (from.transform.localEulerAngles != Vector3.zero) return;//当前from 处于正面

        from.transform.DORotate(hideAngle, flipTime).SetEase(Ease.Linear).onComplete += () =>//form 翻转完成 to开始翻转
        {
    
    
            from.gameObject.SetActive(false);
            to.gameObject.SetActive(true);
            to.transform.DORotate(Vector3.zero, flipTime).SetEase(Ease.Linear);
        };
    }
}

lugar a optimizar

El mouse abandona rápidamente el área de volteo y la tarjeta se invierte.

Supongo que te gusta

Origin blog.csdn.net/weixin_43796392/article/details/123106504
Recomendado
Clasificación