home *** CD-ROM | disk | FTP | other *** search
/ Internet 1996 World Exposition / park.org.s3.amazonaws.com.7z / park.org.s3.amazonaws.com / Japan / CSK / obj / sol25.tcl < prev    next >
Text File  |  2017-09-21  |  1KB  |  49 lines

  1. # NOTE: we have to add 'vs_H_Init_' prefix for initialize
  2. #       you must not CHANGE function name!!.
  3.  
  4. proc vs_H_Init_MoveOnZ001 { obj event userData } {
  5.  
  6.     vsNewVariable $obj m_CountZ000 0
  7.     vsNewVariable $obj m_DirectionZ000 1
  8. }
  9. # NOTE: we have to add 'vs_H_Periodic_' prefix for periodic task
  10. #       you must not CHANGE function name!!.
  11.  
  12. proc vs_H_Periodic_MoveOnZ001 { obj event userData } {
  13.   global vsCSLocal
  14.   global vsTclScript
  15.   global vsRelative
  16.   global vsContinue
  17.  
  18.   # copy to local variables.
  19.  
  20.     set count [vsGetVariable $obj m_CountZ000]
  21.     set direction [vsGetVariable $obj m_DirectionZ000]
  22.  
  23.   if {$direction == 1} {
  24.       # Z positive direction.
  25.     vsTranslate $obj  0.0 0.0 -0.1 $vsCSLocal $vsRelative
  26.   } else {
  27.       # Z negative direction.
  28.     vsTranslate $obj  0.0 -0.001 -0.1 $vsCSLocal $vsRelative
  29.   }
  30.  
  31.     set count [expr $count+1]
  32.  
  33.   if {$count > 210} {
  34.      if {$direction == -1} {
  35.      vsTranslate $obj  0.0 0.21 0.0 $vsCSLocal $vsRelative
  36.      }
  37.      # turn around.
  38.           vsRotateAngle $obj  0.0 180.0 0.0 $vsCSLocal $vsRelative
  39.       set direction [expr $direction*-1]
  40.      # reset counter.
  41.       set count 0
  42.   }
  43.  
  44.     vsSetVariable $obj m_CountZ000 $count
  45.     vsSetVariable $obj m_DirectionZ000 $direction
  46.  
  47.   return $vsContinue
  48. }
  49.