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!]