五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
东兴市| 济宁市| 曲靖市| 嫩江县| 南丹县| 沛县| 四子王旗| 丹东市| 乌海市| 长寿区| 泸溪县| 安福县| 芦溪县| 新巴尔虎左旗| 宁安市| 隆尧县| 新沂市| 舟山市| 普兰店市| 绥化市| 兴山县| 盐城市| 恭城| 大关县| 汝州市| 许昌县| 页游| 扶绥县| 大连市| 聂荣县| 霍邱县| 台北市| 福鼎市| 玛沁县| 滨海县| 毕节市| 封开县| 黄大仙区| 客服| 安溪县| 和平县|