unity3D学习之ITween例子测试-UI菜鸟笔记1
来源:互联网 发布:网络电视没有嘉佳卡通 编辑:程序博客网 时间:2024/05/30 02:26
尝试着模仿ITween官网上的例子,写的一个交互UI:
1、先创建一个Prefab格子:
2、创建脚本:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class TextDemo : MonoBehaviour { //调用ITween插件测试例子 public GameObject box; public float Size = 9; private GameObject prefa;// Use this for initializationvoid Start () { //创建方格for (int i = 0; i < Size; i++) { for (int j = 1; j < Size; j++) { //创建预制体并转为gameobject方便变色 GameObject boxer = Instantiate(box, new Vector3(i, 0, j), Quaternion.identity); if ((i+j)%2 == 0) { //偶数变黑色 iTween.ColorTo(boxer, Color.black, .5f); } } }}// Update is called once per framevoid Update () { //射线检测 RaycastHit hitinfo; //返回一条射线从摄像机通过一个屏幕点(屏幕位置转射线) //通过屏幕获取空间位置 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //当鼠标的射线碰到box预制体时触发,返回真 //out返回Raycast中的RaycastHit(直接返回不用赋值,ref则要) bool iscollider = Physics.Raycast(ray, out hitinfo); if (iscollider) { if (hitinfo.collider.tag == "Box") { ChangeColorAndMoveup(hitinfo.collider.gameObject); } }else if(prefa != null) { reseting(); }} //改变颜色和位置 void ChangeColorAndMoveup(GameObject bos) { //上一个box恢复为原来的状态(其实是强行改回原来的设定) if (prefa !=null && prefa != bos) { reseting(); } //变为绿色和上移 if (bos.transform.position.y ==0) { iTween.ColorTo(bos, Color.green, .01f); iTween.MoveTo(bos, new Vector3(bos.transform.position.x, .5f, bos.transform.position.z), .01f); prefa = bos; } } void reseting() { if ((prefa.transform.position.x + prefa.transform.position.z) % 2 == 0) { iTween.ColorTo(prefa, Color.black, 2f); } else { iTween.ColorTo(prefa, Color.white, 2f); } iTween.MoveTo(prefa, new Vector3(prefa.transform.position.x, 0, prefa.transform.position.z), 2f); }}
3、把脚本绑在MainCamera上:
4、最后实现的效果:
5、下面是自己用DoTween瞎搞的一个练习:
using System.Collections;using System.Collections.Generic;using UnityEngine;using DG.Tweening;public class MoveDemo : MonoBehaviour { //DoTween扩展性强 public Transform whitecube, blackcube, greencube; public Vector3[] theway = new[] { new Vector3(2,2,0), new Vector3(6,2,2), new Vector3(8,8,20), new Vector3(0,3,3), }; // Use this for initialization void Start () { whitecube.DOMove(new Vector3(3, 0, 0), 2f); blackcube.DOMove(new Vector3(3, 4, 0), 2f).From(false); //setlookat使物体面向前进的方向 //setEase设置物体的动画曲线(枚举类型) //setloops循环 //setoptions使循环无缝连接 greencube.DOPath(theway, 4, PathType.CatmullRom).SetLookAt(.00001f).SetEase(Ease.Linear).SetLoops(-1).SetOptions(true); Material mat = greencube.GetComponent<Renderer>().material; //_EmissionColor发光颜色 mat.DOColor(new Color(1, 2, 2, 2), "_EmissionColor", 1).SetLoops(-1, LoopType.Yoyo); //改变material中的offset属性 mat.DOOffset(new Vector2(1, 1), 1).SetLoops(-1, LoopType.Incremental); //颜色透明有效果时有作用(控制颜色透明度) //mat.DOFade(0, 2); }// Update is called once per framevoid Update () {}}
阅读全文
0 0
- unity3D学习之ITween例子测试-UI菜鸟笔记1
- unity3D学习之音频测试-audio菜鸟笔记4
- Unity3D学习,iTween范例1 AccurateLob
- Unity3D之iTween
- Unity3D学习笔记06:iTween插件的简单使用
- unity3D学习之音频基础原理-audio菜鸟笔记3
- unity3d iTween插件的学习
- unity3D学习之声音的采集与处理-audio菜鸟笔记1
- Android菜鸟学习笔记之---用handler更新UI
- iOS自动化测试之UI自动化测试学习笔记
- unity3D菜鸟成长笔记 之 旧版粒子系统研究 测试实验(一)
- unity3D 菜鸟成长笔记 之 旧版粒子系统测试实验(二)
- iTween研究院之学习笔记Move移动篇
- iTween研究院之学习笔记Move移动篇(一)
- iTween研究院之学习笔记Move移动篇(一)
- iTween研究院之学习笔记Move移动篇
- iTween研究院之学习笔记Move移动篇(一)
- iTween研究院之学习笔记Move移动篇(一)
- ZOJ 3519 Who is the Smartest Man (贪心)
- JavaScript中this、apply()、call()的用法及解释示例
- 笔试题8——二进制中1的个数
- 切比雪夫多项式MATLAB绘图
- HDU 2896-病毒侵袭(AC自动机)
- unity3D学习之ITween例子测试-UI菜鸟笔记1
- Frogger
- ssm框架配置文件
- 阿里云CentOS6Web服务器配置
- HDU 4521 小明系列问题——小明序列【dp+线段树优化||最长递增序列】
- HDU6092-Rikka with Subset
- 初学者EFM32上移植uC/OSII
- 【华为机试】成绩排序
- 吃糖果