Пакет | fl.controls |
Класс | public class ProgressBarMode |
Наследование | ProgressBarMode Object |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
mode
класса ProgressBar.
Связанные элементы API
Общедоступные свойства
Общедоступные методы
Общедоступные константы
Константа | Определено | ||
---|---|---|---|
EVENT : String = "event" [статические]
Компонент, заданный свойством source, должен отправлять сообщения о ходе выполнения, а также о завершении. | ProgressBarMode | ||
MANUAL : String = "manual" [статические]
Обновление состояния компонента ProgressBar вручную. | ProgressBarMode | ||
POLLED : String = "polled" [статические]
Ход выполнения обновляется с помощью запросов к источнику. | ProgressBarMode |
Сведения о константе
EVENT | Константа |
public static const EVENT:String = "event"
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Компонент, заданный свойством source
, должен отправлять сообщения о progress
, а также о complete
. Эти события используются элементом ProgressBar для обновления состояния.
Связанные элементы API
ScrollPane complete event
Событие ScrollPane progress
Событие UILoader complete
Событие UILoader progress
Событие LoaderInfo complete
Событие LoaderInfo progress
Событие Sound complete
Событие Sound progress
Событие FileReference complete
Событие FileReference progress
Событие URLLoader complete
Событие URLLoader progress
Событие URLStream complete
Событие URLStream progress
Событие ScrollPane progress
Событие UILoader complete
Событие UILoader progress
Событие LoaderInfo complete
Событие LoaderInfo progress
Событие Sound complete
Событие Sound progress
Событие FileReference complete
Событие FileReference progress
Событие URLLoader complete
Событие URLLoader progress
Событие URLStream complete
Событие URLStream progress
Пример ( Использование этого примера )
В следующем примере создаются экземпляры компонентов ProgressBar, Label и UILoader и отображается ход загрузки изображения:
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Обновление состояния компонента ProgressBar вручную. В этом режиме задаются свойства minimum
и maximum
, а также применяется метод setProgress()
для указания состояния.
Связанные элементы API
Пример ( Использование этого примера )
В следующем примере создаются экземпляры компонентов ProgressBar и Label, отражающие состояние индикатора выполнения:
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 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Ход выполнения обновляется с помощью запросов к источнику. Свойство source
должно указывать объект, который делает доступными свойства bytesLoaded
и bytesTotal
.
Связанные элементы API
ScrollPane.bytesLoaded
ScrollPane.bytesTotal
UILoader.bytesLoaded
UILoader.bytesTotal
Sound.bytesLoaded
Sound.bytesTotal
NetStream.bytesLoaded
NetStream.bytesTotal
URLLoader.bytesLoaded
URLLoader.bytesTotal
ScrollPane.bytesTotal
UILoader.bytesLoaded
UILoader.bytesTotal
Sound.bytesLoaded
Sound.bytesTotal
NetStream.bytesLoaded
NetStream.bytesTotal
URLLoader.bytesLoaded
URLLoader.bytesTotal
Пример ( Использование этого примера )
ProgressBar используется в следующем примере для показа хода выполнения загрузки FLV-файла:
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:*) { // } }
Tue Jun 12 2018, 11:34 AM Z