学习unity1年多了,工作也1年了,因为工作需要,有几个月没接触unity Ngui啦。

学的还是不踏实。继续努力吧。由于下周就要进行新游戏的开发,这几天熟悉熟悉NGUI,今天按照现在公司以前的项目做了个loading界面。

    内容就是一张背景图,上面会有几个精灵一闪一闪的跳动的显示加载的界面,下面会随机出现小提示文字。需求很简单。但是做了这个简单的功能练习,我还是学会了一点儿基础。

    先说提示文字随机显示吧。

下面是我需要显示label文字的脚本LoadingTips.cs

using UnityEngine;
using System.Collections; public class LoadingTips : MonoBehaviour {
string[] tips = new string[] { "小常识:做任务可以获得更多得经验噢!", "每天登陆有奖励哦!","可以和好友一起玩,看看谁的分数更高!","happay everyday!!"};
GameObject tip;
void Start () {
tip = transform.gameObject;
//StartCoroutine("RandomTips");
InvokeRepeating("RandomText", 2, 3.0F);
}
void RandomText()
{
for (int i = 0; i < tips.Length + 1; i++)
{
tip.GetComponent<UILabel>().text = tips[Random.Range(0, i)];
}
}
IEnumerator RandomTips()
{
for (int i = 0; i < tips.Length + 1; i++)
{
Debug.Log(Random.Range(0, i));
tip.GetComponent<UILabel>().text = tips[Random.Range(0, i)];
}
yield return new WaitForSeconds(4f);
StartCoroutine("RandomTips");
} }

  

这里遇到个问题就是 每隔多少秒显示(刷新)文字的实现。开始想写在Update方法里,可是Update每一帧都执行。我记得可以写在Update里面的,控制一下每隔多少秒执行啊啊,不会啊,以前见过有大神写过,忘记了。哪位大神要是知道教教我吧。

后来花花说用这个方法 InvokeRepeating,查了APi

http://docs.unity3d.com/ScriptReference/MonoBehaviour.InvokeRepeating.html

void InvokeRepeating(string methodName, float time, float repeatRate);这是用法。methodName传的是方法名,开始我传的是RandomTips,不能实现。后来单独写了个显示文字的方法 传的RandomText可以实现。

另外,如果用协程 http://docs.unity3d.com/ScriptReference/Coroutine.html 调用的方法可以是 RandomTips,递归调用,实现每隔m秒执行某种行为等。

以上就是实现提示文字的Script,很简单有没有。

然后是一跳一跳的加载进度的实现。也是一个脚本LoadingController.cs

using UnityEngine;
using System.Collections; public class LoadingController : MonoBehaviour { public Animator[] animators; void Start()
{
StartCoroutine("PlayLoading");
} IEnumerator PlayLoading()
{
animators[0].enabled = true;
animators[3].enabled = true;
yield return new WaitForSeconds(0.7f);
animators[1].enabled = true;
animators[4].enabled = true;
yield return new WaitForSeconds(0.7f);
animators[2].enabled = true;
animators[5].enabled = true;
}
}

又是协程,协程很好用有没有。这个动画的实现也遇到了问题。哎,发现我的问题永远是那么多。

  

像这样每个item是个精灵的根节点。之前我是直接把精灵放到PanelLoading下面 但是后来发现 在精灵上加个Animator组件 跳动的位置不是我想要的位置。后来想一定在每个让之跳动的精灵上加个gameobject控制位置哈。

加动画的时候我又遇到了个问题,就是Loading有2个,后来查了一下1叫Loading.controller  ,2叫Loading.anim

我不会做这个2, 1,2都是可以通过在Project视图下去创建的,先创建个Animator Controller ,在里面增加状态机,创建个状态,然后把你的2赋给这个状态的Motion。然后把你的控制器赋给你的Animator 就能按照你的动画去运行了。

关于Animator这方面 笔者还要进一步的研究。

基本的Loading场景UI做好了!!啊啊啊,工作一年了,学了1年了unity NGUI 怎么还是不进步,感觉好多多基础都不会。

学技术不能气馁,我要加油。努力。在以前的公司感觉给我个界面我都能做。以前的是大游戏 rpg 和卡牌类型。

现在的是小游戏,三消类的。我看了目前公司的游戏 ,感觉很迷茫。现在还没开始项目,下周一开始。我先恶补一下基础。啊啊啊,这几天除了之前的游戏 就是看C#图解。一半还没看完,确实学到很多,也记了笔记。

在此,我生命的转折点,重要时期,感谢我的好友@花花@Kotoba@叶子哥哥 ,还有很多小伙伴,真心的帮助我。我会越来越努力的。永不言弃!小贝是最棒的!!嘎嘎。。。。

以上仅此作为我的学习笔记,记录我的失误 学到的,也有监督我的作用,如果在犯同样的错误 ,给花花买冰棍去......

加油吧 ,我,悲惨的小贝仔,我以后是要成为大富婆的人,不能放弃。Aspire to inspire until I expire.

游戏Loading中的小提示和Loading动画实现的更多相关文章

  1. Swift类型推测在可选调用中的小提示

    我们知道Swift中协议里也有对应于Objc中的可选方法或计算属性,当然协议必须以@objc伪指令修饰否则不可以哦. 如下示例: @objc protocol Transaction{ fun com ...

  2. 利用@keyframe及animation做一个页面Loading时的小动画

    前言 利用@keyframe规则和animation常用属性做一个页面Loading时的小动画. 1  @keyframe规则简介 @keyframes定义关键帧,即动画每一帧执行什么. 要使用关键帧 ...

  3. 【转】Android中通知的提示音、震动和LED灯效果小例子

    通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现.发出一条通知后,手机最上方 ...

  4. 完美解决iis下JWplayer提示Error loading media: File could not be played错误

    最近开发项目需要使用JWplayer插件播放视频,但是无论换那个版本.换什么样的视频总是提示Error loading media: File could not be played错误,废了好大的劲 ...

  5. 小技巧:SystemTray中进行操作提示

    SystemTray中进行操作提示在wp中应用比较广泛,截图如下. 实现方法也十分简单 1.xaml代码中写入: shell:SystemTray.IsVisible="True" ...

  6. 算法、数据结构、与设计模式等在游戏开发中的运用 (一):单例设计(Singleton Design)

    算法.数据结构.与设计模式等在游戏开发中的运用 (一):单例设计(Singleton Design) 作者: Compasslg 李涵威 1. 什么是单例设计(Singleton Design) 在学 ...

  7. Entity Framework加载相关实体——延迟加载Lazy Loading、贪婪加载Eager Loading、显示加载Explicit Loading

    Entity Framework提供了三种加载相关实体的方法:Lazy Loading,Eager Loading和Explicit Loading.首先我们先来看一下MSDN对三种加载实体方法的定义 ...

  8. 【Unity游戏开发】浅谈Unity游戏开发中的单元测试

    一.单元测试的定义与作用 单元测试定义:单元测试在传统软件开发中是非常重要的工具,它是指对软件中的最小可测试单元进行检查和验证,一般情况下就是对代码中的一个函数去进行验证,检查它的正确性.一个单元测试 ...

  9. Go 在游戏行业中的工程实践

    在今年 1 月由七牛云主办的 ECUG Con 十周年盛会上,真有趣技术总监陈明达带来了题为< Go 在游戏行业中的工程实践>的精彩分享,深入讲解了 Go 的工程经验,错误和异常处理,in ...

随机推荐

  1. hdu 1106 排序(水题)

    题目描述: 输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以'0'开头,这些头部的'0'应该被忽略掉,除非这个整数就是由若干个'0'组成的, ...

  2. sql server 分页存储过程

    ----------------------分页存储过程------------------------------------------------------------------------ ...

  3. centos文件误删除恢复

    Centos 文件误删除 当意识到误删除文件后,切忌千万不要再频繁写入了,否则 你的数据恢复的数量将会很少. 而我们要做的是,第一时间把服务器上的服务全部停掉,直接killall 进程名 或者 kil ...

  4. Unity(四)IocContainer 封装类库

    首先要在项目中安装Unity,通过NuGet搜索Unity. 1.定义接口 IDependencyResolver using System; using System.Collections.Gen ...

  5. z-fighting在unity中的解决方式

    如果在画面中,发现有画面闪烁的问题.那么大多数情况下是z-fighting引起的, 解决方案: 1, 在每个场景中,找到那个MainCamera,然后在Inspector上,找到MainCamera的 ...

  6. [问题记录.VisualStudio]VS2013无法新增和打开项目

    [问题描述] 1) 打开项目失败,报“项目文件只读”或“空引用”错误. 2) 无法新建项目,没有任何可用模板. 3) TFS都正常 [问题产生] 机器环境: 1) 装的Win10双系统,其中一个系统是 ...

  7. flask-admin章节四:flask session的使用

    1. 关于session flask session可能很多人根本都没有使用过,倒是cookie大家可能使用得比较多.flask cookie使用起来比较简单,就两个函数,读取和设置. 具体使用方式如 ...

  8. [python](爬虫)如何使用正确的姿势欣赏知乎的“长得好看是怎样一种体验呢?”问答中的相片

    从在知乎关注了几个大神,我发现我知乎的主页画风突变.经常会出现 ***长得好看是怎样一种体验呢? 不用***,却长得好看是一种怎样的体验? 什么样***作为头像? ... 诸如此类的问答.点进去之后发 ...

  9. [PHP]OOP两类写法的性能对比

    在PHP的OOP中我们有常见两种方法调用,对象调用和静态调用. 下面是一个简单的测试来比较它们的细微差异. /** * 对象初始化 -> 调用:objectCall.php * * 测试调用50 ...

  10. 使用Application Insights 做分析

    Application Insights on Windows Desktop apps, services and worker roles : https://azure.microsoft.co ...