unity 一个UI对象上下移动,移动速度符合余弦曲线

public GameObject lightpoint;  //上下移动的ui对象
private float starttime = 0.0f;
private float downpoint = -71.0f;  //实际情况来定
private float toppoint = 100.0f;   //实际情况来定
private float movetime = 2.0f;


void Update () {

        if (Time.time - starttime < movetime)
        {
            float temp = (Time.time - starttime) / movetime;
            lightpoint.transform.localPosition = new Vector3(lightpoint.transform.localPosition.x, easeInSine(downpoint, toppoint, temp), lightpoint.transform.localPosition.z);

        }
        else
        {
            starttime = Time.time;
        }
}


public static float easeInSine(float start, float end, float value)
{
        end -= start;
        return -end * Mathf.Cos(value / 1 * (Mathf.PI / 2)) + end + start;
}

 FR:徐海涛(hunk Xu)
QQ技术交流群:386476712

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值