Here is a modification of Jacques Hausser's handler to allow an oval (ellipse) tilted by thetaDeg degrees and repeating once or many times (or 4000000000 for forever, around 125 years if you wanna get picky)

on dotest
   put 30 into stepSize
   repeat with i = 0 to 360 step stepSize
      Orbite the long name of grc "laGrc", 130, 40, 250, 250, i, 1
   end repeat
end dotest


command Orbite theObject, ax,bx,centerX,centerY,thetaDeg,nRepeat
-- theObject: long name of the object to be rotated (so you can use any kind of object) -- ax,bx: half length of the horizontal and the vertical axes of the orbite (if equal, the move will be circular)
   --  centerX,centerY: center of rotation
   put thetaDeg *pi/180 into thetaRad
   put cos(thetaRad) into cosT
   put sin(thetaRad) into sinT
   repeat nRepeat times
      if the mouse is down then exit repeat -- or any other exit test
      repeat with i = 0 to 90
put round(ax*cos(4*i*pi/180)*cosT-bx*sin(4*i*pi/180)*sinT) +centerx, round(bx*sin(4*i*pi/180)*cosT+ax*cos(4*i*pi/180)*sinT) + centery into laloc
         set the loc of theobject to laloc
wait 5 millisecond -- can be tuned for speed and softness of the move
      end repeat
   end repeat
end Orbite

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to