home *** CD-ROM | disk | FTP | other *** search
/ Boot Disc 5 / boot-disc-1997-01.iso / media / demos.dir / 00019_Script_CardSelectorClass < prev    next >
Text File  |  1996-11-05  |  4KB  |  104 lines

  1. property spritelist,activesprite,startcastname,endcastname,numsprites
  2. property basepos,startsprite,endsprite,delh,delv,oldbootpos,bootsprite
  3. property numsteps
  4.  
  5. global cards
  6.  
  7. on new me,mystartcastname,myendcastname
  8.   set startcastname=mystartcastname
  9.   set endcastname=myendcastname
  10.   set numsteps=4
  11.   set startsprite=castspritea(startcastname)
  12.   set endsprite=castspritea(endcastname)
  13.   set startcast=the number of member mystartcastname
  14.   set endcast=the number of member endcastname
  15.   set spritelist=[:]
  16.   repeat with spritenum=startsprite to endsprite
  17.     addprop spritelist,spritenum,startcast+spritenum-startsprite
  18.   end repeat
  19.   set numsprites=count(spritelist)
  20.   set basepos=the loc of sprite startsprite
  21.   set cards=me
  22.   set delh=-4
  23.   set delv=6
  24.   set bootsprite=castspritea("bootback")
  25.   set oldbootpos=the loc of sprite bootsprite
  26.   layout me
  27.   return me
  28. end
  29.  
  30.  
  31. on layout me
  32.   repeat with index=numsprites-1 down to 0
  33.     set spritenum=getpropat(spritelist,index+1)
  34.     set curpos=basepos+index*point(delh,delv)
  35.     puppetsprite spritenum,true
  36.     set the loc of sprite spritenum to curpos
  37.   end repeat
  38.   updateStage
  39. end
  40.  
  41. on swap me
  42.   global gspritenum
  43.   set activesprite=the clickon
  44.   set curcast=getprop(spritelist,activesprite)
  45.   set oldcast=getprop(spritelist,endsprite)
  46.   setprop spritelist,endsprite,curcast
  47.   setprop spritelist,activesprite,oldcast
  48.   set the membernum of sprite activesprite to oldcast
  49.   set the membernum of sprite endsprite to curcast
  50.   updateStage
  51. end
  52.  
  53. on flip me
  54.   set endpos=the loc of sprite endsprite
  55.   set endcast=getprop(spritelist,endsprite)
  56.   set movedelta=(endpos-oldbootpos)*1.0/numsteps
  57.   set bootpos=oldbootpos
  58.   puppetsprite bootsprite,true
  59.   puppetsprite endsprite,true
  60.   set deltav=(the height of sprite endsprite/(numsteps-1))
  61.   set locH=the locH of sprite endsprite
  62.   set curpos=the locV of sprite endsprite
  63.   repeat with index=1 to integer(numsteps)
  64.     set curpos=curpos-deltav
  65.     set the locV of sprite endsprite to curpos
  66.     set the locH of sprite endsprite to locH
  67.     updateStage
  68.   end repeat
  69.   repeat with index=1 to numsteps
  70.     set the loch of sprite endsprite to (the loch of sprite endsprite)-(the locH of movedelta)
  71.     set the locV of sprite endsprite to (the locV of sprite endsprite)-(the locV of movedelta)
  72.     updateStage
  73.   end repeat
  74.   set the locH of sprite bootsprite to the locH of sprite endsprite
  75.   set the locV of sprite bootsprite to the locV of sprite endsprite
  76.   set the membernum of sprite bootsprite to the membernum of sprite endsprite
  77.   updateStage
  78.   set the visible of sprite bootsprite to true
  79.   set the visible of sprite endsprite to false
  80.   set the loc of sprite endsprite to endpos
  81.   updateStage
  82.   repeat with index=1 to numsteps
  83.     set the locV of sprite bootsprite to (the  locV of sprite bootsprite)+deltaV
  84.     updateStage
  85.   end repeat
  86.   
  87.   -- set the membernum of sprite endsprite-1 to (the membernum of sprite (endsprite))
  88.   set the visible of sprite bootsprite to false
  89.   set the visible of sprite endsprite to false
  90.   repeat with index=numsprites down to 2
  91.     set spritenum=getpropat(spritelist,index)
  92.     setprop spritelist,spritenum,getprop(spritelist,spritenum-1)
  93.   end repeat
  94.   setprop spritelist,startsprite,endcast
  95.   set the visible of sprite endsprite to true
  96.   repeat with index=numsprites down to 1
  97.     set spritenum=getpropat(spritelist,index)
  98.     set the membernum of sprite spritenum to getprop(spritelist,spritenum)
  99.   end repeat
  100.   updateStage
  101.   return (the name of member getlast(spritelist))
  102. end
  103.  
  104.