Listing 1: Tcl/Tk Animation Script
  
#!/usr/local/bin/wish
global name frames dir
# Set name to the base filename of the images, i.e. mb
# for mb01.ppm, mb02.ppm, mb03.ppm, etc...
# set name mb
set dir forward
proc forward {} {
  global name frames dir
  set dir backward
  for { set i 1 } { $i <= $frames } { incr i } {
    set n [ format "%02d" $i ]
    .t configure -image ${name}${n}
    update idletasks
  }
}
proc backward {} {
  global name frames dir
  set p forward
  for { set i $frames } { $i >= 1 } { incr i -1 } {
    set n [ format "%02d" $i ]
    .t configure -image ${name}${n}
    update idletasks
  }
}
set frames 1
while 1 {
  set n [ format "%02d" $frames ]
  image create photo mb$n
  if { [ catch {eval ${name}$n read ${name}${n}.ppm} ] } { break }
  incr frames
}
incr frames -1
puts "Loaded $frames images"
label .t -image ${name}01
pack .t
bind .t <Button-1> { eval $dir }
  
  
  
  
  
  
  
  
  
    Copyright © 1994 - 2018 Linux Journal.  All rights reserved.