Javascript A帧淡出原语

Javascript A帧淡出原语,javascript,jquery,angularjs,aframe,Javascript,Jquery,Angularjs,Aframe,我的人字架有问题。 这是一种延迟从场景中删除组件或基本体的方法吗?像jQuery中的淡出 我应该检查每个勾号的opacityCSS属性或特殊类名或类似的smth吗 如果我想从ng repeat淡出一个基本体,我应该使用ng animate并检查.ng leave类吗 理想情况下,我希望在我的组件或原语的remove()函数中声明算法。例如,如果我在remove()函数中返回一个承诺,那么在承诺解析时删除Object3D。但这不是以这种方式实现的,我陷入了困境:( 查看示例: 据我所知,不透明度C

我的人字架有问题。 这是一种延迟从场景中删除组件或基本体的方法吗?像jQuery中的淡出

我应该检查每个勾号的
opacity
CSS属性或特殊类名或类似的smth吗

如果我想从
ng repeat
淡出一个基本体,我应该使用ng animate并检查
.ng leave
类吗

理想情况下,我希望在我的组件或原语的
remove()
函数中声明算法。例如,如果我在remove()函数中返回一个承诺,那么在承诺解析时删除
Object3D
。但这不是以这种方式实现的,我陷入了困境:(

查看示例:

据我所知,不透明度CSS属性对场景中的对象没有影响。因此,我认为您将无法使用
.ng leave
。设置不透明度动画的唯一方法是通过动画组件或编程方式

使用
$timeout
提供程序,并知道动画持续时间,可以设置如下内容:

<a-box ng-repeat="box in page.getActiveBoxes() track by box.id"
         ng-class="{animated: page.animate}"
         position="{{box.position}}"
         rotation="0 45 0"
         width="0.6" height="1" depth="0.6"
         color="{{box.color}}"
    >
  <a-animation attribute="opacity" begin="fadeOut" duration="5000" to="0"></a-animation>
</a-box>

fadeOut() {
  var id = this.getRandomInt(0, this.boxes.length-1);
  document.querySelector('#box-' + id).emit('fadeOut');
  this.$timeout(function() {
    // you can now delete the primitive
  }, 5000 + 50);  // added 50ms for good measure
}

getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min;
}

淡出{
var id=this.getRandomInt(0,this.box.length-1);
document.querySelector('#box-'+id).emit('fadeOut');
这是.$timeout(函数(){
//现在可以删除基本体
},5000+50);//增加了50ms以便测量
}
getRandomInt(最小值、最大值){
min=数学单元(min);
最大值=数学楼层(最大值);
返回Math.floor(Math.random()*(max-min))+min;
}
这不是最优雅的解决方案,但我真的想不出其他办法

另一个令人失望的是,角度插值不适用于动画的持续时间属性。持续时间一旦设置,就无法更改。这将不起作用:

<a-animation attribute="opacity" duration="{{page.animationDuration}}" begin="fadeOut" to="0"></a-animation>


<代码> > p>我可能会困惑,你是想删除它还是只是把它从视图中淡出?你可以考虑用A帧使用内置的<代码>动画< /代码>。这里的例子:


这不会删除它,但是jQuery(根据您的第二个问题)不删除上的元素。

您是否能够在Codepen中创建一个演示,例如此默认场景:?@JoelCDoyle yep,看看此Codepen:后者可能有问题,因为通过JS设置属性有多个问题。Kevin认为,将来可能会反对使用基于组件的解决方案。嗯,我不能直接管理这个ng重复过程。我希望当DOM对象从场景中删除时,立方体会随着动画一起消失。你是对的,淡出并没有删除DOM,但我只想产生相同的效果。似乎,我应该每一个滴答声或类似的内容都观察css属性,以实现我想要的效果。