Hey - > What's the best way of scaling a sprite in lingo while keeping the same > centerpoint, ie
Strangely enough, I have a function for that very purpose: -- Scale the given rect by given factor, from specified registration point -- Copyright (c) 2001 Kendall Anderson, [EMAIL PROTECTED] -- http://invisiblethreads.com -- example: -- ie: rNew = me._ScaleRect(sprite(5).rect, 3.5, #center) -- registration points: -- #center -- #ul = upper left, #lr = lower right, etc. -- returns the newly scaled rect on _ScaleRect rSrc, dFactor, sRegpoint dW = rSrc.width dH = rSrc.height dLeft = rSrc.left dRight = rSrc.right dTop = rSrc.top dBot = rSrc.bottom dXc = dLeft + (dW/2) dYc = dTop + (dH/2) dNewW = dW * dFactor dNewH = dH * dFactor case (sRegpoint) of #center: rNew = rect(dXc - (dNewW/2), dYc - (dNewH/2), dXc - (dNewW/2) + dNewW, dYc - (dNewH/2) + dNewH) #ul: rNew = rect(dLeft, dTop, dLeft + dNewW, dTop + dNewH) #ur: rNew = rect(dRight - dNewW, dTop, dRight, dTop + dNewH) #ll: rNew = rect(dLeft, dBot - dNewH, dLeft + dNewW, dBot) #lr: rNew = rect(dRight - dNewW, dBot - dNewH, dRight, dBot) end case return rNew end Hope it helps.. Kendall [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!]