在unity中实现分页扩展(旋转3D)功能(UGUI)

Posted 头号理想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在unity中实现分页扩展(旋转3D)功能(UGUI)相关的知识,希望对你有一定的参考价值。

这次给大家介绍一个看起来是3D的效果的UI的切换
在实际应用中 别看起来不是那么呆板

我们要首先创建两个Image 通过修改point的位置 来改变旋转的轴
我们可以看到 有两个模块是两个不同的方向的旋转


我们分别把两块的pivot分别设为(0,0)和(1,1)默认为(0.5,0.5)

之后我们通过代码来修改旋转就可以了
这里我们仍然使用插值来实现 缓动

public class TurnUI : MonoBehaviour

    public enum TurnType
    
        left,
        right
    ;
    //使用枚举来分类左边和右边

    public bool isstart;
    public bool isend;
    private float timer=0;

    public TurnType type ;

    public static TurnUI instance;

    private void Awake()
    
        instance = this;
    
    private void Update()
    
        if (isstart && type == TurnType.right)
        
            timer += Time.deltaTime;

            transform.rotation = Quaternion.Euler(Vector3.Lerp(new Vector3(0, 0, 0), new Vector3(0, 180, 0), timer));
            if (timer > 1f)
            
                isstart = false;
            
        
        if (isend && type == TurnType.right)
        
            timer -= Time.deltaTime;

            transform.rotation = Quaternion.Euler(Vector3.Lerp(new Vector3(0, 0, 0), new Vector3(0, 180, 0), timer));
            if (timer < 0f)
            
                isend = false;
            
        

        if (isstart && type == TurnType.left)
        
            timer += Time.deltaTime;

            transform.rotation = Quaternion.Euler(Vector3.Lerp(new Vector3(0, 0, 0), new Vector3(0, -180, 0), timer));
            if (timer > 1f)
            
                isstart = false;
            
        
        if (isend && type == TurnType.left)
        
            timer -= Time.deltaTime;

            transform.rotation = Quaternion.Euler(Vector3.Lerp(new Vector3(0, 0, 0), new Vector3(0, -180, 0), timer));
            if (timer < 0f)
            
                isend = false;
            
        
    

希望这篇博文对你有帮助
如果有问题可以联系我 主页有我的联系方式

以上是关于在unity中实现分页扩展(旋转3D)功能(UGUI)的主要内容,如果未能解决你的问题,请参考以下文章

在unity中实现分页滚动的效果和吸附功能(UGUI)

如何在 Xamarin 表单中实现分页

小案例--面向对象中实现分页

如何在 React 中实现分页

如何使用hibernate在spring boot中实现分页

java中实现分页的常见几种方式