这个是在vrml里一段js脚本。。实现的一个硬碟机 电源开关。一个仓门开关。
我写出来之后。仓门能开。不能关。大家帮着看看吧
DEF controlP Script {
eventIn SFTime time1
eventIn SFTime time2
field SFInt32 n 0
field SFInt32 m 0
field SFBool powerkg FALSE
eventOut SFBool k1
eventOut SFBool g1
url"javascript:
function time1(){)#判断电源的开关
if(n==0)
 powerkg=true
if(n==1)
 powerkg=false
n=(n+1)&1
}
function time2(){#根据电源状态来操作仓门的进出
  if(powerkg==true
  {
  if(m==0)  
  k1=true;g1=false
  if(m==1)
  k1=false;g1=true
  m=(m+1)&1
  }
  else if(powerkg==false)
  k1=false;g1=false
}
"
}
##下面是VRML里面的一些东东。
DEF clockcangk TimeSensor {
cycleInterval 1
loop FALSE
}
DEF cangout PositionInterpolator {
key [0 0.5 1.0]
keyValue [
1.4 -0.28 6.2
1.4 -0.28 6.3
1.4 -0.28 6.6
] }
DEF clockcangg TimeSensor {
cycleInterval 1
loop FALSE
}
DEF cangin PositionInterpolator {
key [0 0.5 1.0]
keyValue [
1.4 -0.28 6.6
1.4 -0.28 6.3
1.4 -0.28 6.2
]
}
ROUTE power.touchTime TO controlP.time1
ROUTE power.touchTime TO controlP.time2
ROUTE close.touchTime TO controlP.time2
ROUTE close.touchTime TO clockcangk.startTime
ROUTE close.touchTime TO clockcangg.startTime
ROUTE controlP.k1 TO clockcangk.enabled
ROUTE clockcangk.fraction_changed TO cangout.set_fraction
ROUTE cangout.value_changed TO cang.translation
ROUTE controlP.g1 TO clockcangg.enabled
ROUTE clockcangg.fraction_changed TO cangin.set_fraction
ROUTE cangin.value_changed TO cang.translation