unity3d 计时功能舒爽解决方案
上次也写了一篇计时功能的博客
今天这篇文章和上次的文章实现思路不一样,结果一样
上篇文章地址:http://www.cnblogs.com/shenggege/p/4251123.html
思路决定一切啊。。。
这次思路比上次的好很多,多谢我的好基友小全全指点
思路就是new一个时间,年月日随便写,时/分/秒/毫秒归零
为什么要归零呢?
因为在update中每执行一次,我们就向这个时间 +time.deltatime 秒
然后在分别取出分/秒/毫秒
表达能力有限,举个例子吧
2015.1.30.17.17.41.33
不要前面的年月日:17时17分41秒33毫秒
update每执行一次,我们就加上时间,然后在分别取出分/秒/毫秒
最后挨个取字符就得到我们想要的结果了
哎,还是解释得不够完美,这已经是我语言表达能力的极限了
我直接上代码吧,代码量很少
private DateTime timeNow = new DateTime(, , , , , , );
void Update()
{
timeNow = timeNow.AddSeconds(Time.deltaTime);
SetGameTime(timeNow, time);
SetGameTime(timeNow, best);
//这个是对比时间用的
//Debug.Log(DateTime.Compare(DateTime.Now, timeNow));
}
/// 置游戏时间 <summary>
/// 置游戏时间
/// </summary>
/// <param name="_time">时间</param>
/// <param name="timeType">时间类型</param>
private void SetGameTime(DateTime _time, UISprite[] timeType)
{
//拼接字符
//最终格式:001122
string currentTime = string.Format("{0}{1}{2}",
//取分补0
_time.Minute.ToString().PadLeft(, ''),
//取秒补0
_time.Second.ToString().PadLeft(, ''),
//取毫秒/10补0(1s=1000ms 只需要两位数 所以/10)
(_time.Millisecond / ).ToString().PadLeft(, '')
);
//显示对应的图(我用的是美术字)
for (int i = ; i < ; i++)
timeType[i].spriteName = currentTime.Substring(i, );
}
以上是全部代码,希望对大家有所帮助!
现在回头看看上次关于这个功能的文章,不堪直视啊- -
哦哦,差点忘记了!!
使用这个思路的话,当分为60分时,会自动归零
因为60分=1时!也就是说当分为60时,就会出现bug!
尼玛归零了!玛归零了!归零了!零了!了!!
不过话说回来哪个二货会在手机上挂个60分钟就为了等这个bug出现。。。
本文链接:http://www.cnblogs.com/shenggege/p/4262905.html
unity3d 计时功能舒爽解决方案的更多相关文章
- Unity3D逻辑热更新,第二代舒爽解决方案,L#使用简介
热更新 天下武功,无坚不破,唯快不破 热更新就是为了更快的把内容推到用户手中. 之前,我设计了C#Light,经过半年多的持续修补,勉强可用,磕磕绊绊.感谢那些,试过,骂过,用过的朋友,在你们的陪伴下 ...
- Unity3D 游戏计时功能实现
最近工作实在是太忙了,没办法认真写博客,但是还是要好好记录下日常的学习. 需求 各类游戏中都大量运用到计时功能,不管是直接显示的在前端UI,还是后台运行. 思路 Unity中提供了Time类可以方便的 ...
- Atitit截屏功能的设计解决方案
Atitit截屏功能的设计解决方案 自己实现.... 使用快捷键.. 弹出自己的win,,背景是屏幕快照 点击鼠标光标变成十字状态 出现截屏窗口调整截屏窗口位置与大小 释放鼠标,三个btn,, 复制 ...
- Unity3d 播放高质量视频解决方案
Unity3d 播放高质量视频解决方案~ 最近在折腾一个视频游戏.真的是一个视频游戏,游戏主背景是个大视频.可能切换三四个视频,而且需要无缝切换. 平台是安卓,蕊片是rockclip.找了各式各样的插 ...
- C/C++/Java 程序计时功能函数
编写程序肯定要使用计时功能,来判断程序的执行时间.今天Google了一下,自己就梳理总结一下: (1)C/C++程序计时 C/C++中使用的计时函数是clock(). C语言中的头文件对应是#incl ...
- 【cocos2d-x制作别踩白块儿】第九期:游戏计时功能(附源代码)
游戏没有计时,不是坑爹吗? 这一期,我们将来加入游戏计时功能. 1. 定义变量和函数 我们先在HelloWorldScene.h中定义几个变量和函数 long startTime; bool time ...
- JavaScript如何实现计时功能。
JavaScript如何实现计时功能. 解答:<script> window.setTimeout( “window.location = ‘http://www.csdn.net ‘; ...
- 实现windows批处理下的计时功能
有时在执行完一段windows的批处理后,想知道这个过程花费了多少时间,如果是windows下的c代码可以在过程前后分别调用GetTickCount(),然后相减即可得到花费的时间. 但是如果在批处理 ...
- Unity3D启动报错的解决方案
在Windows Server 2003 下安装好Unity3D,启动时报错--“Failed to initialize unity graphics.”,截图如下: 在网上搜了一下,说是要启用D3 ...
随机推荐
- angular.js和ionic框架搭建一个webApp
原文地址:http://www.jianshu.com/p/ea0dcf1d31c9
- [Raspberry]001Ubuntu下查看linux版本,内核版本,系统位数,gcc版本
1. 查看linux版本 sunny@ubuntu:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) sunny@ubuntu:~$ cat /proc/ ...
- bootstrap table 解析写死的json.并且把进度条放进列中。
function showPhaseInfo(phase){ //json字符串转json对象 var phaseInfo = eval(phase); $('#phaseTable').bootst ...
- jQuery Cookie操作cookie
jQuery cookie下载地址:http://plugins.jquery.com/cookie/ 使用jquery.cookie.js依赖于jquery 基本用法: 1. 创建cookie ...
- idea中查看类层级class hierarchy
idea中,我当前设置的是eclipse的快捷键(从eclipse转过来的) 一般情况下,查看类的子类Ctrl+T 如何以树的形式查看完整继承关系,快捷键:F4 效果如下: 尤其从根节点查看的时候,完 ...
- String.Format() 方法
一 定义 String.Format() 是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项. string p1 = "Jackie"; string ...
- BZOJ2286: [Sdoi2011]消耗战(虚树/树形DP)
Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 5246 Solved: 1978[Submit][Status][Discuss] Descript ...
- 在控制台中操作MYSQL数据库步骤以及一些小问题
一直用Navicat来对MySQL数据库进行操作,今天突然想试试用DOS控制台来操作,特记录自己第一次使用经历,若有错误之处,还望大佬们指点. 首先打开控制台,win+R键,输入cmd,确定 输入my ...
- vue的$emit 与$on父子组件与兄弟组件的之间通信
本文主要对vue 用$emit 与 $on 来进行组件之间的数据传输. 主要的传输方式有三种: 1.父组件到子组件通信 2.子组件到父组件的通信 3.兄弟组件之间的通信 一.父组件传值给子组件 父组件 ...
- Jquery中绑定事件与普通事件的区别
(“#panel”).bind(“click”,function(){ 与$(“#panel”).click(function(){ 有什么区别 ? 绑定可以同时加多个事件 如:$(“#panel”) ...