最近在写一个Unity3d的模仿windows10的桌面的程序,由于Unity3d本身不支持Gif图片,所以突发奇想使用代码来实现接近的。

接下来是代码部分:不一一解析,很简单,看的懂原理就Okly了。

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LoadImg : MonoBehaviour {
public GameObject[] gms;
Dictionary<int, float> speed = new Dictionary<int, float>();
public float s=;
// Use this for initialization
void Awake()
{
hide = false; for (int i = ; i < gms.Length; i++)
{
gms[i].transform.localEulerAngles = Vector3.back * i * 23.3f;
speed.Add(i, s);
}
StartCoroutine(RUN()); }
private void Rest()
{
if (hide)
{
for (int i = ; i < gms.Length; i++)
{
gms[i].transform.eulerAngles = Vector3.back * i * 23.3f;
}
}
StartCoroutine(RUN());
}
// Update is called once per frame
void FixedUpdate () {
for(int i = ; i < gms.Length; i++)
{
gms[i].transform.Rotate(Vector3.back * Time.deltaTime*speed[i]);
}
}
bool hide = false;
IEnumerator RUN()
{ for (int i = gms.Length-; i >=; i--)
{ if (hide)
{
StartCoroutine(SETSpeed(i));
yield return new WaitForSeconds(0.123f);
gms[i].SetActive(true); }
else
{
StartCoroutine(SETSpeed(i));
yield return new WaitForSeconds(0.123f);
gms[i].SetActive(false);
} }
if (hide)
{
yield return new WaitForSeconds(2.23f);
}
else
{
yield return new WaitForSeconds(1.23f); }
hide = !hide;
Rest(); }
IEnumerator SETSpeed(int i)
{
speed[i] = 2.23f * s;
yield return new WaitForSeconds(1.23f*0.23f*1.23f);
speed[i] = s;
} }

然后我们创建一个中心偏移的UI,Texture就像这样的:

关于中心偏移:

父对象为的y为0,这个是一个空物体。

子对象LS是一个Image/RawImage,y向上偏移了123个单位长度,然后我们就可以旋转父对象就可以看到子对象在做圆周运动了!

代码绑定:

复制12个上面做的对象放到一个空物体里,重命名复制的对象(这个可以不要不过我强迫症),然后拖到Gms里面(size这个是值个数,12个就写12就会出现12个空,保证每个都单一绑定),S代表的是旋转速度单位(角度/s)

最后保存一下,运行...效果如图:

当然实际效果没有那么生硬。

最后编辑时间 2018/6/27 5:59.

学习笔记-Unity3d代码实现Windows10加载圈圈的效果的更多相关文章

  1. OpenLayers学习笔记(十)— 动态加载JSON数据模拟航迹线

    在openlayers 3 上,加载本地json数据,动态绘制航迹线,以飞机当前位置为地图中心,此例子是模拟DEMO 本文链接:动态加载JSON数据模拟航迹线 作者:狐狸家的鱼 GitHub:八至 前 ...

  2. 高性能javascript学习笔记系列(1) -js的加载和执行

    这篇笔记的内容主要涉及js的脚本位置,如何加载js脚本和脚本文件执行的问题,按照自己的理解结合高性能JavaScript整理出来的 javascript是解释性代码,解释性代码需要经历转化成计算机指令 ...

  3. 【转】ViewPager学习笔记(一)——懒加载

    在项目中ViewPager和Fragment接口框架已经是处处可见,但是在使用中,我们肯定不希望用户在当前页面时就在前后页面的数据,加入数据量很大,而用户又不愿意左右滑动浏览,那么这时候ViewPag ...

  4. [转]ViewPager学习笔记(一)——懒加载

    在项目中ViewPager和Fragment接口框架已经是处处可见,但是在使用中,我们肯定不希望用户在当前页面时就在前后页面的数据,加入数据量很大,而用户又不愿意左右滑动浏览,那么这时候ViewPag ...

  5. easyui学习笔记8—在手风琴中加载其他的页面

    在手风琴中加载其他页面和在表格中加载其他的页面有写类似的,就是请求另外一个页面显示数据. 1.先看看引用的资源文件 <link rel="stylesheet" href=& ...

  6. Duilib学习笔记《07》— 资源加载

    Duilib的界面表现力能如此丰富,很大程度上得益于贴图描述的简单强大.通过之前的学习及参看相关例子,我们可以发现,在XML布局文件中,不管是窗体背景还是控件,都添加了对应的图片资源以此来美化界面.而 ...

  7. 学习笔记TF049:TensorFlow 模型存储加载、队列线程、加载数据、自定义操作

    生成检查点文件(chekpoint file),扩展名.ckpt,tf.train.Saver对象调用Saver.save()生成.包含权重和其他程序定义变量,不包含图结构.另一程序使用,需要重新创建 ...

  8. OpenLayers学习笔记(一)—在线加载谷歌影像地图&离线加载本地瓦片地图

    实现根据在线离线判断加载地图, 在线加载谷歌影响地图, 离线加载本地瓦片地图 作者: 狐狸家的鱼 Github: 八至 html代码 <div id="map" tabind ...

  9. Away3D引擎学习笔记(一)资源加载解析块

    前文:Away3D断断续续用了一段时间了,三维相关的很多算法,计算转换还是有点绕,整理些自己觉得还有点意思东西,希望大家有用. 三维开始,Away3D构架你场景那几行代码各处都有,这里就不copy了, ...

随机推荐

  1. mybatis学习笔记(二)

    三种查询方式,由<resultType 属性控制> 第一种 selectList() 返回值为LIst List<People> selectList = session.se ...

  2. quick-cocos2dx在eclipse下的lua调试

    文中大部分内容来自http://cn.quick-x.com/?p=253,绿色标记部分为修改部分. 配置编译环境的基本步骤: 安装 Visual Studio 2012 安装 Java SDK 安装 ...

  3. leetcode bug free

    ---不包含jiuzhang ladders中出现过的题.如出现多个方法,则最后一个方法是最优解. 目录: 1 String 2 Two pointers 3 Array 4 DFS &&am ...

  4. Git原理入门简析

    为了获得更好的阅读体验,建议访问原地址:传送门 前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的 ...

  5. AutoCAD .NET: 遍历模型空间

    原文:http://spiderinnet1.typepad.com/blog/2012/06/autocad-net-iterate-through-model-space.html https:/ ...

  6. idea 开发中常用的26个快捷键!

    -------         udea中窗口最大化---->Windows 上: Ctrl+Shift+F12 --------      ctrl+z撤回代码 -------       c ...

  7. C#代码实现IoC(控制反转)设计,以及我对IoC的理解

    一. 什么是IoC 当在A类中要使用B类的时候,我们一般都是采用new的方式来实例化B类,这样一来这两个类就有很强的依赖关系,不符合低耦合的设计思想.这时候我们可以通过一个中间容器来实例化对象,需要的 ...

  8. unity_小功能实现(碰撞检测)

    1.触发器Trigger:勾选IsTrigger属性 //当player刚进入触发区域的时刻发生触发检测,比如在靠近门的某个区域门一直处于开着状态 void OnTriggerEnter(Collid ...

  9. 推荐一个比 ls 命令速度快 100 倍的文件目录浏览神器

    本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...

  10. CodeForces 620D Professor GukiZ and Two Arrays 双指针

    Professor GukiZ and Two Arrays 题解: 将a数组都sort一遍之后, b数组也sort一遍之后. 可以观察得到 对于每一个ai来说, 整个数组bi是一个V型的. 并且对于 ...