zoukankan      html  css  js  c++  java
  • C# 浮点转时间

    想了大半天实在想不出什么更适合文章的标题。。。

    就现在这个标题,挺好- -

    什么是浮点转时间呢?

    今天写的一个计时功能,想来想去还是现在这种解决方案比较合适

    先上一张图在来讲解比较明了

    如图:赛车游戏的计时

    计时格式为:分'秒'毫秒

    先来个脑筋急转弯让大家乐乐

    已知:

    1小时=60分

    1分=60秒

    1秒=?毫秒

    敲了四年代码今天我居然会掉进这个坑里!!估计脑袋短路了吧- -

    按照这个逻辑1秒=60毫秒,这是完全错误的!1秒=1000毫秒才是正确的答案

    好吧,请深深的鄙视我吧。。。

    其实这篇文章没有什么高深的东西,主要说这种解决方案还是不错滴

    怎么个不错法呢,听我一一道来

    可以看见上图中有一个“个人记录”一栏

    如果我们要把这个数据存在数据库中,咋存?

    用存日期时间的方式?

    用文本?

    在这里我用的是浮点型

    从游戏开始计算,一局游戏我到完成花费了150.12秒

    我就直接把150.12存进数据库,然后读取的时候在把这个数转换成 分/秒/毫秒 这样的格式

    可以看见当 分/秒/毫秒 为一位数时,会自动补0,比如:01 02 03 这样

    所以我们现在要做的是,获取时间:totalTime += Time.deltaTime;

    然后在相对应的计算出 分/秒/毫秒

    我写了一个方法,这个方法仅供我计时用

    其他地方反正用不上,就不考虑扩展性什么的了

    参考一下我的思路就行!上代码

     1     /// 计算时间 <summary>
     2     /// 计算时间
     3     /// </summary>
     4     /// <param name="_Convert">欲计算的文本</param>
     5     /// <param name="_point">小数点左=0;右=1</param>
     6     /// <returns>返回格式 00</returns>
     7     private string CalcTime(string _Convert, int _point)
     8     {
     9         string[] temSplit = _Convert.Split(new char[] { '.' });
    10 
    11         if (Convert.ToInt32(temSplit[_point]) < 10)
    12             return ("0" + temSplit[_point]).Replace("-", "0");
    13 
    14         //被整除的时候为'-.--',所以直接替换成0
    15         return (temSplit[_point].Substring(0, 1) + temSplit[_point].Substring(1, 1)).Replace("-","0");
    16     }

    没错,你没有看错,我用的就是这么简单的方法

    调用的代码

    1     void FixedUpdate()
    2     {
    3         totalTime += Time.deltaTime;
    4         temMinute = CalcTime(Convert.ToDouble(totalTime / 60f).ToString("0.00"), 0);
    5         temSeconds = CalcTime(Convert.ToDouble(totalTime - Convert.ToDouble(temMinute) * 60f).ToString("0.00"), 0);
    6         temMilli = CalcTime(Convert.ToDouble(totalTime - Convert.ToDouble(temMinute) * 60f).ToString("0.00"), 1);
    7     }

    好吧,真的一点不高深,纯属看思路

    也没啥好说的,随便看看吧

    我游戏功能要实现的功能还有一大堆,先闪了

    写得不好勿喷

    本文链接:http://www.cnblogs.com/shenggege/p/4251123.html

  • 相关阅读:
    c++ 动态生成string类型的数组
    c++ string类型的定义及方法
    c++数字和字符串的转换
    c++ 怎么输出保留2位小数的浮点数
    c++中结构体sort()排序
    O(N)时间的排序
    复杂链表的复制
    反转链表
    判断是否为平衡二叉树
    学习笔记_过滤器详细_2(过滤器JavaWeb三大组件之一)
  • 原文地址:https://www.cnblogs.com/shenggege/p/4251123.html
Copyright © 2011-2022 走看看