unity3d ngui-TweenRotation-TweenPosition-TweenScale
using UnityEngine;
using System.Collections; public class TweenFlipCARDS : MonoBehaviour
{
private float mfTime = 1.0f;
public GameObject positive;//牌正面
public GameObject reverse;//牌背面
private TweenRotation mPositiveTween;
private TweenRotation mReverseTween;
/// <summary> 半圈时间 </summary>
public float duration = 1; void Start()
{
mPositiveTween = positive.GetComponent<TweenRotation>();
if (mPositiveTween == null) mPositiveTween = positive.AddComponent<TweenRotation>(); mReverseTween = reverse.GetComponent<TweenRotation>();
if (mReverseTween == null) mReverseTween = reverse.AddComponent<TweenRotation>();
mPositiveTween.enabled = false;
mReverseTween.enabled = false;
reverse.gameObject.transform.localEulerAngles = new Vector3(0, 90, 0); //mPositiveTween.onFinished.Add(new EventDelegate(PositiveEventDelegate));
//mReverseTween.onFinished.Add(new EventDelegate(ReverseEventDelegate));
//mPositiveTween.callWhenFinished = "PositiveEventDelegate";
//mReverseTween.callWhenFinished = "ReverseEventDelegate";
// a是正面。b是反面。 分为4个时间段 1. a 从0转到90 。b精巧。2.a精巧。b 从90-0. 3.a精巧,b0-90. 4.a从90-0,b精巧。
StartCoroutine(waitShowReverseTime(mfTime));//显示一定的时间后再翻牌 }
IEnumerator waitShowReverseTime(float time)
{
yield return new WaitForSeconds(time);
mPositiveTween.from = Vector3.zero;
mPositiveTween.to = new Vector3(0, 90, 0);
mPositiveTween.duration = duration; mReverseTween.from = new Vector3(0, 90, 0);
mReverseTween.to = Vector3.zero;
mReverseTween.duration = duration; UIEventListener listener = UIEventListener.Get(positive.gameObject);
listener.onClick = ClickUIButton;
listener = UIEventListener.Get(reverse.gameObject);
listener.onClick = ClickUIButton; mPositiveTween.onFinished = PositiveEventDelegate;
mReverseTween.onFinished = ReverseEventDelegate; ClickUIButton(positive); }
GameObject mNowDown;
void ClickUIButton(GameObject click)
{
mNowDown = click;
if (click == positive)
{
PlayPositive(); }
else if (click == reverse)
{
PlayReverse();
}
}
/// <summary>
/// 翻牌
/// </summary>
public void PlayPositive()
{
mPositiveTween.Play(true);
}
/// <summary>
/// 复位
/// </summary>
public void PlayReverse()
{
mReverseTween.Play(false);
}
/// <summary>
/// 翻牌回调
/// </summary>
public void PositiveEventDelegate(UITweener tween)
{
if (mNowDown == mPositiveTween.gameObject) mReverseTween.Play(true);
}
/// <summary>
/// 复位回调
/// </summary>
public void ReverseEventDelegate(UITweener tween)
{
if (mNowDown == mReverseTween.gameObject) mPositiveTween.Play(false);
}
}上述代码均来自http://www.xiaobao1993.com/486.html
TweenScale同理,是控制其大小的,可用事实上现闪烁冒泡提示效果,如信息的提示;TweenPosition可实现方向指引效果,如新手引导箭头指引新手引导:为新手引导新建立一个UI窗体。里面包括一个半透明蒙版UISprite(全屏,用来挡住全部的UI)。箭头UISprite(加上述的TweePosition控制其上下或者左右指引,箭头位置可动态调整),而后再动态复制Clone一份要引导的UI在此窗体下并改变其Z层级显示在最上面,这样就实现了一个要引导的UI的突出效果
unity3d ngui-TweenRotation-TweenPosition-TweenScale的更多相关文章
- Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)
原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址: ...
- Unity3D NGUI学习(一)血条
这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu. ...
- 【转】Unity3D NGUI事件 UIEvents
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[119706192] 本文链接地址: Unity3D NGUI事件 UIEvents UIEvents-事件系统void OnH ...
- Unity3d ngui基础教程
Unity3d ngui基础教程 NGUI教程:步骤1-Scene 1.创建一个新的场景(New Scene).2.选择并删除场景里的MainCamera.3.在NGUI菜单下选择Create a N ...
- Unity3D NGUI 给button按钮添加单间事件
Unity3D中, NGUI 给button按钮添加单间事件的方法很多,在这里只给推荐一种比较常用的方法. 推荐方法:使用UIListener. 1.给button组价添加上UIListener.选择 ...
- Unity3D NGUI UIPlayTween控件(一)动态打开关闭窗口
利用NGUI自带的脚本控件实现按钮点击窗口滑动出现与隐藏. 创建界面 首先建立如下图的三个BUtton与三个Panel 绑定脚本 然后在每个Button上添加UIPlayTween脚本,在Intera ...
- unity3d NGUI入门(描述和使用插件参数)
我用NGUI它是3.5.4,Unity3d版本号是4.3.4f需要 NGUI3.5.4 下载NGUI,这是破解版的,用于学习.假设是商用.请支持正版 插件的导入 1.NGUI的导入,双击NGUI Ne ...
- Unity3D NGUI UIPlayTween(原UIButtonTween)动画事件详解
http://blog.csdn.net/asd237241291/article/details/8507817 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术 ...
- [Unity3D]NGUI用Sprite动画和屏幕自适应做游戏开始场景
我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景, ...
- 【转】Unity3d + NGUI 的多分辨率适配
原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html 一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS ...
随机推荐
- CodeIgniter 应用开发笔记 - 3
使用migration建数据表 一.新建migrations文件夹 在application新建一个文件夹migrations,存放建表类. 建表类使用用户手册中的代码作为模板(user_guide/ ...
- Java NIO与IO
当学习了Java NIO和IO的API后,一个问题立即涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景,以及它们怎样影响您的代 ...
- 开源的Android视频播放器
之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问 ...
- CSS - ResetCss
/* KISSY CSS Reset 理念:清除和重置是紧密不可分的 特色:1.适应中文 2.基于最新主流浏览器 */ /* 清除内外边距 */ body, h1, h2, h3, h4, h5, h ...
- Android下调用收发短信邮件等
Android下调用收发短信邮件等 1,调web浏览器Uri myBlogUri = Uri.parse("http://xxxxx.com");returnIt = new In ...
- 几种能在O(n*log(n))时间排序
线性时间排序 各种排序算法总结已经介绍了几种能在O(n*log(n))时间内培训n个数的算法.归并排序和堆排序达到了最坏情况下的上界:快速排序在平均情况下达到该上界.这些算法都有一个有趣的性质:在 ...
- mysql字符串连接,重复等字符串函数总结
mysql concat()函数 MySQL的concat函数可以连接一个或者多个字符串,如 select concat('10'); 输出 10 select concat('11','22','3 ...
- 基于visual Studio2013解决C语言竞赛题之0906文件插入
题目
- [置顶] IOS培训资料
1 前言 今天给公司部门培训IOS,经过两天整理弄了个PPT和一个小的Demo,希望对大家入门有所帮助. 2 详述 培训内容,主要从开发环境讲起,到Objective-C的简单入门,IOS的简介,以及 ...
- 浅谈PPM (Project Portfolio Management) - 1
前言: 本文以纯理论性的PPM解说为主,不会涉及到具体怎样实施,我会在以后介绍具体的PPM实施方案介绍. PPM,可能非常多人并不清楚甚至可能没听说过,这是一个近些年才流行起来的概念,是Project ...