home *** CD-ROM | disk | FTP | other *** search
/ Roboty / ROBOTS_CD.iso / CD / assembly.dxr / Internal_14_slider.ls < prev    next >
Encoding:
Text File  |  2005-05-13  |  1.8 KB  |  68 lines

  1. property spriteNum, locs, pos, targetLoc, targetHeight, myState
  2. global robotConstruction, sliderPos
  3.  
  4. on beginSprite me
  5.   myState = "locked"
  6.   locs = [[82, 94], [177, 111], [291, 262]]
  7.   pos = 1
  8.   sliderPos = 1
  9.   targetLoc = point(sprite(spriteNum).locH, locs[pos][1])
  10.   targetHeight = locs[pos][2]
  11. end
  12.  
  13. on exitFrame me
  14.   if myState = "Slide" then
  15.     incx = (sprite(spriteNum).loc[1] - targetLoc[1]) / 1.5
  16.     incy = (sprite(spriteNum).loc[2] - targetLoc[2]) / 1.5
  17.     incH = (sprite(spriteNum).height - targetHeight) / 1.5
  18.     sprite(spriteNum).loc = targetLoc + point(incx, incy)
  19.     sprite(spriteNum).height = targetHeight + incH
  20.     if me.distanceCheck(targetLoc, sprite(spriteNum).loc) < 2 then
  21.       sprite(spriteNum).loc = targetLoc
  22.       sprite(spriteNum).height = targetHeight
  23.       sendSprite(13, #updateMaterialFeild, robotConstruction[pos])
  24.       myState = "locked"
  25.     end if
  26.     sendAllSprites(#follow)
  27.   end if
  28. end
  29.  
  30. on moveMe me, Dir
  31.   sendSprite(13, #updateMaterialFeild, EMPTY)
  32.   if (Dir = "up") and (pos <> 1) then
  33.     puppetSound(1, "sliderMove")
  34.     pos = pos - 1
  35.   end if
  36.   if (Dir = "down") and (pos <> 3) then
  37.     puppetSound(1, "sliderMove")
  38.     pos = pos + 1
  39.   end if
  40.   if (Dir = "left") or (Dir = "right") then
  41.     puppetSound(1, "itemChange")
  42.     changeItem(pos, Dir)
  43.   else
  44.     sliderPos = pos
  45.     targetLoc = point(sprite(spriteNum).locH, locs[pos][1])
  46.     targetHeight = locs[pos][2]
  47.     myState = "Slide"
  48.   end if
  49. end
  50.  
  51. on NewBrief me
  52.   targetLoc = point(sprite(spriteNum).locH, 260)
  53.   targetHeight = 50
  54.   myState = "Slide"
  55. end
  56.  
  57. on briefLoaded me
  58.   pos = 1
  59.   sliderPos = 1
  60.   targetLoc = point(sprite(spriteNum).locH, locs[pos][1])
  61.   targetHeight = locs[pos][2]
  62.   myState = "Slide"
  63. end
  64.  
  65. on distanceCheck me, obj1, obj2
  66.   return sqrt(power(obj1[1] - obj2[1], 2) + power(obj1[2] - obj2[2], 2))
  67. end
  68.