three.js 源码注释(二十)Core/Clock.js
商域无疆 (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文件的注释.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。