Listers,
I am writing a behavior which could scale or pan a flash
sprite. Flash sprite size must stay uniform. I have written the
behavior below and it seems to be working fine. If you could
suggest any improvements, I would appreciate.
Drop this behavior on a flash sprite (I believe that it would also
work for vectors). Click sprite for Scale Up, Alt-click for scale down, and
Control-click and drag for pan.
TIA
Jim
----Flash/Vector scale - pan behavior -------
property pMyMember, pMyOrigin, pMyDirective
on beginSprite me
pMyMember = sprite(me.SpriteNum).member.number
sprite(me.SpriteNum).scaleMode = #ShowAll
sprite(me.SpriteNum).originMode = #point
sprite(me.SpriteNum).originPoint = point(275, 200) -- midpoint of my 550 x
400 sprite
end
on mousewithin me
if the commandDown then
sprite(me.SpriteNum).cursor = 260
pMyDirective = #pan
else
pMyDirective = #notpan
if the optionDown then
sprite(me.SpriteNum).cursor = 303
else
sprite(me.SpriteNum).cursor = 302
end if
end if
end
on mouseDown Me
if pMyDirective = #pan then
originalClick = sprite(1).stageToFlash(the mouseLoc)
repeat while the mouseDown
sprite(me.SpriteNum).viewpoint = sprite(me.SpriteNum).viewpoint +
originalClick \
- sprite(1).stageToFlash(the mouseLoc)
end repeat
else
-- scaling
clickArea = sprite(1).stageToFlash(the mouseLoc)
HalfDistance = clickArea - point(275,200)
pMyOrigin = point(275,200) + (HalfDistance/2)
end if
end
on mouseUp me
if pMyDirective <> #pan then
if the optionDown then
mySign = (-1)
else
mySign = (1)
end if
sprite(me.SpriteNum).originPoint = pMyOrigin
member(pMyMember).scale = member(pMyMember).scale +
(member(pMyMember).scale * .30 * mySign)
-- put the keycode
end if
end
[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!]