2
2
@author David Piegza
3
3
4
4
Implements a label for an object.
5
-
5
+
6
6
It creates an text in canvas and sets the text-canvas as
7
7
texture of a cube geometry.
8
-
8
+
9
9
Parameters:
10
10
text: <string>, text of the label
11
-
12
- Example:
11
+
12
+ Example:
13
13
var label = new THREE.Label("Text of the label");
14
14
label.position.x = 100;
15
15
label.position.y = 100;
18
18
19
19
THREE . Label = function ( text , parameters ) {
20
20
var parameters = parameters || { } ;
21
-
21
+
22
22
var labelCanvas = document . createElement ( "canvas" ) ;
23
-
23
+
24
24
function create ( ) {
25
25
var xc = labelCanvas . getContext ( "2d" ) ;
26
26
var fontsize = "40pt" ;
@@ -30,19 +30,19 @@ THREE.Label = function(text, parameters) {
30
30
var len = xc . measureText ( text ) . width ;
31
31
32
32
labelCanvas . setAttribute ( 'width' , len ) ;
33
-
33
+
34
34
// set font size again cause it will be reset
35
35
// when setting a new width
36
36
xc . font = fontsize + " Arial" ;
37
37
xc . textBaseline = 'top' ;
38
38
xc . fillText ( text , 0 , 0 ) ;
39
39
40
- var geometry = new THREE . CubeGeometry ( len , 200 ) ;
41
- var xm = new THREE . MeshBasicMaterial ( { map : new THREE . Texture ( labelCanvas ) , transparent : true } ) ;
40
+ var geometry = new THREE . CubeGeometry ( len , 200 , 0 ) ;
41
+ var xm = new THREE . MeshBasicMaterial ( { map : new THREE . Texture ( labelCanvas ) , transparent : true } ) ;
42
42
xm . map . needsUpdate = true ;
43
43
44
44
// set text canvas to cube geometry
45
- var labelObject = new THREE . Mesh ( geometry , [ xm ] ) ;
45
+ var labelObject = new THREE . Mesh ( geometry , xm ) ;
46
46
return labelObject ;
47
47
}
48
48
0 commit comments