文档章节

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
如何在unity中使用龙骨动画

龙骨 龙骨是Egret公司的一个用来做动画的软件,本文分享一下如何在Unity2D中使用龙骨导出的2D动画 导出动画 在龙骨中文件->导出,导出动画数据和纹理到Unity的项目中,如果打包了的话就在Uni...

凌夜霜
09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的索引类型(Index types)

转发 TypeScript基础入门之高级类型的索引类型(Index types) 高级类型 索引类型(Index types) 使用索引类型,编译器就能够检查使用了动态属性名的代码。 例如,一个常见的JavaScript模式是从...

durban
3分钟前
0
0
利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
38分钟前
0
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
今天
1
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
今天
1
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
102
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部