您的位置:首页 > 产品设计 > UI/UE

u3d_插件DoTween:(03)控制Cube和UI面板的动画

2017-04-26 00:00 453 查看
一、步骤

1.创建一个cube
2.从(0,0,0)到(10,10,10)的位置变化
3.定义一个属性,持有cube,然后执行动画在方法Update里面执行
public Transform cubeTransform;
void Start () {
DOTween.To( ()=>myValue, x=>myValue = x, new Vector3(10,10,10),2);
}
void Update () {
// 这样就确保 cube的每一帧都会和 myValue保存一致
cubeTransform.position = myValue;
}

4.对UI使用Dotween(image、text)
5.修改myValue的默认值的为 image的原始位置
5.1 通过代码修改myValue到终点位置
5.2 将myValue的值 进行和UI同步
6.移动的时候 有问题,可能taskPanelTransform 移动的是世界坐标(所以我们需要设置局部坐标)
taskPanelTransform.localPosition = myValue;
7.对float的类型 做一个动画 (可以实现渐变效果)

#####二、错误

UnassignedReferenceException: The variable taskPanelTransform of GetStart has not been assigned.
You probably need to assign the taskPanelTransform variable of the GetStart script in the inspector.
UnityEngine.Transform.set_position (Vector3 value) (at /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/TransformBindings.gen.cs:28)
GetStart.Update () (at Assets/Scripts/GetStart.cs:36)

没有UI里面对taskPanelTransform属性进行绑定

#####三、code

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening; // 引入命名空间

public class GetStart : MonoBehaviour {

public Vector3 myValue = new Vector3(0,0,0); // 创建一个变量 ,默认值为000

public Transform cubeTransform; // cube

public RectTransform taskPanelTransform; // 任务面板的位置

public float myValue2 = 0; // 可以用来做渐变效果

void Start () {

// 对变量做一个动画(通过差值的方式去修改一个值的变化)
// 当前的值 到 另外一个值
// To方法使用到了 C#里面的lambda表达式(前面两个参数,两个委托类型,两个方法) (可以查看c#教程)
// x = myValue

/*
第一个参数 : ()=>myValue 对这个值进行修改,把myValue返回
第二个参数 : x=>myValue = x 。修改的值 赋值给myValue . 传递一个值 DoTween已经帮我们计算好的值。把这个值赋值给myValue myValue=x
第三个参数 :  整个动画的目标值
第四个参数 : 由当前值到目标值 需要的时间
*/

//		DOTween.To( ()=>myValue, x=>myValue = x, new Vector3(0,0,0),2);
DOTween.To(()=>myValue2,x=>myValue2 =x ,10,2);

}

void Update () {
// 这样就确保 cube的每一帧都会和 myValue保存一致
//		cubeTransform.position = myValue;
//		taskPanelTransform.position = myValue;
taskPanelTransform.localPosition = myValue;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Unity3D DoTween插件