|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Director A Case Study: Using Director and Flash to create an Award-Winning Multimedia Application
A Case Study: Using Director and Flash to create an Award-Winning Multimedia Application
By: Thomas Biedorf
Sep. 8, 2004 12:00 AM
The "HUGO BOSS, HUGO Academy: CD-ROM Fall/Winter 2003" CD-ROM won the coveted Grand Award for Best Application at the New York Festivals 2003 competition. The Frankfurt-based agency Biedermann und Brandstift designed a training CD-ROM for HUGO shop employees whose main content was created in Flash. The application's skeleton was developed by bytes in motion using Director MX. Director allowed us to meet HUGO BOSS's quality requirements as far as the application was concerned, and Flash MX enabled the designers to create the content according to specifications. The high degree of integration between these two Macromedia products yielded a relatively smooth workflow since Flash professionals who aren't familiar with Director, and Director professionals who aren't familiar with Flash, can cooperate quite easily. Content Technical and Design Requirements Director and Video The Apple QuickTime media player is pre-installed at HUGO BOSS. The integration between Director and QuickTime is as old as Director itself and posed no great challenge on the playback side. To meet HUGO BOSS's high standards of quality, we decided, after a few trial runs, to go with the Sorenson 2 Pro codec, which is capable of scaling video in high quality without a noticeable stair-step effect. We used Discreet Mediacleaner's 2-pass process to encode the videos at half their final resolution (512x384 pixel) at a variable bit rate using 25 frames and an average of 165 KB per second, and integrated them into Director at 200%. Sorenson 2 scales video using brightness and contrast vectors (see Figure 2). This yields a beautiful, smooth image even at twice the resolution. Thanks to the seamless integration between QuickTime and Director, Director is able to play these videos smoothly and with optimal sound. Thanks to the low data rate, we were able to burn the entire application, including about 30 minutes of video, to CD-ROM without using all the space available. The videos took up about 269 MB. Director and Flash The Flash members were added "direct to stage" using the normal frame rate and "auto-size" scaling. Director itself ran at twice the Flash member's frame rate (24 frames per second). This allowed us to achieve the best playback behavior possible. To make the application run as smoothly as possible, we embedded almost all of the Flash members completely into Director and split the application into several Director movies (see Figure 4). However, some Flash movies (SWF files larger than 12MB) caused Director to crash. Since these movies required no interactivity during playback, we were able to open them using QuickTime Player and then save the SWF files as QuickTime movies (.mov). Although these QuickTime movies contained only a Flash track, they played extremely efficiently using the Director QuickTime engine - at a rate never achieved in Director with Flash members (24 frames/second at 1024x768 pixels, without jaggies) (see Figure 5). Navigation
if sprite(me.spritenum).mouseoverbutton = true and pStater = 0 then
cursor 280
pStater = 1
end if
if sprite(me.spritenum).mouseoverbutton = false and pStater = 1 then
cursor -1
pStater = 0
end if
We used the pStater property to ensure that the event occurred only once; otherwise the mouse would have flickered too much. To detect a return to the previous page, we needed to determine the Flash member's last frame. We had asked the Flash designers to mark the last step (which could well occur in the middle of an animation) using a label called "ende." What follows is a simplified example: x = sprite(me.spritenum).findLabel("ende") Time Tracking Later, during evaluation, we were able to use the values for any number of calculations to track the various time parameters. Controlling Flash Members from Director For simplicity's sake, we named these movie clips button1 through button10 so from a repeat loop in Director we were able to set their positions and enter text (see Listing 1). In Flash, the #posX and #posY properties set the position of movie clip in the Flash member's rect. While using setVariable we were able to change the text variables button1.btext through button10.btext. Summary Links Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||