home *** CD-ROM | disk | FTP | other *** search
/ Exploring Aeronautics / NASA Exploring Aeronautics.iso / pc / source / visitor.dxr / Internal_2_scrollingTextObjectScript.ls < prev    next >
Encoding:
Text File  |  1998-06-02  |  2.2 KB  |  79 lines

  1. property scrollIncrement, textSprite, boxSprite, barSprite, bottomBoxLimit, topBoxLimit, scrollLimit
  2. global gMain, gButtonManager, gTimeManager, gModule4
  3.  
  4. on new me, aSprite
  5.   set textSprite to aSprite
  6.   set boxSprite to 25
  7.   set barSprite to 22
  8.   set scrollIncrement to 21
  9.   puppetSprite(boxSprite, 1)
  10.   set bottomBoxLimit to the bottom of sprite barSprite - (the width of sprite boxSprite / 2)
  11.   set topBoxLimit to the top of sprite barSprite + (the width of sprite boxSprite / 2)
  12.   put topBoxLimit, bottomBoxLimit
  13.   set scrollLimit to 180
  14.   return me
  15. end
  16.  
  17. on mInit me
  18. end
  19.  
  20. on mUpArrow me
  21.   if mIsScrollable(me) then
  22.     set textMember to the member of sprite textSprite
  23.     set currentScroll to the scrollTop of textMember
  24.     set the scrollTop of textMember to max(currentScroll - scrollIncrement, 0)
  25.     mUpdateBox(me)
  26.   end if
  27. end
  28.  
  29. on mDownArrow me
  30.   if mIsScrollable(me) then
  31.     set textMember to the member of sprite textSprite
  32.     set endOfScroll to the height of textMember - scrollLimit
  33.     set currentScroll to the scrollTop of textMember
  34.     set the scrollTop of textMember to min(currentScroll + scrollIncrement, endOfScroll)
  35.     mUpdateBox(me)
  36.   end if
  37. end
  38.  
  39. on mTopOfPage me
  40.   set textMember to the member of sprite textSprite
  41.   set the scrollTop of textMember to 1
  42.   set the locV of sprite boxSprite to topBoxLimit
  43. end
  44.  
  45. on mIsScrollable me
  46.   set textMember to the member of sprite textSprite
  47.   set h to the height of member textMember
  48.   if h > scrollLimit then
  49.     return 1
  50.   else
  51.     return 0
  52.   end if
  53. end
  54.  
  55. on mSlideBox me
  56. end
  57.  
  58. on mUpdateBox me
  59.   set textMember to the member of sprite textSprite
  60.   set currentScroll to the scrollTop of textMember
  61.   set endOfScroll to the height of textMember - scrollLimit
  62.   put "Current scroll:" && currentScroll && "End of Scroll" && endOfScroll
  63.   set percentOfScroll to float(currentScroll * 1.0 / endOfScroll * 1.0)
  64.   put "percent" && percentOfScroll
  65.   set v to topBoxLimit + (percentOfScroll * (bottomBoxLimit - topBoxLimit))
  66.   set the locV of sprite boxSprite to v
  67. end
  68.  
  69. on mGetInfo me
  70.   set textMember to the member of sprite textSprite
  71.   if mIsScrollable(me) then
  72.     put "Scrollable"
  73.     put "Current scrollTop" && the scrollTop of textMember
  74.     put "Height:" && the height of member textMember
  75.   else
  76.     put "Not scrollable"
  77.   end if
  78. end
  79.