Bevar proportionerne på hjørner når de skaleres med ActionScript

Kategori: Tips og tricks | Kommentarer (0)
Gemt: 2006-12-8 11:14


Hvis der er en ting som hele Web 2.0 bølgen også har haft med i sit kølvand, så er det bokse og knapper med runde hjørner.
Ganske nydeligt, men de har dog ét indbygget problem, når man skalere dem ændres størrelsen og proportionerne på hjørnerne.

Et workaround er at man manuelt deler sin boks op i 9 bidder, og så med script sørger for kun at skalere langsiderne, mens hjørnerne blot placeres, men det er besværligt og tidskrævende.
Flash har faktisk en indbygget funktion der kan gøre præcis det samme på en ekstremt nem måde!

For at se den i funktion, så tegn en firkant med runde hjørner og tryk F8 for at konvertere den til et symbol.
9-slice scaling
Vælg at den skal være et movieclip og kig nu helt i bunden af boksen, her er der et lille punkt der hedder “Enable guides for 9-slice scaling” (kan du ikke se den skal du først klikke på “Advanced”)

9-slice rulers
Herefter kan du nu, ved at dobbelt-klikke på det nye symbol i dit library komme ind og redigere i disse slices.
Det gøres ganske simpelt ved at trække rundt på nogle rulers.
Bemærk, disse rulers kommer kun hvis du går ind i symbolet gennem dit library, dit kommer ikke hvis du dobbeltklikker på det på din stage!

Det eneste ærgelige ved denne 9-slice funktion er, at den kun virker når man skalerer movieclippet via ActionScript.
Laver du justeringer inde i Flash via transform eller bare ved at sætte bredden i dine properties, så vrides hjørnerne stadigvæk ud af proportion.
Men hey, lidt er bedre end intet :-)

Note: Dette var en af de få ting jeg havde med hjem fra mit ellers ikke alt for vellykkede kursus.