在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ three.js如何讓三角符號(hào)從屏幕中心顯示或隱藏?

three.js如何讓三角符號(hào)從屏幕中心顯示或隱藏?

項(xiàng)目首頁(yè)需要用到一個(gè)動(dòng)畫,一個(gè)三角符號(hào)顯示、隱藏的動(dòng)畫效果,利用 three.js 畫了這個(gè)三角符號(hào),然后利用 tween.js 來(lái)顯示或隱藏這個(gè)三角符號(hào),=但是現(xiàn)在都是從三角符號(hào)的底邊中點(diǎn)位置顯示或隱藏的,如何讓其在屏幕中心位置顯示或隱藏呢?

three.js 畫三角符號(hào)代碼

    var geometry = new THREE.Geometry();
    geometry.vertices.push(
      new THREE.Vector3(-x, 0, 0),
      new THREE.Vector3(0, Math.sqrt(3 * x * x), 0),
      new THREE.Vector3(x, 0, 0),
      new THREE.Vector3(-x, 0, 0)
    );
    
    var material = new THREE.LineBasicMaterial({color: 0xffffff, linewidth: 5});
    
    triangular = new THREE.Line(geometry, material);
    triangular.position.y = -2200;
    triangular.position.z = -1000;
    scene.add(triangular)

tween.js 控制三角符號(hào)顯示或隱藏代碼

    var scale = triangular.scale.x < 1 ? 1 : 0.0010000000000000009;
    var duration = scale == 1 ? 2500 : 500;
    new TWEEN.Tween(triangular.scale)
      .to({ x: scale, y: scale, z: scale }, duration)
      .easing(TWEEN.Easing.Quartic.InOut)
      .onComplete(function() {
        isMeTriang = false;
      }).start();
回答
編輯回答
冷眸

問(wèn)題找到了,主要的問(wèn)題是方向搞錯(cuò)了,不是不用這么麻煩,直接跳漲三角符號(hào)的四個(gè)頂點(diǎn)就好。

思路:以三角符號(hào)的中心點(diǎn)(0,0,0)來(lái)計(jì)算4個(gè)定點(diǎn)的位置就行了,因?yàn)槿绻侵行奈恢镁褪秋@示、隱藏的位置!

錯(cuò)誤原因:之前計(jì)算思路是,以中心位置的水平位置計(jì)算的兩個(gè)底角的位置,所以中心位置看上去在底邊的中心位置

2018年5月5日 09:52