using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening; // 引用命名空间
public class MyButton : MonoBehaviour {
public RectTransform panelTrans;
private Tweener tweener;
private bool isInScreen = false; // true: 在屏幕中
private void Start()
{
// Tweener 对象保存这个动画的信息,每次调用 do类型的方法(DOTween提供的方法) 都会创建一个 tweener对象,这个对象是 DOTweener来管理的
tweener = panelTrans.DOLocalMove(new Vector3(0, 0, 0), 0.3F); // 默认:动画播放完成会自动被销毁
tweener.SetAutoKill(false); // 把 AutoKill自动销毁 设置为false
tweener.Pause(); // 暂停
}
// 监听按钮点击事件回调
public void OnClick()
{
// 这里 DOMove 方法,是插件 DOTween 对 Transform 进行扩展得到的方法,Unity本身不包含该方法。
// 让Panel从点击位置,移动到(0, 0, 0)的位置,事件为0.3秒
// DOMove 修改的是 世界坐标
// panelTrans.DOMove(new Vector3(0, 0, 0), 0.3F);
// 这里 DOLoaclMove 方法,是插件 DOTween 对 Transform 进行扩展得到的方法,Unity本身不包含该方法。
// 让Panel从点击位置,移动到(0, 0, 0)的位置,事件为0.3秒
// DOMove 修改的是 本地坐标
// panelTrans.DOLocalMove(new Vector3(0, 0, 0), 0.3F);
if (isInScreen)
{
panelTrans.DOPlayBackwards();
isInScreen = false;
}
else
{
panelTrans.DOPlayForward();
isInScreen = true;
}
}
private void OnDestroy()
{
tweener.Kill();
tweener = null;
}
}