three.js 源碼注釋(二十)Core/Clock.js

來源:互聯網
上載者:User

標籤:javascript   three.js   web3d   webgl   源碼   

商域無疆 (http://blog.csdn.net/omni360/)

本文遵循“署名-非商業用途-保持一致”創作公用協議

轉載請保留此句:商域無疆 -  本部落格專註於 敏捷開發及移動和物聯裝置研究:資料視覺效果、GOLANG、Html5、WEBGL、THREE.JS,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。


俺也是剛開始學,好多地兒肯定不對還請見諒.

以下代碼是THREE.JS 源碼檔案中Core/Clock.js檔案的注釋.

更多更新在 : https://github.com/omni360/three.js.sourcecode


/** * @author alteredq / http://alteredqualia.com/ *//*///Clock對象的建構函式.用來記錄時間.Clock對象的功能函數採用///定義構造的函數原型對象來實現.//////用法: var clock = new Clock(true)///建立時鐘用來記錄時間,傳遞參數true,設定自動開始記錄.///NOTE: 參數(autostart)為true,自動開始記錄,省略該參數也自動開始記錄時間,設定為false,穿件時間,但不開始記錄.以毫秒為單位,從 1 January 1970 00:00:00 UTC開始.*////<summary>Clock</summary>///<param name ="autoStart" type="Boolean">true 或者 false</param>THREE.Clock = function ( autoStart ) {this.autoStart = ( autoStart !== undefined ) ? autoStart : true;//自動開始記錄時間this.startTime = 0;//開始記錄的時間截,以毫秒為單位,從 1 January 1970 00:00:00 UTC開始.this.oldTime = 0;//上一次記錄時間截.以毫秒為單位,從 1 January 1970 00:00:00 UTC開始.this.elapsedTime = 0;//記錄目前時間距離上一次記錄時間截.以毫秒為單位,從 1 January 1970 00:00:00 UTC開始.this.running = false;//用來跟蹤時鐘是否在記錄時間.};/********************************************下面是Clock對象提供的功能函數.****************************************/THREE.Clock.prototype = {constructor: THREE.Clock,//構造器,返回對建立此對象的Clock函數的引用/*///start方法用來開始記錄時間,獲得開始的時間截.*////<summary>start</summary>start: function () {this.startTime = self.performance !== undefined && self.performance.now !== undefined ? self.performance.now() : Date.now();this.oldTime = this.startTime;this.running = true;//開始記錄時間},/*///stop方法用來停止記錄時間,獲得結束的時間截.*////<summary>stop</summary>stop: function () {this.getElapsedTime();//獲得結束的時間截this.running = false;//停止記錄時間},/*///getElapsedTime方法用來返回從oldTimed到stop之間的時間長度,以秒為單位.*////<summary>getElapsedTime</summary>///<returns type="Date">以秒為單位,時間長度</returns>getElapsedTime: function () {this.getDelta();return this.elapsedTime;//返回時間長度},/*///getDelta方法是getElapsedTime方法的實現,具體的演算法.*////<summary>getElapsedTime</summary>///<returns type="Date">以秒為單位,時間長度</returns>getDelta: function () {var diff = 0;if ( this.autoStart && ! this.running ) {this.start();}if ( this.running ) {var newTime = self.performance !== undefined && self.performance.now !== undefined ? self.performance.now() : Date.now();diff = 0.001 * ( newTime - this.oldTime );this.oldTime = newTime;this.elapsedTime += diff;}return diff;//返回時間長度}};


商域無疆 (http://blog.csdn.net/omni360/)

本文遵循“署名-非商業用途-保持一致”創作公用協議

轉載請保留此句:商域無疆 -  本部落格專註於 敏捷開發及移動和物聯裝置研究:資料視覺效果、GOLANG、Html5、WEBGL、THREE.JS,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。


以下代碼是THREE.JS 源碼檔案中Core/Clock.js檔案的注釋.

更多更新在 : https://github.com/omni360/three.js.sourcecode

three.js 源碼注釋(二十)Core/Clock.js

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.