| 패키지 | fl.controls |
| 클래스 | public class ProgressBarMode |
| 상속 | ProgressBarMode Object |
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9.0.28.0 |
mode 속성 값을 정의합니다.
참고 사항
| 상수 | 다음에 의해 정의됨 | ||
|---|---|---|---|
| EVENT : String = "event" [static]
source 속성으로 지정된 구성 요소는 progress 및 complete 이벤트를 전달해야 합니다.
| ProgressBarMode | ||
| MANUAL : String = "manual" [static]
ProgressBar 구성 요소의 상태를 수동으로 업데이트합니다.
| ProgressBarMode | ||
| POLLED : String = "polled" [static]
진행률은 소스를 폴링하는 방법으로 업데이트됩니다.
| ProgressBarMode | ||
| EVENT | 상수 |
public static const EVENT:String = "event"
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9.0.28.0 |
source 속성으로 지정된 구성 요소는 progress 및 complete 이벤트를 전달해야 합니다. 이 두 이벤트는 ProgressBar의 상태를 업데이트하는 데 사용됩니다.
참고 사항
import fl.containers.UILoader;
import fl.controls.Label;
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
import fl.events.ComponentEvent;
var url:String = "http://www.helpexamples.com/flash/images/image2.jpg";
var myUILoader:UILoader = new UILoader();
myUILoader.visible = false;
myUILoader.scaleContent = false;
myUILoader.autoLoad = false;
myUILoader.source = url;
myUILoader.addEventListener(ComponentEvent.RESIZE, resizeHandler);
myUILoader.load();
var myProgressBar:ProgressBar = new ProgressBar();
myProgressBar.mode = ProgressBarMode.EVENT;
myProgressBar.indeterminate = false;
myProgressBar.source = myUILoader;
myProgressBar.setSize(320, 12);
myProgressBar.move((stage.stageWidth - myProgressBar.width) / 2, (stage.stageHeight - myProgressBar.height) / 2);
myProgressBar.addEventListener(Event.COMPLETE, completeHandler);
myProgressBar.addEventListener(ProgressEvent.PROGRESS, progressHandler);
addChild(myProgressBar);
var myLabel:Label = new Label();
myLabel.text = "";
myLabel.autoSize = TextFieldAutoSize.LEFT;
myLabel.move(myProgressBar.x, myProgressBar.y + myProgressBar.height);
addChild(myLabel);
function progressHandler(event:ProgressEvent):void {
trace("progress:", event.bytesLoaded, "of", event.bytesTotal, "bytes");
myLabel.text = event.bytesLoaded + " of " + event.bytesTotal + " (" + event.currentTarget.percentComplete.toFixed(1) + "%)";
}
function completeHandler(event:Event):void {
trace("complete:");
removeChild(myLabel);
removeChild(myProgressBar);
myProgressBar.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
myProgressBar.removeEventListener(Event.COMPLETE, completeHandler);
addChild(myUILoader);
}
function resizeHandler(event:ComponentEvent):void {
trace("resize:");
var myUILdr:UILoader = event.currentTarget as UILoader;
myUILdr.move((stage.stageWidth - myUILdr.width) / 2, (stage.stageHeight - myUILdr.height) / 2);
myUILdr.visible = true;
}
| MANUAL | 상수 |
public static const MANUAL:String = "manual"
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9.0.28.0 |
ProgressBar 구성 요소의 상태를 수동으로 업데이트합니다. 이 모드에서는 minimum 및 maximum 속성을 지정하고 setProgress() 메서드를 사용하여 상태를 지정합니다.
참고 사항
import fl.controls.Label;
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
var myProgressBar:ProgressBar = new ProgressBar();
myProgressBar.indeterminate = false;
myProgressBar.mode = ProgressBarMode.MANUAL;
myProgressBar.maximum = 256;
myProgressBar.setSize(320, 16);
myProgressBar.move(10, 10)
addChild(myProgressBar);
var myLabel:Label = new Label();
myLabel.text = "";
myLabel.autoSize = TextFieldAutoSize.LEFT;
myLabel.move(myProgressBar.x, myProgressBar.y + myProgressBar.height);
addChild(myLabel);
var t:Timer = new Timer(150);
t.addEventListener(TimerEvent.TIMER, timerHandler);
t.start();
function timerHandler(event:TimerEvent):void {
myProgressBar.setProgress(myProgressBar.value + 1, myProgressBar.maximum);
if (myProgressBar.percentComplete == 100) {
myProgressBar.setProgress(0, myProgressBar.maximum);
}
myLabel.text = int(myProgressBar.value) + " of " + int(myProgressBar.maximum) + " (" + int(myProgressBar.percentComplete) + "%)";
}
| POLLED | 상수 |
public static const POLLED:String = "polled"
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9.0.28.0 |
진행률은 소스를 폴링하는 방법으로 업데이트됩니다. source 속성은 bytesLoaded 및 bytesTotal 속성을 표시하는 객체를 지정해야 합니다.
참고 사항
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
var url:String = "http://www.helpexamples.com/flash/video/cuepoints.flv";
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = {onMetaData:metaDataHandler};
ns.play(url);
var vid:Video = new Video();
vid.attachNetStream(ns);
vid.x = (stage.stageWidth - vid.width) / 2;
vid.y = (stage.stageHeight - vid.height) / 2;
addChild(vid);
var myProgressBar:ProgressBar = new ProgressBar();
myProgressBar.mode = ProgressBarMode.POLLED;
myProgressBar.indeterminate = false;
myProgressBar.source = ns;
myProgressBar.setSize(vid.width, myProgressBar.height);
myProgressBar.move(vid.x, vid.y + vid.height);
addChild(myProgressBar);
function metaDataHandler(meta:Object):void {
try {
trace("w:" + meta.width, "h:" + meta.height);
vid.width = meta.width;
vid.height = meta.height;
vid.x = (stage.stageWidth - vid.width) / 2;
vid.y = (stage.stageHeight - vid.height) / 2;
myProgressBar.width = vid.width;
myProgressBar.move(vid.x, vid.y + vid.height);
} catch (error:*) {
//
}
}
이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/fl/controls/ProgressBarMode.html