Det finns två sätt att mäta och ändra storlek på visningsobjekt, antingen via dimensionsegenskaperna (
width
och
height
) eller skalningsegenskaperna (
scaleX
och
scaleY
).
Alla visningsobjekt har egenskapen
width
och
height
som från början anges som storleken på objektet i antal pixlar. Du kan läsa in värdena för dessa egenskaper så att storleken på visningsobjektet mäts. Du kan även ange nya värden för att ändra objektets storlek enligt följande:
// Resize a display object.
square.width = 420;
square.height = 420;
// Determine the radius of a circle display object.
var radius:Number = circle.width / 2;
Genom att ändra egenskaperna
height
eller
width
skaländras objektet, vilket innebär att innehållet sträcks ut eller trycks ihop för att passa in i den nya ytan. Om visningsobjektet innehåller enbart vektorformer kommer dessa att ritas om i den nya skalan, utan försämrad kvalitet. Alla grafikelement för bitmappar i visningsobjektet skaländras i stället för att ritas om. Ett digitalfoto, exempelvis, vars bredd och höjd ökas mer än de faktiska dimensionerna i bildens pixelinformation kommer att se taggigt ut.
När du ändrar egenskaperna
width
eller
height
i ett visningsobjekt uppdateras även egenskaperna
scaleX
och
scaleY
.
Obs!
TextField-objekt är ett undantag till det här skalningsbeteendet. Textfältens storlek måste ändras automatiskt och anpassas efter textbrytningar och teckenstorlekar. Därför återställs textfältens scaleX- eller scaleY-värden till 1 efter storleksändringen. Om du justerar scaleX- eller scaleY-värdena för ett TextField-objekt ändras och anpassas emellertid bredd- och höjdvärdena efter de skalningsvärden som du anger.
Dessa egenskaper representerar den relativa storleken på visningsobjektet jämfört med den ursprungliga storleken. I egenskaperna
scaleX
och
scaleY
används decimalvärden som representerar procentandelar. Om till exempel visningsobjektets egenskap
width
har ändrats så att den utgör halva bredden mot ursprunglig storlek får objektets egenskap
scaleX
värdet
0,5
, vilket innebär 50 procent. Om höjden har dubblerats kommer egenskapen
scaleY
att få värdet
2
, vilket innebär 200 procent.
// circle is a display object whose width and height are 150 pixels.
// At original size, scaleX and scaleY are 1 (100%).
trace(circle.scaleX); // output: 1
trace(circle.scaleY); // output: 1
// When you change the width and height properties,
// Flash Player changes the scaleX and scaleY properties accordingly.
circle.width = 100;
circle.height = 75;
trace(circle.scaleX); // output: 0.6622516556291391
trace(circle.scaleY); // output: 0.4966887417218543
Storleksändringar är inte proportionella. M.a.o., om du ändrar egenskapen
height
för en fyrkant, men inte motsvarande
width
, så kommer proportionerna inte längre att vara desamma. Fyrkanten blir i stället en rektangel. Om du vill göra relativa storleksändringar på ett visningsobjekt kan du ange värdena för egenskaperna
scaleX
och
scaleY
, i stället för egenskaperna
width
eller
height
. Med följande kod ändras egenskapen
width
för visningsobjektet
square
. Därefter ändras den lodräta skalan (
scaleY
) för att motsvara den vågräta skalan, så att fyrkanten får en proportionell storlek.
// Change the width directly.
square.width = 150;
// Change the vertical scale to match the horizontal scale,
// to keep the size proportional.
square.scaleY = square.scaleX;