我想构建一个场景,其中包含一些通过复选框切换的动画。单击时,我希望所有框元素的高度都缩放为“ .1”。再次单击时,我希望它恢复到原始高度。我已经尝试过Routes和TimeSensors,但是发现它们很难使用。在x3dom中有更简单的动画设置吗?

这是我在模板中使用的一些代码

<timeSensor DEF="time" cycleInterval="2" loop="false" > </timeSensor>
<positionInterpolator def="scale" key="0 1" keyValue="1 1 1  1 .1" ></positionInterpolator>
<route fromNode="time" fromField ="fraction_changed" toNode="scale" toField="set_fraction"></route>
<route fromNode="scale" fromField ="value_changed" toNode="box" toField="size"></route>

最佳答案

TimeSensor是强制性的,因为他是触发插值器keyValue的那个。
这是一个简单的示例,TimeSensor非常易于使用:


  DEF TS TimeSensor {cycleInterval 2 loop TRUE}
  国防部
  ScalarInterpolator {
  键[0 0.5 1]
  核心价值
  [2 2 2 1 1 1 0.5 0.5 0.5]}
  
  ROUTE T​​S.fraction_changed更改为SI.set_fraction
  ROUTE SI.value_changed TO
  BOX规模


计时器的一部分被路由到ScalarInterpolator。每当分数大于键中的值(0、0.5或1)时,会将对应的keyValue(第N个索引)路由到BOX的小数位数。而已...

如果要降低效果,可以增加TimeSensor的周期间隔。如果只想产生一次效果,则可以将循环设置为FALSE。

您还可以具有多个键和键值。

关于javascript - 用x3Dom创建动画的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25248862/

10-12 00:46