利用三角函数实现按钮上下漂浮

实现一个按钮的上下漂浮效果,我们通常会想到animation 和 itween来实现. 这次我们来使用三角函数实现

如图:

2

 

代码实现:

using UnityEngine;
using System.Collections;

public class Demo : MonoBehaviour {

    private float radian = 0;           //弧度
    public float perRadian = 0.02f;     //增加的弧度,可以控制上下移动的速度
    public float radius = 0.2f;         //运动的范围,可以控制上下移动的距离

    private Vector2 oldPos;
    private RectTransform rt;

    public void Start() 
    {
        rt = transform.GetComponent<RectTransform>();
        oldPos = rt.anchoredPosition;
    }   

    public void Update() 
    {
        radian += perRadian;

        //Matif.Cos传入弧度,返回是邻边:斜边的比, -1 到 1之间的值  乘以 运动范围 = 按钮上下移动的最大半径
        float dy = Mathf.Cos(radian) * radius;
        
        rt.anchoredPosition = oldPos + new Vector2(0, dy);
    }

}
posted @ 2015-08-16 00:48  盘子脸  阅读(732)  评论(0编辑  收藏  举报