<< Chapter < Page | Chapter >> Page > |
A new import directive
The differences begin in Listing 18 with an import directive for the class named FlexEvent . This class was not needed in the program named Bitmap05.
Instantiation of an Image object
The differences continue in Listing 18 with the declaration and instantiation of an object of the class Image . The embedded image file will be loaded into this object at runtime. Then the Bitmap object encapsulated in the Image object will be extracted and passed to the modify method and the invert method the same as before.
Embedding the image file
The two lines of code beginning with the word [Embed provide the mechanism by which the image file is embedded into the SWF file. The first line specifies the name and path to the image file. In this case, it wasin the same folder as the MXML file so no path was required.
The strange syntax of the Embed code means that it really isn't an executable programming statement. Instead, it is an instruction to the compiler telling thecompiler to embed the file in the SWF file.
Declare a variable to refer to the embedded file
The line immediately following the Embed directive declares a variable of type Class named img that can later be used to refer to the embedded file.
Load the file contents into the Image object
The second line of code following the Embed directive causes the contents of the embedded image file to be loaded into the Image object at runtime. Note that the embedded image file is referenced by the variable named img that was declared along with the Embed directive and passed as a parameter to the load method.
No need to worry about IO errors at runtime
Because the image file is read at compile time and embedded into the SWF file, there is no need to provide an IO error handler that will be executed as aresult of a runtime IO error involving the image file. If there is a problem reading the file, that problem will occur when the program is compiled and theSWF file is written.
Register a creationComplete event listener on the VBox
The last statement in the constructor registers a creationComplete event handler on the VBox . This is considerably different from the program named Bitmap05 . First, the event handler is registered on the VBox instead of being registered on loader.contentLoaderInfo . Second, the type of the completion event is different between the two programs.
The creationComplete event will be
"Dispatched when the component ( VBox ) has finished its construction, property processing, measuring, layout, anddrawing."
The assumption is that by the time the event is dispatched, the bitmap data will have been successfully loaded into the Image object.
Differences in the creationComplete event handler
The first difference in the complete event handler is the type of event passed to the handler. The type FlexEvent shown in Listing 18 is more specialized than the type Event shown in Listing 4. However it doesn't matter in this case because the incoming reference to theevent object isn't used.
Getting the Bitmap object
The Bitmap object in an Image object is referred to by the property named content .
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with actionscript' conversation and receive update notifications?