home *** CD-ROM | disk | FTP | other *** search
/ Mac Ga Ichiban! 1996 December / macgaichiban199612.bin / MOVIES / 02MATI.Dxr / 00021.ls < prev    next >
Encoding:
Text File  |  1996-10-07  |  9.3 KB  |  345 lines

  1. on startMovie
  2.   global gpanomovieid, gNavMovieID, glasttimerollover, gPanoFrame
  3.   set gpanomovieid to EMPTY
  4.   set gNavMovieID to EMPTY
  5.   set glasttimerollover to 0
  6.   set gPanoFrame to EMPTY
  7.   openXLib("QuickTime VR XCMDs")
  8.   RegisterComponent(the pathName & "QuickTime VR Components", EMPTY)
  9.   initdata()
  10. end
  11.  
  12. on stopMovie
  13.   global glastmoviename
  14.   closepanomovie()
  15.   CloseNavMovie()
  16.   cursor(0)
  17.   closeXLib("QuickTime VR XCMDs")
  18.   clearGlobals()
  19.   set glastmoviename to the movieName
  20. end
  21.  
  22. on OpenNavMovie pfilename, pspritenum, pShowOnOpen
  23.   global gNavMovieID
  24.   CloseNavMovie()
  25.   set tfilename to the pathName & pfilename
  26.   set gNavMovieID to NavMovie("openMovie", "Direct", tfilename, the left of sprite pspritenum & "," & the top of sprite pspritenum, "ShowPoster", "Invisible")
  27.   if gNavMovieID contains "error" then
  28.     put gNavMovieID
  29.     set gNavMovieID to EMPTY
  30.     beep()
  31.     exit
  32.   end if
  33.   if pShowOnOpen then
  34.     NavMovie("Direct", gNavMovieID, "update")
  35.   end if
  36. end
  37.  
  38. on ShowNavMovie
  39.   global gNavMovieID
  40.   if gNavMovieID <> EMPTY then
  41.     NavMovie("Direct", gNavMovieID, "update")
  42.   end if
  43. end
  44.  
  45. on SetNavMovieView pHPan, pVPan
  46.   global gNavMovieID
  47.   if gNavMovieID <> EMPTY then
  48.     NavMovie("Direct", gNavMovieID, "set", "hPanAngle", pHPan)
  49.     NavMovie("Direct", gNavMovieID, "set", "vPanAngle", pVPan)
  50.   end if
  51. end
  52.  
  53. on CloseNavMovie
  54.   global gNavMovieID
  55.   if gNavMovieID <> EMPTY then
  56.     NavMovie("Direct", gNavMovieID, "dispose")
  57.     set gNavMovieID to EMPTY
  58.   end if
  59. end
  60.  
  61. on NavFrameScript pspritenum
  62.   global gNavMovieID
  63.   if (gNavMovieID <> EMPTY) and (RunningInForeground() = "true") then
  64.     if rollOver(pspritenum) then
  65.       NavMovie("Direct", gNavMovieID, "mouseOver")
  66.       cursor(200)
  67.       cursor(0)
  68.     else
  69.       NavMovie("Direct", gNavMovieID, "idle")
  70.     end if
  71.   end if
  72. end
  73.  
  74. on openpanomovie pfilename, pspritenum, pShowOnOpen
  75.   global gpanomovieid
  76.   closepanomovie()
  77.   set tPanoRect to the left of sprite pspritenum & "," & the top of sprite pspritenum & "," & the right of sprite pspritenum & "," & the bottom of sprite pspritenum
  78.   set tfilename to the pathName & pfilename
  79.   set gpanomovieid to PanoMovie("openMovie", "Direct", tfilename, tPanoRect)
  80.   if gpanomovieid contains "error" then
  81.     put gpanomovieid
  82.     set gpanomovieid to EMPTY
  83.     beep()
  84.     exit
  85.   end if
  86.   PanoMovie("Direct", gpanomovieid, "set", "warpMode", 2)
  87. end
  88.  
  89. on ShowPanoMovie pQuality
  90.   global gpanomovieid
  91.   if gpanomovieid <> EMPTY then
  92.     if not voidp(pQuality) then
  93.       PanoMovie("Direct", gpanomovieid, "set", "quality", pQuality)
  94.     end if
  95.     PanoMovie("Direct", gpanomovieid, "update")
  96.   end if
  97. end
  98.  
  99. on SetPanoNode pNodeID, pUpdate, pQuality
  100.   global gpanomovieid
  101.   if gpanomovieid <> EMPTY then
  102.     PanoMovie("Direct", gpanomovieid, "set", "nodeID", pNodeID)
  103.     if not voidp(pQuality) then
  104.       PanoMovie("Direct", gpanomovieid, "set", "quality", pQuality)
  105.     end if
  106.     if pUpdate then
  107.       PanoMovie("Direct", gpanomovieid, "Update")
  108.     end if
  109.   end if
  110. end
  111.  
  112. on SwingPanoMovie pHPan, pVPan, pZoom, pSwingSpeed, pSwingQuality, pFinalQuality
  113.   global gpanomovieid
  114.   if gpanomovieid <> EMPTY then
  115.     PanoMovie("Direct", gpanomovieid, "set", "zoomAngle", pZoom)
  116.     PanoMovie("Direct", gpanomovieid, "set", "vPanAngle", pVPan)
  117.     PanoMovie("Direct", gpanomovieid, "set", "hPanAngle", pHPan)
  118.     PanoMovie("Direct", gpanomovieid, "set", "quality", pSwingQuality)
  119.     PanoMovie("Direct", gpanomovieid, "set", "transitionMode", "swing")
  120.     PanoMovie("Direct", gpanomovieid, "set", "transitionSpeed", pSwingSpeed)
  121.     PanoMovie("Direct", gpanomovieid, "update")
  122.     PanoMovie("Direct", gpanomovieid, "set", "transitionMode", "normal")
  123.     if pFinalQuality <> pSwingQuality then
  124.       PanoMovie("Direct", gpanomovieid, "set", "quality", pFinalQuality)
  125.       PanoMovie("Direct", gpanomovieid, "update")
  126.     end if
  127.   end if
  128. end
  129.  
  130. on CollapsePanoMovie
  131.   global gpanomovieid
  132.   if gpanomovieid <> EMPTY then
  133.     PanoMovie("Direct", gpanomovieid, "CollapseToHotSpotRgn")
  134.   end if
  135. end
  136.  
  137. on SetPanoMovieView pHPan, pVPan, pZoom, pQuality
  138.   global gpanomovieid
  139.   if gpanomovieid <> EMPTY then
  140.     PanoMovie("Direct", gpanomovieid, "set", "zoomAngle", pZoom)
  141.     PanoMovie("Direct", gpanomovieid, "set", "vPanAngle", pVPan)
  142.     PanoMovie("Direct", gpanomovieid, "set", "hPanAngle", pHPan)
  143.     if not voidp(pQuality) then
  144.       PanoMovie("Direct", gpanomovieid, "set", "quality", pQuality)
  145.     end if
  146.     PanoMovie("Direct", gpanomovieid, "update")
  147.   end if
  148. end
  149.  
  150. on closepanomovie
  151.   global gpanomovieid
  152.   if gpanomovieid <> EMPTY then
  153.     PanoMovie("Direct", gpanomovieid, "dispose")
  154.     set gpanomovieid to EMPTY
  155.   end if
  156. end
  157.  
  158. on panoframescript pspritenum
  159.   global glasttimerollover, gpanomovieid, gcurnodeid, exitFrame, gcrhotspotnum
  160.   if rollOver(pspritenum) then
  161.     if (gpanomovieid <> EMPTY) and (RunningInForeground() = "true") then
  162.       PanoMovie("Direct", gpanomovieid, "mouseOver")
  163.       set gcurnodeid to PanoMovie("Direct", gpanomovieid, "get", "nodeID")
  164.       set tMouseOverResult to the result
  165.       if tMouseOverResult <> 0 then
  166.         set tAction to item 1 of tMouseOverResult
  167.         if tAction = "jump" then
  168.         else
  169.           if tAction = "undf" then
  170.             set gcrhotspotnum to item 2 of tMouseOverResult
  171.             jumpmovie()
  172.           else
  173.             if tAction = "jpvr" then
  174.               set gcrhotspotnum to item 2 of tMouseOverResult
  175.               jumpupnode()
  176.             else
  177.               if tAction = "qtmv" then
  178.               else
  179.                 if tAction = "misc" then
  180.                 else
  181.                   if tAction = "navg" then
  182.                   else
  183.                     if tAction = "stil" then
  184.                     else
  185.                       if tAction = "pan " then
  186.                       end if
  187.                     end if
  188.                   end if
  189.                 end if
  190.               end if
  191.             end if
  192.           end if
  193.         end if
  194.         set glasttimerollover to 1
  195.       else
  196.         if rollOver(pspritenum) then
  197.           set glasttimerollover to 1
  198.         else
  199.           cursor(200)
  200.           cursor(0)
  201.           set glasttimerollover to 0
  202.         end if
  203.       end if
  204.     end if
  205.   else
  206.     if glasttimerollover then
  207.       cursor(200)
  208.       cursor(0)
  209.       set glasttimerollover to 0
  210.       if gpanomovieid <> EMPTY then
  211.         PanoMovie("Direct", gpanomovieid, "idle")
  212.       end if
  213.     end if
  214.   end if
  215. end
  216.  
  217. on SampleMouseOverHandler
  218.   global gpanomovieid
  219.   put "Mouse over panoramic movie"
  220.   if gpanomovieid <> EMPTY then
  221.   end if
  222. end
  223.  
  224. on SampleRolloverHandler pHotSpotID
  225.   global gplatelist
  226.   set hpnum to pHotSpotID
  227.   set cname to getaProp(gplatelist, hpnum)
  228.   set the castNum of sprite 1 to the number of cname
  229. end
  230.  
  231. on SampleMouseDownHandler
  232.   global gpanomovieid
  233.   put "Mouse down during mouseOver call"
  234.   if gpanomovieid <> EMPTY then
  235.     PanoMovie("Direct", gpanomovieid, "PassMouseDown")
  236.   end if
  237. end
  238.  
  239. on SamplePanZoomStartHandler
  240.   put "About to pan or zoom in panoramic movie"
  241. end
  242.  
  243. on SampleMouseStillDownHandler
  244.   global gpanomovieid
  245.   put "Enter mouse still down from panoramic movie"
  246.   if gpanomovieid <> EMPTY then
  247.   end if
  248.   put "Leave mouse still down from panoramic movie"
  249. end
  250.  
  251. on SampleNodeLeaveHandler pToNode
  252.   put "Jumping to node " & pToNode & " in panoramic movie"
  253. end
  254.  
  255. on ExtractPathName pPathName
  256.   set tDelimiter to ":"
  257.   if pPathName contains tDelimiter then
  258.     set tCharPos to length(pPathName)
  259.     repeat while tCharPos >= 1
  260.       if char tCharPos of pPathName = tDelimiter then
  261.         return char 1 to tCharPos - 1 of pPathName
  262.       end if
  263.       set tCharPos to tCharPos - 1
  264.     end repeat
  265.     return EMPTY
  266.   else
  267.     return EMPTY
  268.   end if
  269. end
  270.  
  271. on SetupHandler pHandlerName
  272.   global gpanomovieid
  273.   if the hilite of cast (pHandlerName && "Check") then
  274.     PanoMovie("Direct", gpanomovieid, "set", pHandlerName, "test" & pHandlerName)
  275.   else
  276.     PanoMovie("Direct", gpanomovieid, "set", pHandlerName, EMPTY)
  277.   end if
  278. end
  279.  
  280. on TestMouseOverHandler
  281.   global gpanomovieid
  282.   if gpanomovieid <> EMPTY then
  283.     put "In mouse over at: " & the ticks into field "MouseOverHandler Message"
  284.   end if
  285. end
  286.  
  287. on TestRolloverHotSpotHandler pHotSpotID
  288.   global gpanomovieid
  289.   if gpanomovieid <> EMPTY then
  290.     put "Rolling over hot spot: " & pHotSpotID into field "RolloverHotSpotHandler Message"
  291.   end if
  292. end
  293.  
  294. on TestMouseDownHandler
  295.   global gpanomovieid
  296.   if gpanomovieid <> EMPTY then
  297.     put "In mouse down at: " & the ticks into field "MouseDownHandler Message"
  298.     PanoMovie("Direct", gpanomovieid, "PassMouseDown")
  299.   end if
  300. end
  301.  
  302. on testPanZoomStartHandler
  303.   global gpanomovieid
  304.   if gpanomovieid <> EMPTY then
  305.     put "In pan zoom start at: " & the ticks into field "PanZoomStartHandler Message"
  306.   end if
  307. end
  308.  
  309. on TestMouseStillDownHandler
  310.   global gpanomovieid
  311.   if gpanomovieid <> EMPTY then
  312.     put "In mouse still down at: " & the ticks into field "MouseStillDownHandler Message"
  313.     put PanoMovie("Direct", gpanomovieid, "get", "hpanangle") into field "MouseStillDownHandler Message"
  314.   end if
  315. end
  316.  
  317. on TestNodeLeaveHandler pToNode
  318.   global gpanomovieid
  319.   if gpanomovieid <> EMPTY then
  320.     put "Leaving node ID: " & pToNode into field "NodeLeaveHandler Message"
  321.   end if
  322. end
  323.  
  324. factory CallBackTracer
  325. method mnew
  326.  
  327. method mEvalExpr pExpr
  328.  
  329. method mSendHCMessage pMessage
  330.  
  331. method mSendCardMessage pMessage
  332.   do(pMessage)
  333.  
  334. method mGetFieldByName pCard, pName
  335.  
  336. method mGetFieldByNum pCard, pNum
  337.  
  338. method mGetFieldByID pCard, pID
  339.  
  340. method mSetFieldByName pCard, pName, pValue
  341.  
  342. method mSetFieldByNum pCard, pNum, pValue
  343.  
  344. method mSetFieldByID pCard, pID, pValue
  345.