1. 程式人生 > >寫了一個計時器

寫了一個計時器

由於工作需要寫了個計時器,沒有想像的那麼容易,折騰了一個小時左右,終於大功告成。 主要就是把unity的計時轉換成特定的格式而已,大的單位比如分,時,天不為0的時候只顯示秒單位,其他在不為0的時候顯示,程式碼很簡單,就不註釋了,截圖也免了…沒啥好看的,自己執行一下就清楚了哈哈

using System.Text;
using UnityEngine;
using UnityEngine.UI;
public class TimerTest : MonoBehaviour
{
    float day = 0;
    float hour = 0;
    float minute = 0;
    float
second = 0; const int hex = 60; public Text showTime; void Start() { showTime.text = CutTimer(Time.time).ToString(); } void Update() { showTime.text = CutTimer(Time.time).ToString(); } StringBuilder sb = new StringBuilder(); StringBuilder CutTimer(float
t) { sb.Length = 0; second = t % hex; sb.Append(second.ToString("0.00")); sb.Append("秒"); if (t >= hex) { minute = (t - second) / hex; sb.Insert(0, "分"); sb.Insert(0, minute); if (minute >= hex) { float
m = minute % hex; hour = (minute - m) / hex; minute = m; sb.Insert(0, "時"); sb.Insert(0, hour); if (hour > 24) { m = hour % 24; day = (hour - m) / 24; hour = m; sb.Insert(0, "天"); sb.Insert(0, day); } } } return sb; } public void GamePause(bool state)//暫停遊戲 { if (state)//暫停遊戲 { Time.timeScale = 0; } else//恢復 { Time.timeScale = 1; } } }

剛剛測試了下,發現還是有bug,在到達小時單位時,時間進位之後小的那個單位應該是要去掉進位的那部分才對,修正後代碼如下:

 float day = 0;
    float hour = 0;
    float minute = 0;
    float second = 0;
    const int hex = 60;
    public Text showTime;
    void Start()
    {
        showTime.text = CutTimer(Time.time).ToString();
    }
    void Update()
    {
        showTime.text = CutTimer(Time.time).ToString();
    }
    StringBuilder sb = new StringBuilder();
    StringBuilder CutTimer(float t)
    {
        sb.Length = 0;
        second = t % hex;
        sb.Append(second.ToString("0.00"));
        sb.Append("秒");
        if (t >= hex)
        {
            minute = (t - second) / hex;
            if (minute >= hex)
            {
                float m = minute % hex;
                hour = (minute - m) / hex;
                minute = m;
                sb.Insert(0, "分");
                sb.Insert(0, minute);
                if (hour > 24)
                {
                    m = hour % 24;
                    day = (hour - m) / 24;
                    hour = m;
                    sb.Insert(0, "時");
                    sb.Insert(0, hour);
                    sb.Insert(0, "天");
                    sb.Insert(0, day);
                }
                else
                {
                    sb.Insert(0, "時");
                    sb.Insert(0, hour);
                }
            }
            else
            {
                sb.Insert(0, "分");
                sb.Insert(0, minute);
            }
        }
        return sb;
    }
    public void GamePause(bool state)//暫停遊戲
    {
        if (state)//暫停遊戲
        {
            Time.timeScale = 0;
        }
        else//恢復 
        {
            Time.timeScale = 1;
        }
    }

就測試了到了小時,至於天。。。出了bug找我!

相關推薦

一個計時

由於工作需要寫了個計時器,沒有想像的那麼容易,折騰了一個小時左右,終於大功告成。 主要就是把unity的計時轉換成特定的格式而已,大的單位比如分,時,天不為0的時候只顯示秒單位,其他在不為0的時候顯示,程式碼很簡單,就不註釋了,截圖也免了…沒啥好看的,自己執行一

Python中自己一個計時,計算一個過程所需秒數

import time import sys import numpy as np i = np.arange(1, 5000) def k_timer(bool_start_end, start_time): if bool_start_end: return tim

一個mircro XML解析,附原始碼

不喜歡看人廢話喜歡直奔主題的是同學可以直接: goto 附件下載。   mirco 的意思是比 tiny 還要 tiny。   GUI 模板用 XML 做是最合適的。方便嵌入指令碼,方便編輯修改,方便嵌入面板描述,用 XML 做模板,寫起 GUI 編輯器也要方便得多。   以前幾個的 GUI 模板解

一個Flex的web流程設計原型系統

花了三週時間,給公司寫了一個基於Flex的web流程設計器原型系統。既然是原型系統,肯定有很多細微之處不完善的,但作為未來產品元件一部分,其預研和構架部分,還是拿得出手的。Flex本身在圖形化方面提供了很良好的支援,但是要想實現Model與檢視的分離、Command的處理等基

一個簡單輪播效果實現

char line query span size html ef6 ava top <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

一個簡單的Linux Shell用來下載文件

logs -- spi http col 內容 style bre shell #!/bin/sh for (( i=0; i<30; i=i+1 )); do # 利用spider來探測請求的資源是否存在,並把請求的結果寫入到一個文件 wget -

無聊的我一個代碼 。。。P1605 迷宮

技術 open closed char log one void ide type 搜索水題 哎 直接不行了 。 #include <ctype.h> #include <cstdio> void read(int &x)

一個Mac快速設置、打開和關閉Web代理的Shell命令

快速 還要 痛點 blog 如果 head 編程 shell腳本編程 偏好設置 緣由(痛點) 每次在Mac上設置Web代理,都需要點開"系統偏好設置 -- 網絡 -- 高級 -- 代理",然後分別設置Web代理(HTTP)和安全Web代理(HTTPS),設置完後,還要點"好

最近開始努力學python 一個python小代碼:判斷一個登陸程序,如果賬號密碼輸錯3次,鎖定賬號無法再登陸

登陸 readlines 輸入 連續 nbsp 努力 一個 取數據 lis 1 count = 0 2 username = ‘zhangsan‘ 3 userpassword = ‘111111‘ 4 5 f = open(‘lock.txt‘,‘r+‘

一位從vb系轉到JAVA的朋友在一個類中一個類似VB中MSGBOX的方法

fin return gen interface man text string listener com //此方法放一個自定義的JAVA類中 public static boolean msgBoxPlus(Activity objPage, String strTi

asio一個聊天的基本框架

sch mut sstream 示例 www. empty bind json logs 示例代碼 1 #include "Util.h" 2 #include "MyAsio.h" 3 #include "TcpConnectionManager.h

一個好玩的彈性列表效果

add var time cli back undefine all inner eof 閑來沒事,隨遍寫寫,有需要的盡管拿去用。 <!DOCTYPE html> <html> <head> <meta c

DS作業·一個鏈表

int delet str let push app als work ios 用struct手寫了個list 有push_back,push_front,insert,erase reserve,size,setpos,rbegin 功能。 坑:一開始想用template

原生JS一個小demo,根據輸入的數字生成不同背景顏色的小方塊兒~

top == UNC 定位元素 demo TE tostring eight 地方 昨天練習寫了這個小demo,個人覺得通過設置定位元素left和top的值,來實現換行的功能,這種方法很巧妙~ 另外,如下代碼中的隨機顏色的獲取,還請各位前輩多多指教:需要改進的地方;或者有

kotlin和vertx和mongo一個服務驗證登陸功能(很簡陋)

技術分享 .com round 持久 http服務 info rda use 信息 包結構長這個樣子: server包:(服務器相關配置)   HttpServer:用ver.x創建了一個http服務器,把接收到的req請求傳入RPCRequest中;   RPCR

CCF-棋局評估 201803-04(版本 2.0)------(之前一個臃腫的1.0版 ,還沾沾自喜 233)

核心 color namespace ace for play class 一個 while 核心 : 博弈搜索樹    雙方得分互為相反數    dfs (x,y,player): 玩家player下完(x,y)之後的得分最大值 易錯: 先判斷輸贏,再判斷

給女朋友用Python一個自動抽獎程序!Python在手,獎品我有!

com () 單身 代碼 女孩子 nbsp 不能 是不是 apt 我相信大部分的女孩子都是喜歡買買買的,我還沒有見過不喜歡買東西的女孩子,當然很多東西也是有抽獎這項優惠的,很多小程序都有抽獎這個功能的,好了廢話不多說了,為了給女朋友寫這款抽獎程序,可謂是嘔心瀝血!不過看到她

就因為用一個自助提卡系統!居然一個月掙的比一年多!勿商用

信息 其中 技術 .com 查詢 api map lmap 過多 相關環境 源碼信息:你猜啊 漏洞類型:Forwarded-For註入 搭建成功之後如下 : 看到如下頁面是不是有似曾相識的感受: 進群:125240963 即可獲取數十套PDF哦! 上圖是安

差點被輔導員暴揍!就因為我給他一個USB病毒!Python賊牛逼

shutil模塊 http 文件名 一個 形式 () 時間 stat 以及 如何判斷U盤的插入與否? 進群:548377875 即可獲取數十套PDF哦! 就像標題所示,我們真的只用了10行(其實是11行,湊個整:)完成了這個“病毒”。我們可

最新用WPF為觸摸屏一個程序,雙格輸入的

nload size alt wpf 一個 ast 點擊 fill fonts 原文:最新用WPF為觸摸屏寫了一個手寫程序,雙格輸入的 雙格輸入可以提高手寫速度,當前字寫完以後