文档章节

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

宇鸿165
 宇鸿165
发布于 2017/04/26 14:50
字数 529
阅读 27
收藏 0

一、步骤

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;

	}
} 

© 著作权归作者所有

共有 人打赏支持
宇鸿165
粉丝 1
博文 919
码字总数 368963
作品 0
广州
私信 提问
DoTween的使用与详解

DOTween路径动画详解与使用 转载请注明出处 DOTween插件一般与UGUI结合使用 DoTween的运动方式 1、DOTween.To()方法 对变量做一个动画,通过插值的方式修改一个值的变化 2、控制Cube和UI面板...

xiaoguomumu
2017/07/17
0
0
Unity4.6新UI系统初探(uGUI)

一、引言 Unity终于在即将到来的4.6版本内集成了所见即所得的UI解决方案(视频)。事实上从近几个版本开始,Unity就在为这套系统做技术扩展,以保证最终能实现较理想的UI系统。本文试图通过初步...

小姚
2014/12/24
0
1
木木的Unity学习笔记(四)—— Unity中的柏林噪声(Perlin Noise)

木木的Unity学习笔记(四)—— Unity中的柏林噪声 柏林噪声是一个非常强大算法,经常用于程序生成随机内容,在游戏和其他像电影等多媒体领域广泛应用。算法发明者Ken Perlin也因此算法获得奥...

fumikisama
05/06
0
0
如何把UGUI当做一个插件使用(删除Unity中的UGUI,导入UGUI源码进入项目)

最近闲着没事,一直也都知道UGUI是开源的,所以就想着把UGUI的源代码放到Unity里面,看一看能不能用,经过一番调试,终于弄好了,有兴趣的同学可以看一下,欢迎交流沟通。 欲练神功,必先自宫...

qq826364410
05/09
0
0
Unity3d Android开发 Android Development

Android Unity3D基础 开发环境 Window 7 Unity3D 3.3.0 MB525 defy Android 2.1-update1 本次学习: 1.认识Unity 2.Unity3D环境搭建与Android软件生成 3.Unity3D基本使用方法 1.认识Unity3D...

长平狐
2012/08/29
8.2K
1

没有更多内容

加载失败,请刷新页面

加载更多

ZooKeeper命令大全

创建节点 # 创建节点,-s表示顺序节点,-e表示临时节点,默认是持久节点create [-s] [-e] path data acl # 示例create /zk-book 123 查看节点 ls path [watch] # 示例ls /zk-book 获取...

爱宝贝丶
17分钟前
0
0
QLExpress基本语法

QLExpress基本语法 一、背景介绍 由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。 在阿里集团有...

xiaomin0322
17分钟前
0
0
Elasticsearch节点角色类型node.master和node.data说明s

一般地,ElasticSearch集群中每个节点都有成为主节点的资格,也都存储数据,还可以提供查询服务。这些功能是由两个属性控制的(node.master和node.data)。默认情况下这两个属性的值都是tru...

傲娇字符
33分钟前
5
0
rem的使用

(function (doc, win) { var docEl = doc.documentElement var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize' var recalc = function () { var cl......

Js_Mei
40分钟前
1
0
idea 删除代码的注释

搜索栏使用 正则表达式搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*) 会搜索出来所有注释的代码 用空格replace替换掉就可以了。 或者搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\...

时刻在奔跑
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部