From 7e3d7516dfbb667b38c7d2b7370c542b06f1e7ac Mon Sep 17 00:00:00 2001 From: lxc <237024898@qq.com> Date: Tue, 6 Dec 2022 09:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- editor/js/menus/Menubar.Models.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/editor/js/menus/Menubar.Models.js b/editor/js/menus/Menubar.Models.js index 3828ebc..76fc84c 100644 --- a/editor/js/menus/Menubar.Models.js +++ b/editor/js/menus/Menubar.Models.js @@ -106,8 +106,8 @@ function MenubarModels(editor) { option.onClick(function () { add2dlable("中国"); - return ; - + return; + let selectobj = editor.selected; if (!!!selectobj) { alert("none"); @@ -117,7 +117,7 @@ function MenubarModels(editor) { // debugger // const moonDiv = document.createElement('div'); // moonDiv.className = 'label'; - + // moonDiv.textContent = 'Moon11111111111111111'; // moonDiv.style.marginTop = '-1em'; // let moonLabel = new CSS2DObject(moonDiv); @@ -161,8 +161,8 @@ function MenubarModels(editor) { return container; } -function add2dlable(text){ - let labelCanvas = document.createElement('canvas'); +function add2dlable(text) { + let labelCanvas = document.createElement('canvas'); const context = labelCanvas.getContext('2d'); context.font = 'Bold 20px Arial'; const labelWidth = context.measureText(text).width; @@ -171,7 +171,7 @@ function add2dlable(text){ context.font = 'Bold 20px Arial'; context.fillStyle = 'rgba( 255, 0, 0, 1 )'; - context.fillText(text, 0, 20); + context.fillText(text, 0,20); const labelTexture = new THREE.Texture(labelCanvas); labelTexture.magFilter = THREE.LinearFilter; labelTexture.minFilter = THREE.LinearFilter; @@ -182,24 +182,26 @@ function add2dlable(text){ }); labelMaterial.transparent = true; const labelPlane = new THREE.PlaneGeometry(labelCanvas.width, labelCanvas.height); + let labelMesh = new THREE.Mesh(labelPlane, labelMaterial); + labelMesh.name='标签' editor.execute(new AddObjectCommand(editor, labelMesh)); } function AddSceneTextCSS2DLabel(obj) { - + const labelDiv = document.createElement('div'); labelDiv.className = 'label'; labelDiv.identifierName = 'label'; labelDiv.textContent = '显示内容 Test ...'; - labelDiv.style.marginTop = '-1em'; + labelDiv.style.marginTop = '-1em'; const css2dLabel = new CSS2DObject(labelDiv); css2dLabel.position.set(0, 1, 0); labelDiv.style.pointerEvents = 'none';//避免HTML标签遮挡三维场景的鼠标事件 css2dLabel.name = 'CSS2DLabel'; obj.add(css2dLabel); - + editor.signals.render.dispatch(); }