객체 크기 조작 및 크기 조절

크기 속성(widthheight) 또는 크기 조절 속성(scaleXscaleY)을 사용하여 표시 객체의 크기를 두 가지 방식으로 측정하고 조작할 수 있습니다.

모든 표시 객체에는 width 속성과 height 속성이 있습니다. 이러한 속성은 처음에는 객체의 크기(픽셀)로 설정됩니다. 이러한 속성의 값을 읽어서 표시 객체의 크기를 측정할 수 있습니다. 다음과 같이 새 값을 지정하여 객체의 크기를 변경할 수도 있습니다.

// 표시 객체의 크기를 조절합니다.
square.width = 420;
square.height = 420;

// 원 표시 객체의 반경을 결정합니다.
var radius:Number = circle.width / 2;

표시 객체의 height 또는 width를 변경하면 객체의 크기가 조절됩니다. 즉, 객체의 내용이 새 영역에 맞게 확대되거나 축소됩니다. 표시 객체에 벡터 모양만 포함되어 있는 경우 품질 손상 없이 해당 모양이 새 크기로 다시 그려집니다. 표시 객체에 있는 비트맵 그래픽 요소는 다시 그려지지 않고 크기가 조절됩니다. 예를 들어, 폭과 높이가 이미지의 실제 픽셀 정보 크기보다 크게 확대되는 디지털 사진은 픽셀화되어 들쭉날쭉하게 보입니다.

표시 객체의 width 또는 height 속성을 변경하면 Flash Player에서 객체의 scaleXscaleY 속성도 함께 업데이트합니다. 이러한 속성은 원본 크기와 비교한 표시 객체의 상대적인 크기를 나타냅니다. scaleXscaleY 속성은 분수(소수) 값을 사용하여 백분율을 나타냅니다. 예를 들어, 표시 객체의 width 속성이 원본 폭의 1/2 크기로 변경된 경우 객체의 scaleX 속성 값은 .5(50%)가 됩니다. 높이가 두 배로 커지면 scaleY 속성 값이 2(200%)가 됩니다.

// 원은 폭과 높이가 각각 150픽셀인 표시 객체입니다.
// 원래 크기에서 scaleX와 scaleY는 1(100%)입니다.
trace(circle.scaleX);// 출력: 1
trace(circle.scaleY); // 출력: 1

// width 및 height 속성을 변경하면 그에 따라 scaleX 및 scaleY 속성도 변경됩니다.
circle.width = 100;
circle.height = 75;
trace(circle.scaleX); // 출력: 0.6622516556291391
trace(circle.scaleY); // 출력: 0.4966887417218543

크기는 비례적으로 변경되지 않습니다. 즉, 정사각형의 height 속성만 변경하고 width 속성은 변경하지 않을 경우 가로와 세로의 비율이 달라져서 정사각형이 아니라 직사각형이 됩니다. 표시 객체의 크기를 상대적으로 변경하려면 width 또는 height 속성 대신 scaleXscaleY 속성 값을 설정하여 객체의 크기를 조절할 수 있습니다. 예를 들어, 다음 코드는 square라는 표시 객체의 width 속성을 변경한 다음 세로 비율(scaleY)을 가로 비율과 일치하도록 변경하여 정사각형의 가로 세로 비율을 유지합니다.

// 폭을 직접 변경합니다.
square.width = 150;

// 가로 비율에 맞게 세로 비율을 변경하여 가로 세로 비율을 유지합니다.
square.scaleY = square.scaleX;

Flash CS3

 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/main/00000156.html