![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 6.0.79.
Flash MX 2004.
Usage 1:
on(progress){
...
}
Usage 2:
listenerObject
= new Object();listenerObject
.progress = function(eventObject
){...
}loaderInstance
.addEventListener("progress",listenerObject
)
Event; broadcast to all registered listeners while content is loading. This event is triggered when the load is triggered by the autoload parameter or by a call to Loader.load()
. The progress event is not always broadcast. The complete
event may be broadcast without any progress
events being dispatched. This can happen especially if the loaded content is a local file.
The first usage example uses an on()
handler and must be attached directly to a Loader component instance. The keyword this
, used inside an on()
handler attached to a component, refers to the component instance. For example, the following code, attached to the Loader component instance myLoaderComponent
, sends "_level0.myLoaderComponent" to the Output panel:
on(progress){ trace(this); }
The second usage example uses a dispatcher/listener event model. A component instance (loaderInstance
) dispatches an event (in this case, progress
) and the event is handled by a function attached to a listener object (listenerObject
) that you create. You define a method with the same name as the event on the listener object; the method is called when the event is triggered. When the event is triggered, it automatically passes an event object (eventObject
) to the listener object method. Each event object has a set of properties that contains information about the event. You can use these properties to write code that handles the event. Finally, you call the UIEventDispatcher.addEventListener()
method on the component instance that broadcasts the event to register the listener with the instance. When the instance dispatches the event, the listener is called.
For more information about event objects, see Event Objects.
The following code creates a Loader instance and then creates a listener object with an event handler for the progress event that sends a message to the Output panel about what percent of the content has loaded:
createClassObject(mx.controls.Loader, "loader", 0); loadListener = new Object(); loadListener.progress = function(eventObj){ // eventObj.target is the component which generated the change event, // i.e., the Loader. trace("logo.swf is " + loader.percentLoaded + "% loaded."); // track loading progress } loader.addEventListener("progress", loadListener); loader.contentPath = "logo.swf";
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |