Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | import { SpriteAlignment } from "../constants/SpriteAlignment"; import { Texture } from "../core/Texture"; import { Color } from "../core/Color"; import { Vector2 } from "../math"; import { Material } from "./Material"; export class SpriteMaterial extends Material { sizeAttenuation: boolean; screenOffset: any; scaleByViewPort: boolean; alignment: any; scaleByViewport: any; color = new Color(0xffffff); map = new Texture(); useScreenCoordinates = true; fog = false; // use scene fog uvOffset = new Vector2(0, 0); uvScale = new Vector2(1, 1); constructor(parameters?: any) { super(); this.depthTest = !this.useScreenCoordinates; this.sizeAttenuation = !this.useScreenCoordinates; this.screenOffset = this.screenOffset; this.scaleByViewPort = !this.sizeAttenuation; this.alignment = SpriteAlignment.center.clone(); this.setValues(parameters); parameters = parameters || {}; Iif (parameters.depthTest === undefined) this.depthTest = !this.useScreenCoordinates; Iif (parameters.sizeAttenuation === undefined) this.sizeAttenuation = !this.useScreenCoordinates; Iif (parameters.scaleByViewPort === undefined) this.scaleByViewPort = !this.sizeAttenuation; } clone<T extends this>(material = new SpriteMaterial() as T): T { super.clone.call(this, material); material.color.copy(this.color); material.map = this.map; material.useScreenCoordinates = this.useScreenCoordinates; material.screenOffset = this.screenOffset; material.sizeAttenuation = this.sizeAttenuation; material.scaleByViewport = this.scaleByViewPort; material.alignment.copy(this.alignment); material.uvOffset.copy(this.uvOffset); return material; } } |