鸟语天空
PingPong缓动
post by:追风剑情 2019-5-30 10:46

示例

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// PingPong缓动
/// </summary>
public class TweenPingPong : MonoBehaviour
{
    public Vector3 startPosition;
    public Vector3 endPosition;
    public float speed = 1;
    private float length = 1;
    private float t = 0;
    private Transform mTransform;

    private void Awake()
    {
        mTransform = transform;
        length = Vector3.Distance(startPosition, endPosition);
    }

    void Update()
    {
        t += speed * Time.deltaTime;
        //让返回值在0到length之间往返
        float p = Mathf.PingPong(t, length);
        Vector3 pos = Vector3.Lerp(endPosition, startPosition, p);
        mTransform.localPosition = pos;
    }
}

运行效果

2222.gif

评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容