文档章节

u3d_插件DoTween:(05)动画的前放和倒放

宇鸿165
 宇鸿165
发布于 2017/04/26 14:52
字数 417
阅读 37
收藏 1

#####一、步骤

1.定义一个属性	public bool isIn = false; // 判断是否在屏幕当中(默认是false 不在屏幕当中) 判断是否在屏幕当中
2.按钮点击判断处理 isIn 的操作
3.DOLocalMove、DOMove这些方法会返回一个Tweener的对象,动画结束之后会把这个对象销毁
4.panelTransform.DOPlayBackwards();// 倒放
5.tweener.SetAutoKill(false); // 把autokill 自动销毁设置 为 不自动销毁
6.DOPlay(); // 动画只会执行1次
7.DOPlayForward(); 和DOPlayBackwards();// 是成对的

二、code MyButton脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class MyButton : MonoBehaviour {

// 属性
	public RectTransform panelTransform; // image
	public bool isIn = false; // 判断是否在屏幕当中(默认是false 不在屏幕当中)

// 方法
	// 代码放到start里面 说明只会执行一次 , 
	void Start(){
		
		// 进入屏幕
		// DOMove 
		// 这个修改是世界坐标
		//		panelTransform.DOMove (new Vector3 (0, 0, 0), 1);// 让paneltransform从当前位置 动画到0,0,0 时间为1秒
		// 我们需要修改的是局部坐标
		Tweener tweener = panelTransform.DOLocalMove (new Vector3 (0, 0, 0), 0.3f);
		// DolcalMove 动画 默认播放完会销毁
		// tweener 对象保存这个动画的信息 每次调用do类型的方法都会创建一个tweener对象,这个对象是dotween来管理的
		tweener.SetAutoKill(false); // 把autokill 自动销毁设置 为 不自动销毁
		tweener.Pause(); // 暂停
	}

	public void onclick (){

		if (isIn == false) {
//			panelTransform.DOPlay ();//只会播放一次
			panelTransform.DOPlayForward(); // 前放 跟DOPlayBackwards是成对的

			// 如果把start 中tweener这些操作放到这个,那么每次执行1次都会保留一个tweener对象,消耗性能
			isIn = true; // 设置为在屏幕中
		} else {
			// 让panel离开屏幕
			panelTransform.DOPlayBackwards();// 倒放
			isIn = false; // 设置为不在屏幕中
		}

	}
}


动画的前放盒倒放.gif

© 著作权归作者所有

共有 人打赏支持
宇鸿165
粉丝 1
博文 919
码字总数 368963
作品 0
广州
关于Unity3D Assets资源目录结构管理

u3d默认目录 ) (插件)不是C#语言写一些插件和库,比如javajsC++,u3d默认目录,u3d是C#编译器,其他语言只有这个目录才能识别 资源,需要动态加载的资源放在这里,打包时在这个文件夹里的所有文件...

lizhenxiqnmlgb
05/23
0
0
如何在unity中使用龙骨动画

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

凌夜霜
09/04
0
0
unity pro 2017 Mac(游戏开发制作工具)详细破解教程!

Unity 2017 for Mac的优点在于它可以让您创建可在所有主流桌面和移动操作系统上播放的游戏,而不会影响游戏体验和性能。如果你需要一个高端和基于GUI的游戏开发工具附带一个非常强大的引擎,...

无言苍白
08/22
0
0
Unite Beijing 2018|行业应用精彩议题曝光

我们不久之前为大家提前曝光了部分大会精彩技术议题,引起了大家的广泛关注。作为世界顶尖的内容创作引擎,Unity不仅仅可用于跨平台的游戏开发,越来越多的开发者将Unity运用到制造业,汽车,...

weixin_41849687
04/20
0
0
Egret3D 1.2 发布,编辑器内测版同步上线

10月8日,Egret3D 版本更新至 1.2 版本,本次更新重点解决以下问题:1、通过模块化分离,降低引擎体积和内部耦合性;2、动画系统支持更多高级特性;3、通过 Egret3D Inspector 和 Egret3D Ed...

白鹭科技
10/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
22分钟前
0
0
现场看路演了!

HiBlock
昨天
4
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
4
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
4
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部