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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# THREE.TextSprite
`class THREE.TextSprite extends THREE.Sprite`
An instance of `TextSprite` automatically computes the optimal font size depending on the distance to the camera and the size of the renderer canvas.
## demo
[Try it out!](https://seregpie.github.io/THREE.TextSprite/)
## dependencies
- [THREE.TextTexture](https://github.com/SeregPie/THREE.TextTexture)
## setup
### npm
```shell
npm install three.textsprite
```
### ES module
```javascript
import TextSprite from 'three.textsprite';
```
### browser
```html
<script src="https://unpkg.com/three"></script>
<script src="https://unpkg.com/three.texttexture"></script>
<script src="https://unpkg.com/three.textsprite"></script>
```
The class `TextSprite` will be available under the namespace `THREE`.
## members
```
.constructor({
material,
maxFontSize,
minFontSize,
redrawInterval,
textSize,
texture,
})
```
| argument | description |
| ---: | :--- |
| `material` | The parameters to pass to the constructor of [`SpriteMaterial`](https://threejs.org/docs/index.html#api/materials/SpriteMaterial). |
| `texture` | The parameters to pass to the constructor of [`TextTexture`](https://github.com/SeregPie/THREE.TextTexture). |
```javascript
let sprite = new THREE.TextSprite({
material: {
color: 0xffbbff,
fog: true,
},
redrawInterval: 250,
textSize: 10,
texture: {
text: 'Carpe Diem',
fontFamily: 'Arial, Helvetica, sans-serif',
},
});
scene.add(sprite);
```
---
`.isTextSprite = true`
Used to check whether this is an instance of `TextSprite`.
You should not change this, as it is used internally for optimisation.
---
`.textSize = 1`
The size of the text.
---
`.redrawInterval = 1`
The minimum time that must elapse before the canvas is redrawn. If 0, the canvas is redrawn immediately whenever `TextSprite` is rendered, otherwise the redrawing is deferred.
---
`.minFontSize = 0`
The minimum font size.
---
`.maxFontSize = Infinity`
The maximum font size.
---
`.dispose()`
Disposes the texture and the material.
|