我想构建一个场景,其中包含一些通过复选框切换的动画。单击时,我希望所有框元素的高度都缩放为“ .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 TS.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/