13. januar 2003 - 07:14
Der er
1 kommentar
Zoom og hotspot
Jeg er igang med et program hvor man kan bevæge et bitmapbillede rundt på Stage med piletasterne, og zoome ind og ud med PgUp og PgDn. Der er skjulte knapper på billedet, lagt i de efterfølgende sprites. Jeg kan få kanpperne til at følge med til siderne og op og ned, men hvordan holder jeg dem på plads når jeg zoomer ind og ud af billedet ?
01. marts 2003 - 09:51
#1
Jeg fandt selv løsningen. Den er her, hvis nogen skulle være interesseret:
global K1, K2, lg, br, zoomWidth, zoomHeight, sp2W, sp2H, venstre, hojre,op,ned,sp1W,SP1h,pSprite2locH
on startMovie--konstanter
sp2W=sprite(2).width
sp2H=sprite(2).height
pSprite2locH=sprite(2).locH-sprite(1).left
pSprite2locV=sprite(2).locV-sprite(1).top
K1=pSprite2locH/ float(sprite(1).width)
K2=pSprite2locV/float(sprite(1).height)
zoomWidth=sprite(1).width/100
zoomHeight=sprite(1).height/100
end
on zoomUd
sprite(1).width=sprite(1).width+zoomWidth
sprite(1).height=sprite(1).height+zoomHeight
lg=sprite(1).width--x
br=sprite(1).height--y
sprite(2).loc=point((lg*K1+sprite(1).left),(br*K2+sprite(1).top))
end
on zoomInd
sprite(1).width=sprite(1).width-zoomWidth
sprite(1).height=sprite(1).height-zoomHeight
lg=sprite(1).width--x
br=sprite(1).height--y
sprite(2).loc=point((lg*K1+sprite(1).left),(br*K2+sprite(1).top))
end
on venstre
if sprite(1).right< (the stageRight) then exit
sprite(1).loc = sprite(1).loc - point(10, 0)
sprite(2).loc = sprite(2).loc - point(10, 0)
end
on hojre
if sprite(1).left> (the stageRight - the stageRight) then exit
sprite(1).loc = sprite(1).loc + point(10, 0)
sprite(2).loc = sprite(2).loc + point(10, 0)
end
on ned
if sprite(1).top> (the stageBottom - the stageBottom) then exit
sprite(1).loc = sprite(1).loc + point(0, 10)
sprite(2).loc = sprite(2).loc + point(0, 10)
end
on op
if sprite(1).bottom< (the stageBottom) then exit
sprite(1).loc = sprite(1).loc - point(0, 10)
sprite(2).loc = sprite(2).loc - point(0, 10)
end
måske ikke det mest elegante, men det virker.
pm