three.js 源碼注釋(五十五)Material /SpriteCanvasMaterial.js
/** * @author mrdoob / http://mrdoob.com/ * * parameters = { * color: , * program: , * opacity: , * blending: THREE.NormalBlending * } *//*///SpriteCanvasMaterial方法根據參數parameters建立適用於canvas渲染器的Sprite(點精靈)的材質類型,///parameters參數的格式看上面.SpriteCanvasMaterial對象的功能函數採用,定義構造的函數原型對象來實現.大部分屬性方法繼承自材質的基類Material.///TODO: SpriteCanvasMaterial和SpriteMaterial除了幾個屬性不一樣,不知道是不是應用情境也不一樣?*////SpriteCanvasMaterial///string類型的JSON格式材質屬性參數///返回SpriteCanvasMaterial,點精靈材質.THREE.SpriteCanvasMaterial = function ( parameters ) {THREE.Material.call( this );//調用Material對象的call方法,將原本屬於Material的方法交給當前對象SpriteCanvasMaterial來使用this.color = new THREE.Color( 0xffffff ); // 顏色,預設初始化為0xffffff,白色this.program = function ( context, color ) {};//自訂程式,//TODO:this.program屬性在這裡是啥意思???this.setValues( parameters );//調用Material類的setValues方法,將參數parameters賦值給當前SpriteCanvasMaterial材質的屬性.};/*****************************************************************下面是SpriteCanvasMaterial對象的方法屬性定義,繼承自Material*************************************************************/THREE.SpriteCanvasMaterial.prototype = Object.create( THREE.Material.prototype );/*clone方法///clone方法複製SpriteCanvasMaterial對象,*////clone///SpriteCanvasMaterial對象,可有可無.///返回複製的SpriteCanvasMaterial對象THREE.SpriteCanvasMaterial.prototype.clone = function () {//以下是將材質的屬性一一進行複製.var material = new THREE.SpriteCanvasMaterial();THREE.Material.prototype.clone.call( this, material );material.color.copy( this.color );material.program = this.program;return material;//返回複製的SpriteMaterial對象};// backwards compatibility 向後相容/*///ParticleCanvasMaterial方法被THREE.SpriteCanvasMaterial方法替換.*/THREE.ParticleCanvasMaterial = THREE.SpriteCanvasMaterial;
上一篇http://www.bkjia.com/kf/201412/365616.html