国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Cocos Creator 實(shí)現(xiàn)毫秒計(jì)時(shí)

2022-05-21 12:19 作者:Nimanggi  | 我要投稿

起因:做一個(gè)小游戲需要用到毫秒級(jí)的計(jì)時(shí),畫面上也需要在每一幀都更新毫秒級(jí)的計(jì)時(shí)顯示,如下圖:




問題:

? ? ?1. 使用 schedule 精度不足。

? ? ?2. 單純的按update顯示幀去刷新,計(jì)時(shí)的滾動(dòng)效果又不好。



解決:



1. 自己使用setInterval實(shí)現(xiàn)一個(gè)計(jì)時(shí)方法,在需要開啟計(jì)時(shí)的場(chǎng)合調(diào)用。

 ? ?// 計(jì)時(shí)

 ? ?tick() {

 ? ? ? ?var lastUpdateTime = Date.now();

 ? ? ? ?var elapsedTime = 0;

 ? ? ? ?var updateFrequency = 1; //ms

 ? ? ? ?setInterval(() => {

 ? ? ? ? ? ?var currentTime = Date.now();

 ? ? ? ? ? ?var deltaTime = currentTime - lastUpdateTime;

 ? ? ? ? ? ?elapsedTime += deltaTime;

 ? ? ? ? ? ?if (elapsedTime >= updateFrequency) {

 ? ? ? ? ? ? ? ?elapsedTime -= updateFrequency;

 ? ? ? ? ? ? ? ?lastUpdateTime = currentTime;

 ? ? ? ? ? ? ? ?// 更新計(jì)時(shí)顯示

 ? ? ? ? ? ? ? ?this.updateTimerDisplay(elapsedTime);

 ? ? ? ? ? ?}

 ? ? ? ?});

 ? ?},


2. 在計(jì)時(shí)每次刷新的時(shí)刻對(duì)畫面進(jìn)行更新。

// 更新計(jì)時(shí)顯示

 ? ?updateTimerDisplay(elapsedTime) {



 ? ? ? ?// cc.log("elapsedTime = " + elapsedTime);



 ? ? ? ?this.time = elapsedTime;

 ? ? ? ?this.timerLabel.string = this.getFormatTime(this.time);

 ? ?},



 ? ?// 獲取格式化后的時(shí)間

 ? ?getFormatTime(time) {

 ? ? ? ?// return Math.floor(time * 1000) / 1000 + "\""

 ? ? ? ?return (time / 1000).toFixed(3) + "\""

 ? ?},



補(bǔ)充:


1. 使用 toFixed 方法可以直接在保留小數(shù)時(shí)補(bǔ)0.

2. 由于字體寬度的問題,可以考慮 將顯示計(jì)時(shí) Label 的Anchor為(0, 0), Horizontal Align 設(shè)為 LEFT。



Cocos Creator 實(shí)現(xiàn)毫秒計(jì)時(shí)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
吴桥县| 洛浦县| 绥化市| 土默特右旗| 永寿县| 富源县| 泌阳县| 凤城市| 宜良县| 额济纳旗| 若尔盖县| 万盛区| 灵寿县| 富宁县| 通化市| 遵化市| 巴南区| 五指山市| 来宾市| 尚志市| 吉木萨尔县| 兴仁县| 松原市| 嘉峪关市| 新丰县| 库尔勒市| 清新县| 巴塘县| 安图县| 新乐市| 抚州市| 平安县| 辽源市| 临西县| 郓城县| 宜宾市| 同仁县| 钦州市| 湄潭县| 区。| 三门县|