UIScrollBar 구성 요소를 사용하면 텍스트 필드에 스크롤 막대를 추가할 수 있습니다. ActionScript를 사용하여 제작하는 동안이나 런타임에 텍스트 필드에 스크롤 막대를 추가할 수 있습니다. UIScrollBar 구성 요소를 사용하려면 스테이지에 텍스트 필드를 만들고 [구성 요소] 패널에서 텍스트 필드 경계 상자의 사면 중 하나로 UIScrollBar 구성 요소를 드래그합니다.
스크롤 막대의 길이가 스크롤 화살표를 합친 크기보다 작으면 올바르게 표시되지 않고 화살표 버튼 중 하나가 다른 화살표 뒤에 숨겨집니다. Flash에서는 이와 관련된 오류 검사를 하지 않습니다. 이 경우 ActionScript를 사용하여 스크롤 막대를 숨기는 것이 좋습니다. 스크롤 막대의 크기를 조절한 결과 스크롤 상자(축소판)를 표시할 공간이 부족하게 되면 스크롤 상자가 표시되지 않습니다.
UIScrollBar 구성 요소는 다른 스크롤 막대와 비슷한 기능을 하며 양쪽 끝에는 화살표 버튼이, 그 사이에는 스크롤 트랙과 스크롤 상자(축소판)가 있습니다. 이 구성 요소를 텍스트 필드의 가장자리에 첨부하고 가로와 세로 양쪽 방향으로 사용할 수도 있습니다.
TextField에 대한 자세한 내용은
ActionScript 3.0 Reference
for Flash Professional
에서 TextField 클래스를 참조하십시오.
UIScrollBar 구성 요소와 사용자의 상호 작용
다른 여러 구성 요소와 달리 UIScrollBar 구성 요소에는 클릭을 반복할 필요 없이 마우스 버튼을 누른 채로 있는 것과 같은 연속된 마우스 입력을 사용할 수 있습니다.
UIScrollBar 구성 요소와 키보드는 상호 작용하지 않습니다.
UIScrollBar 구성 요소 매개 변수
속성 관리자나 구성 요소 관리자에서 각 UIScrollBar 구성 요소 인스턴스에 대해
direction
,
scrollTargetName
등의 제작 매개 변수를 설정할 수 있습니다. 이러한 매개 변수에는 각각 같은 이름의 해당 ActionScript 속성이 있습니다.
클래스 메서드, 속성 및 이벤트를 사용하여 UIScrollBar 인스턴스에 대한 추가 옵션을 설정하도록 ActionScript를 작성할 수 있습니다. 자세한 내용은
ActionScript 3.0 Reference
for Flash Professional
에서 UIScrollBar 클래스를 참조하십시오.
UIScrollBar 구성 요소를 사용하여 응용 프로그램 만들기
다음 절차에서는 응용 프로그램을 제작하는 동안 UIScrollBar 구성 요소를 추가하는 방법을 설명합니다.
-
새 Flash(ActionScript 3.0) 문서를 만듭니다.
-
한두 행의 텍스트를 입력할 수 있는 높이의 동적 텍스트 필드를 만들고 속성 관리자에서 인스턴스 이름으로
myText
를 지정합니다.
-
스크롤 막대를 가로로 사용하려는 경우 속성 관리자에서 입력 텍스트 필드의 [행 유형]을 [여러 행] 또는 [여러 행을 한행으로]로 설정합니다.
-
[액션] 패널을 열고 기본 타임라인에서 프레임 1을 선택한 후 다음 ActionScript 코드를 입력합니다. 이 코드는 사용자가 스크롤해야만 모든 내용을 볼 수 있도록
text
속성을 채웁니다.
myText.text="When the moon is in the seventh house and Jupiter aligns with Mars, then peace will guide the planet and love will rule the stars."
참고:
스테이지에서 모든 텍스트를 보려면 스크롤해야 할 만큼 텍스트 필드가 작은지 확인합니다. 텍스트 필드가 충분히 작지 않으면 스크롤 막대가 나타나지 않거나 스크롤 상자(내용을 스크롤할 때 드래그하는 부분) 없이 두 줄로 나타날 수 있습니다.
-
[보기] > [물리기] > [객체에 물리기]를 선택하여 객체 물리기를 설정했는지 확인합니다.
-
[구성 요소] 패널에서 인스턴스를 첨부하려는 위치에 가까운 텍스트 입력 필드로 UIScrollBar 인스턴스를 드래그합니다. 구성 요소가 제대로 바인딩되려면 마우스를 놓을 때 구성 요소와 텍스트 필드가 겹쳐야 합니다. 인스턴스 이름을
mySb
로 지정합니다.
구성 요소의
scrollTargetName
속성은 자동으로 속성 관리자와 [구성 요소 관리자]에 있는 텍스트 필드 인스턴스 이름으로 채워집니다. [매개 변수] 탭에 텍스트 필드 인스턴스 이름이 나타나지 않는 경우 UIScrollBar 인스턴스가 충분히 겹쳐지지 않았기 때문일 수 있습니다.
-
[컨트롤] > [무비 테스트]를 선택합니다.
ActionScript를 사용하여 UIScrollBar 구성 요소 인스턴스 만들기
ActionScript로 UIScrollBar 인스턴스를 만들어 런타임에 텍스트 필드와 연결할 수 있습니다. 다음 예제에서는 가로 방향의 UIScrollBar 인스턴스를 만들고 URL로부터 텍스트를 로드하는
myTxt
라는 텍스트 필드 인스턴스 아래쪽에 연결합니다. 또한 스크롤 막대의 크기를 텍스트 필드의 크기와 일치하도록 설정합니다.
-
새 Flash(ActionScript 3.0) 문서를 만듭니다.
-
ScrollBar 구성 요소를 [라이브러리] 패널로 드래그합니다.
-
[액션] 패널을 열고 기본 타임라인에서 프레임 1을 선택한 후 다음 ActionScript 코드를 입력합니다.
import flash.net.URLLoader;
import fl.controls.UIScrollBar;
import flash.events.Event;
var myTxt:TextField = new TextField();
myTxt.border = true;
myTxt.width = 200;
myTxt.height = 16;
myTxt.x = 200;
myTxt.y = 150;
var mySb:UIScrollBar = new UIScrollBar();
mySb.direction = "horizontal";
// Size it to match the text field.
mySb.setSize(myTxt.width, myTxt.height);
// Move it immediately below the text field.
mySb.move(myTxt.x, myTxt.height + myTxt.y);
// put them on the Stage
addChild(myTxt);
addChild(mySb);
// load text
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://www.helpexamples.com/flash/lorem.txt");
loader.load(request);
loader.addEventListener(Event.COMPLETE, loadcomplete);
function loadcomplete(event:Event) {
// move loaded text to text field
myTxt.text = loader.data;
// Set myTxt as target for scroll bar.
mySb.scrollTarget = myTxt;
}
-
[컨트롤] > [무비 테스트]를 선택합니다.
|
|
|