I don't see that regpoints really enter into it.

If I understand you correctly, you've got 2 simultaneous 
arithmetically-created tweens going on:

The sprite image will get resized from small (rect(0, 0, 3, 1) = 
final/200)) to full size (rect(0, 0, 600, 240))
the sprite upperLeft will move from (the clickLoc) to point(99, 170)

so
cl = the clickLoc
startRect = rect(cl[1] + 0, cl[2] + 0, cl[1] + 3, cl[2] + 1)
finalRect = rect (99 + 0, 170 + 0, 99 + 600 , 170 + 240)

deltaRect = finalRect - startRect

divide deltaRect into as many tweens as you need & apply them?

hth

-Buzz

At 11:21 PM -0700 9/11/02, you wrote:
>I've driven myself crazy trying to make this work and haven't 
>succeeded as yet. So I want to throw this out there for some advice.
>
>There is a sprite that contains a bitmap that must display when the 
>user clicks a region of the screen. The sprite must zoom from the 
>point of the mouse click to it's full size, which is 600x240 on an 
>800x600 stage. The sprite when fully zoomed will always occupy the 
>same pixel location, which has the upper left corner at point(99, 
>170).
>
>The point from which the zoom emanates is the clickLoc, so the image 
>will have to zoom from a different regpoint every time the user 
>clicks a different pixel.
>
>I can make this work with imaging Lingo if the image zooms from the 
>center, left edge or presumably the right edge of the sprite. But I 
>can't get it to zoom from whatever pixel is clicked so that it 
>reaches it's full size in the same location no matter what.
>
>I've also tried this by converting the bitmap to a vector in Flash 
>and using the Flash Lingo to scale it. Again, I can scale it fine, 
>but am not able to get it to scale from the point needed to the 
>proper location on the screen.
>
>One version of some successful code that doesn't quite do what I 
>want follows. It presupposes that all zooming will come from one of 
>three points on the left side of the image. But that's not what the 
>client wants. A fourth condition in the if-then has been deleted. In 
>it, I tried to find where the click would occur proportionally in 
>the fully zoomed image. I think I have that calculated right. But 
>once I have that info, I seem unable to make it work properly.
>
>This is from a movie script in a simple movie. Once I have it 
>working, I'll turn it into a behavior and get rid of the argument as 
>the clickLoc should provide all the info needed to send to the 
>sprite.
>
>--upper left corner of sprite has to be at point(99, 170) regardless 
>of regLevel once image is fully zoomed. in the ultimage behavior
>
>on mZoom me, regLevel
>   newMem = new (#bitmap)                      --create a new member
>   newMem.name = "dynamic_chalkboard_bitmap"   --name it
>   newMem.regpoint = point(0, 0)               --set the regPoint so 
>that we can control its position and make sure it zooms from the left
>   defaultLocH = 99            --left edge of sprite must be at this value
>   defaultLocV = 170           --right edge of sprite must be at this value
>   widthIncrement = 15         --number of pixels image will zoom by 
>horizontally through each loop
>   heightIncrement = 6         --number of pixels image will zoom by 
>vertically through each loop
>   maxWidth = 600              --full sized width of image
>   maxHeight = 240             --full sized height of image
>   repeatCount = maxWidth / widthIncrement -- how many times to run 
>through the repeat loop until full size is reached
>   repeat with i = 1 to repeatCount
>     currWidth = widthIncrement * i
>     currHeight = heightIncrement * i
>     dynaImage = image(currWidth, currHeight, 32)--(width, height, bit depth)
>     dynaImage.fill(dynaImage.rect, rgb(0, 0, 0))
>     --copy the newly created image into the newly created member
>     newMem.image = dynaImage
>     if regLevel = "top" then
>       -- registration point relative to point(defaultLocH, 
>defaultLocV). zooms from upper left
>       regV = point(0, 0)
>       sprite(1).loc = point(defaultLocH, defaultLocV)
>     else if regLevel = "middle" then
>       regV = point(0, newMem.height/2) -- zooms from middle
>       sprite(1).loc = point(defaultLocH, defaultLocV + (maxHeight/2) )
>     else if regLevel = "bottom" then
>       regV = point(0, newMem.height) -- zooms from bottom
>       sprite(1).loc = point(defaultLocH, defaultLocV + maxHeight)
>     end if
>     newMem.regpoint = regV
>     newMem.image.copyPixels(member("chalkboard_high").image, 
>newMem.image.rect, member("chalkboard_high").rect)
>     sprite(1).member = newMem
>     updateStage
>   end repeat
>end
>
>Thanks for any thoughts you might have.
>
>[To remove yourself from this list, or to change to digest mode, go 
>to http://www.penworks.com/lingo-l.cgi  To post messages to the 
>list, email [EMAIL PROTECTED]  (Problems, email 
>[EMAIL PROTECTED]). Lingo-L is for learning and helping with 
>programming Lingo.  Thanks!]

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]

Reply via email to