5. 239 Tips for Producing and Managing Flash-based e-Learning Content | 5
I. How to Use These 239 Tips
A. Introduction
In February and March, 2008, The eLearning Guild conducted a survey of its members, asking
for their favorite tips for producing and managing Flash-based e-Learning. Members could sub-
mit tips relating to any or all of 19 different tools (plus an “other” category) that either produce
Flash output or that can incorporate Flash content. A total of 147 members responded to the sur-
vey, contributing 239 usable tips on 28 products (17 of which were not included in the original
list).
As usual in our past surveys, the tips range in length from one-sentence ideas all the way up
to multi-page discourses. Some are very basic in nature, and others are quite advanced. These
tips were different from past surveys in one significant way: Many of them contain detailed
ActionScript code that will help you solve common problems. We have not edited the tips in any
way, other than to correct spelling – everything you see in this book is in the tipsters' own words.
As a result, these tips will be useful to any designer or developer looking for best practices to
incorporate into their own production process.
We began the process of turning these tips into an organized collection simply by separating
the tips into groups that made sense. The largest group is the 105 tips for Adobe Flash Profes-
sional and Flash Player. The next largest (31 tips) consists of recommended practices and general
tips for working with Flash. About half of the tools garnered only a single tip each.
Next, we separated the tips that vendors provided on their own tools from the tips provided
by users of the tools. Because many of the tips were long, and addressed more than one idea, it
was not possible to sort the tips further into sub-categories. As a result, we have provided sum-
maries of the key idea in each tip (with a few exceptions). These summaries are printed in ALL
CAPS at the start of the tips.
Another difference in this book, compared to our others, is that after each tip we provide the
name of the tipster who provided it. A list of Tipsters appears at the end of the book. This may
help you to contact Tipsters for additional information. A few tips were contributed by
“Anonymous.”
We deeply appreciate the effort that contributors made to create these tips. We hope you find
many valuable ideas here that can help you as you create Flash content for online learning.
This FREE Digital eBook would not have been possible were it not for a generous contribution
to its development from these sponsors:
• Adobe
• Articulate
• Atlantic Link
• Beeline
• Dazzle Technologies
• Harbinger
• QuickMind
If you're not familiar with their products for e-Learning, or if you haven't checked them out
lately, we encourage you to take a look at your earliest convenience.
6. 239 Tips for Producing and Managing Flash-based e-Learning Content | 6
When importing II. Adobe Flash Professional & Flash Player
a sound to your
Flash movie, do USE EXTERNAL FILES FOR DATA — Don't hard-code text, or even images, inside your .SWF file. Use
an external file, such as .XML, to store that information, and just load it dynamically at run time.
it with good This will make any possible future update a snap. In addition, you can reuse the same Flash pro-
quality and an gramming and produce many different content screens, just by loading different data files.
Tipster: Adrián Murillo
uncompressed
IMPORTING SOUND — When importing a sound to your Flash movie, do it with good quality and
format. This will
an uncompressed format. This will allow you to produce versions with different qualities simply by
allow you to changing the Publish Settings. Remember, MP3 is a format that loses quality when the compres-
sion increases. Besides, all sounds are decompressed to be included in the Library of an editable
produce versions
file (.FLA), so that the file size and the time to generate .SWF movies remain unchanged.
with different Tipster: Mario Gutierréz Toledo
qualities simply ALWAYS DECLARE AND INITIALIZE VARIABLES — Don't just use them. This may seem like a no-
by changing the brainer, but it's surprising how often it happens. Make sure to provide a default value, even if it's
just a blank space or “ ”. Also, remember to initialize the setInterval every time you start a
Publish Settings. new content section. Not doing this may cause some random, hard to solve, problems. Even more
Remember, MP3 so when your content integrates inside another system, such as a LMS or custom player.
Tipster: Adrián Murillo
is a format that
loses quality OPTIMIZING E-LEARNING VIDEO FOR THE WEB — If you are looking to deliver to the largest audi-
ence, you'll want to select Flash 7-based compression of your content. Using the Spark or On2
when the com- Codecs (additional cost) will offer great quality video and easy integration into your content. If
pression increas- your viewers have the latest Flash player 9 or higher, look to use the new H.264 compression tech-
nology. This allows you to play back the highest quality video at the smallest sizes. General guide-
es. lines for compression:
mario gutierréz toledo • 15 frames per second
• 320 x 240 pixels or 512 x 384 pixels
• Keyframes: 90
• Audio: MP3 - 22 khz, Mono, 64 kBit/s
Remember, lowering your audio from Stereo to Mono will significantly reduce the file size of your
video. Also with the latest codec's, you can take advantage of pixel doubling where you compress
at a smaller size and enlarge the video on your HTML file for playback. This allows a larger viewing
area with smaller downloads.
Compress your video as .FLVs which are external files to your main Flash tool or application. This
allows you to easily swap or update your content as you develop, or need to update to a newer
version. Tipster: Joy Vinson
Tool Tips: Look at Sorenson Squeeze for Mac or PCs, or for Mac Video users look to Episode, for your
compression toolset. Tipster: Nick Floro
7. 239 Tips for Producing and Managing Flash-based e-Learning Content | 7
II. Adobe Flash Professional & Flash Player continued
Don't just test on TARGET TO FLASH PLAYER 7 AS MUCH AS YOU CAN — Many systems don't have access to a more
updated player version, such as, obviously, older systems like Windows 95 and NT, but most impor-
Firefox, Internet tant, newer platforms such as the Nintendo Wii. It's surprising how many people are using them
Explorer, Opera, to browse the Internet. Naturally, this decision depends on your target user profiles.
Tipster: Adrián Murillo
and so on. Test
TEST YOUR CONTENT ON MULTIPLE BROWSER VERSIONS — Don't just test on Firefox, Internet
several browser
Explorer, Opera, and so on. Test several browser versions also, such as FF 1, FF 2, IE 6, IE 7, or as
versions also, such appropriate. Sometimes the very same version of the Flash player behaves differently on different
browser versions. Tipster: Adrián Murillo
as FF 1, FF 2, IE 6,
IE 7, or as appro- TEST YOUR CONTENT ON MULTIPLE PLAYER VERSIONS, STARTING FROM YOUR MINIMUM REQUIR-
ED UP TO THE LATEST VERSION — Adobe has a tendency to implement new “security” fixes that
priate. Sometimes sometimes may block some functionality. Don't just test over major version changes, such as 7, 8,
the very same or 9. Test over minor, such as 9.0.48, 9.0.115. For example, starting with version 9.0.115, the Flash
player blocks the getURL function calls, causing many problems on already-deployed content.
version of the Tipster: Adrián Murillo
Flash player
HOW TO HAVE THE HOT SPOT E-LEARNING OBJECT DISPLAY THE CORRECT ANSWER — When
behaves differ- using the Flash learning objects you can specify the incorrect feedback. For example, "Sorry that
ently on different is not the correct answer. The sun rises in the East and sets in the West." Entering text works great
for multiple choice, T/F, and fill-in-the-blank type questions. But what about “Click the area of the
browser versions. window” questions? Here's a tip that will allow you to show the correct answer for a hot-spot
learning object.
Adrián Murillo
1. Create a new layer above the Components layer — to keep yourself organized, name the layer
"mcCorrect".
2. Create a new movie symbol. In the symbol, draw a circle; this is what will be used to highlight
the correct answer.
3. Place this symbol in frame 1 of the mcCorrect layer, and name the instance "mcCorrect". Move
the mcCorrect over the object that is the correct answer.
4. Add the following ActionScript to frame 1 of the main timeline.
mcCorrectSpot._visible = false;
5. In the Action panel, open the HotObjects_single. In the actions for the object, scroll down
to line 188. You'll see:
router.sessionStop();
router.submitScore();
Below these lines add:
_root.mcCorrectSpot._visible = true;
8. 239 Tips for Producing and Managing Flash-based e-Learning Content | 8
II. Adobe Flash Professional & Flash Player continued
When you must Your script will look like this:
router.sessionStop();
router.submitScore();
display long
text passages, _root.mcCorrectSpot._visible = true;
minimize sur-
You can apply the same logic to the drag-and-drop learning object. Note, you will need to add an
rounding ani- instance of the mcCorrect symbol for every drop object. For example, if you have four drop
mation. Move- objects, you would need to have mcCorrect1, mcCorrect2, mcCorrect3, and mcCor-
rect4. You would need to adjust the script to hide and show each instance accordingly.
ment on the Tipster: Tracey Kogelmann
screen can dis-
SELECTING VOICES — For your narrations, prefer female voices, or men with a medium register.
tract the user, This allows you to better disguise the high whistles (quantization errors) the MP3 Flash compres-
sion produces, commonly called “artifacts.” In short, avoid putting Darth Vader against the micro-
making long
phone. Tipster: Mario Gutiérrez Toledo
passages diffi-
TEST EARLY FROM A REMOTE SERVER — Many content problems in Flash, such as external resource
cult to read. loading or XML communication issues, may not present themselves until the .SWF is streaming
Flashkit.com is from a remote server over the Internet. Keep bandwidth constraints in mind when designing and
developing content. Just because a .SWF loads quickly from your local hard drive or network does
a tremendous not mean it is bandwidth-friendly over an Internet connection. Always remember that users may
resource for all be accessing your content from home, via Cable, DSL, or over a modem.
Flash develop- Additionally, keep your loading screens light. Your loading indicators should display quickly, regard-
ers. less of the user’s connection speed. When you must display long text passages, minimize sur-
rounding animation. Movement on the screen can distract the user, making long passages diffi-
Jason Harris cult to read. Flashkit.com is a tremendous resource for all Flash developers. The Flash community
heavily traverses their forums, and the site contains countless sound loops, sound effects, and
graphics for royalty-free use. Tipster: Jason Harris
USE FLASH INTERACTION TO SUPPORT LEARNER EXPLORATION OF MATH CONCEPTS — We used
Flash 8.0 to create a course for Mathematics. Students drag the triangle, placed with ActionScript
programs, to research the relationship of the three angles. The conclusion is 1+2+3=180°. Our tech-
nology design is to improve the scientific mind of the students. The software shows each degree
of the angle, and two of the vertex points are defined. Students can drag one top point to make
different types of triangles. The software utilizes the motive character of Flash 8.0 to show the
geometrical graphics. It is quite effective, and the students get to look for an algebraic expression
for the relationship. They had a satisfied experience of Math learning. Tipster:Wimong Ma
ADD EXTENSIVE COMMENTS TO ANY ACTIONSCRIPT CODE — One comment for each line that
does something unique. If you don't, I guarantee that when you come back to the .FLA file some
time later, or someone else is using your file, you won't remember what the code is doing. Keep
your ActionScript on a separate locked layer in the timeline so that all the code is in one place. Use
9. Datasheet
ADOBE FLASH CS3 ® ®
PROFESSIONAL
CREATE AND DELIVER RICH,
INTERACTIVE CONTENT
Adobe Flash CS3 Professional software is the most advanced
authoring environment for creating rich, interactive content
for digital, web, and mobile platforms. Create interactive
websites, rich media advertisements, instructional media,
presentations, games, and more. Depend on Flash CS3 and
Adobe Flash Player software to ensure your content reaches
the widest possible audience.
Enjoy creative flexibility Easily work with other Adobe software
Consider Adobe Creative Suite 3
Realize your creative vision with a full Now your favorite tools will play well together.
Web Premium
Move up to Adobe Creative Suite 3
complement of drawing, animation, and Enjoy timesaving integration with other
Web Premium software for interactive design tools. Explore innovative Adobe creative soft ware, including
everything you need to prototype, styles and techniques, impress your clients Adobe Premiere® Pro, Photoshop® Illustrator®
, ,
design, develop, and maintain with more than they expected, and deliver Flex™ Builder™ 2, After Effects® and
,
websites, web applications, and
mobile content.
consistent results across multiple platforms. Soundbooth™ as well as Adobe Bridge,
,
With Flash CS3 Professional, the possibilities the central hub of Adobe Creative Suite® 3.
Adobe Creative Suite 3 Web Premium extend as far as your imagination. Easily exchange designs, assets, and
combines Adobe Bridge CS3, Adobe
fi les between applications without
Version Cue® CS3, Adobe Device Maximize development productivity
Central CS3, Adobe Stock Photos, compromising fidelity.
and Adobe Acrobat® Connect™ with:
Leverage the power of a true development
environment. Utilize professional coding tools Extend your reach
• Adobe Dreamweaver® CS3
including code collapse, commenting, Extend the reach of your work by creating
• Adobe Flash CS3 Professional
automatic syntax completion, streamlined content for Adobe Flash Player, the world’s
• Adobe Photoshop CS3 Extended
error resolution, and more. The new most pervasive soft ware platform. Flash Player
• Adobe Illustrator CS3
ActionScript™ 3.0 language supports a is installed on more than 700 million
• Adobe Fireworks® CS3
structured and intuitive workflow that saves computers and devices worldwide, including
• Adobe Acrobat 8 Professional
time and facilitates exchange between over 96% of Internet-enabled desktops. By
• Adobe Contribute® CS3
designers and developers, enabling individuals creating content with Flash CS3, you can
and teams to deliver predictable, consistent leverage your work not only to the Internet,
results that meet or exceed the original vision. but also to a wide range of mobile and
consumer electronics devices. Create content
once, and then deploy it to multiple platforms.
11. 239 Tips for Producing and Managing Flash-based e-Learning Content | 11
II. Adobe Flash Professional & Flash Player continued
The rich media of XML where possible, so that it is not necessary to republish the .SWF with each use — the XML
can drive the content. Tipster:Wendy Phillips
Flash provides an
USING FLASH TO MARKET E-LEARNING COURSES — Marketing is key to successful implementa-
excellent means
tion of an e-Learning course, and Flash is an excellent tool for this purpose. The rich media of Flash
of gaining your provides an excellent means of gaining your audience’s attention to a course, why the course
is relevant to them, and the benefits of taking it. Many marketing strategies utilize electronic
audience’s atten-
announcements, such as e-mails or Intranet articles, but via Flash you can deliver a more effective
tion to a course, and entertaining message than with text and static graphics alone. Here are some tips for using
Flash to market your courses:
why the course
1. Reuse any appropriate Flash objects already created for the course. Not only will this save you
is relevant to a lot of time, but it will also give the audience a preview of the content and design they will
them, and the encounter in the course.
2. Use characters in the advertisement. If the course has characters in it, use them. They can act as
benefits of taking
a spokesperson, or as actors in a skit. For example, they can be discussing their thoughts on the
it. Many market- course, and why it was beneficial to them.
ing strategies uti- 3. Make it interactive. This will not only keep your audience’s attention, but also provide a preview
of the interactive elements in the course. If you can make the advertisement a short game, that
lize electronic is a plus. However, the game must have the same goal as the advertisement, which is communi-
announcements, cating why they should participate in the course.
4. Make it entertaining. If using humor, be very cautious not to offend anyone.
such as e-mails or
5. Include audio and any appropriate sound effects. Sound is a great attention grabber, easy to
Intranet articles, import into Flash, and if you are using it in your course it can provide a preview of the course’s
but via Flash you use of audio as a medium.
6. Be sure to communicate why the course is relevant to your audience, and the benefits of taking
can deliver a the course (what’s in it for them).
more effective 7. Keep the advertisement as brief as possible without sacrificing your message.
and entertaining 8. Conclude the advertisement with instructions on how to access the course, and a link to it or to
the learning management system where they can launch it.
message than
9. Place the advertisement where the audience will most likely see it. For example, your organiza-
with text and tion’s Intranet homepage, the training department’s homepage, the first page of your learning
management system, and so on. I also like to e-mail a link to the advertisement to all potential
static graphics
participants and their supervisors, preferably with some sort of tease that encourages them to
alone. click the link. I find that if people like the advertisement, they will forward the e-mail, furthering
the reach of the advertisement’s message. FYI: I load the Flash .SWF to my Intranet and send a
Jeffery Goldman
link instead of sending the Flash .SWF directly in the body of the e-mail. Most e-mail systems
will strip the Flash .SWF out of the body of the e-mail. With Flash used as your marketing tool
you will get more of a “buzz” around e-Learning releases, and with that, an increase in the num-
ber of people visiting and participating in your e-Learning courses. Tipster: Jeffery Goldman
12. 239 Tips for Producing and Managing Flash-based e-Learning Content | 12
II. Adobe Flash Professional & Flash Player continued
Be sure to in- LOOPING AND STREAMS — If you set your sound's sync to stream, and then add loops, the file size
can grow huge for each loop that is specified. Avoid looping sounds that are set to the stream set-
clude sniffer ting. Tipster: Carlyne Lynch
code at the start
ADDING AUDIO TO FLASH PIECES MAKES A POWERFUL LEARNING TOOL — However, audio adds a
of the module lot to the final file size and benefits from external editing before importing into Flash. You can also
use the Property Inspector's audio-edit feature to trim dead air off the start and end of audio files.
to ensure that
Even silent audio space takes up kilobytes. Consider adding a text display to any files with audio.
learners have This can be a simple text feature that the user can show or hide, and it helps make your content
richer and more accessible. Tipster: David Miller
the correct
Flash player. SNIFFER CODE — Be sure to include sniffer code at the start of the module to ensure that learners
have the correct Flash player. Tipster: David Becker
David Becker
HOW TO WORK WITH pageFiles — My tip is to break apart every single Flash file, and deliver con-
tent on the fly and only when is needed. Let’s say that the course is going to look like a book, with
some chapters and several pages. Each chapter is a SCO, and each page would be a single Flash file
(pageFile). Therefore, when the user enters the Course/SCO, he would see the first page of the
book, when he finishes reading it he will jump to the next pageFile and so on. Flash Files work
with levels; we can load as many Flash files into another as we want, but two .SWFs can't be load-
ed at the same level. This means that we can control different .SWFs loaded at the same time, but
hosted on different levels. The pageFiles should not be larger than 100K so Internet and Intranet
users can view them. To do that, you must have a file that controls it all. HTML must load this host
Flash (mainFile), and it will never be unloaded (Level 0). The mainFile must have all functions to
control communication between pageFiles and the LMS through SCORM/AICC commands like:
loadNextFile, setScormScore, setScormStatus
and so on. When you load a pageFile (Level 1) it will call a function hosted on mainFile, and the
mainFile will calculate, organize, and take an appropriate action, like calling another pageFile or
setting a status completed on the LMS. Doing that, you can have a single file with all functions
(programming once) and several files with just content. This means that you can focus on content
and forget about codes and everything to communicate with LMS. You can reuse this technique
on all of your courses with just a little bit of a change between each one. I’ve developed this tech-
nique, and applied it at major e-Learning companies in Brazil. They said, doing that they improved
performance and reduced the time to develop and deliver a course to the client. Now they have
more time to focus on content and animations, improving the quality of the courses. If you need
more information, and samples of how to do it and how it works, just ask and I’ll be glad to help.
Tipster: Eber Ribeiro Pinto
SCRIPTING FOR BUTTONS IN THE FIRST FRAME — Put scripting for all buttons throughout your
program in the first frame. (I learned this tip from Chris Florio, and it's changed my workflow.)
Tipster: Susan Steinfeldt
13. 239 Tips for Producing and Managing Flash-based e-Learning Content | 13
II. Adobe Flash Professional & Flash Player continued
Place the audio IMPORTING PHOTOSHOP CONTENT INTO FLASH — I have to believe that you have received num-
erous suggestions on this topic. Because it is such a good NEW tool in FLASH Creative Suite 3, I
in a single mov- wanted to add my support. You can now import content created in Photoshop directly into Flash.
ie clip and use Flash asks if you want the .PSD layers to be created as separate symbols. This has been huge for
me. I create a layered .PSD file with objects that are not even related to each other. As long as the
it using Action- image size will accommodate the needed image, I create it in one .PSD file. I have had 30-some
Script, instead of layers of non-related imagery in one file. I will manage content in layer folders sometimes. Now
comes the beauty of the new feature — from within Flash I import the .PSD file, and all the
placing it on the images are created as symbols in FLASH from the different layers in Photoshop. The user can
timeline along choose which layers to import with a checkbox. It neatly puts the new symbols into a folder in
the FLASH library ready for use in the FLASH project. It does take a little getting used to while
with animation. working in Photoshop. To create a file with multiple images unrelated to one another is not how
I have used Photoshop in the past for creating FLASH content. However, the benefit of having one
Ram Mohan
master .PSD has proved to be a good thing when looking for changes. I then only import/update
the layer that was changed. Tipster: Joe Shultheis
SAVE TIME BY CREATING RE-USABLE OBJECTS ONLY ONCE — Put things like the navigation, com-
pany logo, help menu, glossary, or anything else that will be part of the interface throughout the
entire CBT in a separate .SWF file to be loaded into the main movie. You can then build each indi-
vidual lesson or module without repeating these objects. Tipster: Marge Rutter
USING FLASH TO SCALE IMAGES IN AND OUT DURING YOUR ANIMATION — My advice is to use
some simple ActionScript on a blank layer of a single keyframe at the start of your movie. Here is
that ActionScript to copy into a blank keyframe on your timeline:
setProperty('', _highquality, '2')
I think you will find the results very effective and surprising. Try doing a simple scale of an image
in a symbol from 50-100% over 30 frames or so, with and without this ActionScript to compare
the results. Tipster: Kevin O'Donnell
TIPS FOR FASTER DEVELOPMENT — I develop interactive tutorials on software for GE Healthcare.
We have developed a Flash template that produces smaller published file sizes than Captivate,
and is just as fast, if not faster, to develop tutorials in. Other tricks we use are capturing screen
captures as .GIFs and then importing them into Flash, having the majority of text loaded from a
text or XML file (easier to quickly modify), and having pre-built interactions such as double click,
text validation, and single clicks. We can incorporate audio and video using .MP3 and .FLV files.
These are loaded from external file sizes, and do not add extra load time to the tutorial. We also
develop storyboards first, to make sure the tutorial is correct before developing it in Flash. It is
faster to make changes recommended by a SME in Word than it is in Flash. We also love using
SnagIt for taking screen captures. Tipster: Jeff Krebs
REDUCE ANTI-ALIASING — Use the document properties in Flash to set your most-often-used
frame rate, stage size, and background color as your default. Now, every time you create a new
14. 239 Tips for Producing and Managing Flash-based e-Learning Content | 14
II. Adobe Flash Professional & Flash Player continued
Create a template Flash piece you can save a few clicks. In addition, using “snap to pixels” will reduce anti-aliasing of
your text and images, and yield crisper and more professional results. Tipster: David Miller
with your back-
MORE TEMPLATE TIPS — Create a template with your background, navigation, code to make the
ground, naviga-
course work with your LMS, and so on. Then start each course or module with the template so you
tion, code to don't need to keep spending time recreating the wheel, or running the risk of missing something
critical. Tipster: Kathy Zottmann
make the course
work with your AUDIO TIP — Place the audio in a single movie clip and use it using ActionScript, instead of plac-
ing it on the timeline along with animation. Tipster: Ram Mohan
LMS, and so on.
Then start each BUILD YOUR FLASH TUTORIAL USING “MODULAR DESIGN” PRINCIPLES — Here is something valu-
able I learned as I started down the path of e-Learning and building tutorials in Adobe Flash. Learn
course or module to be resourceful when you’re building your .FLA files. If you take as much time as I do to organize
with the tem- your learning content into usable “chunks,” you should also apply this method to your main .FLA
Flash files. Instead of placing all your content into one extremely long timeline, try developing
plate so you don't your master .FLA file to be “modular.”Think about it:When you’re organizing your learning con-
need to keep tent, you probably do what I do — you divide the content into topics, and then subtopics. Why not
do the same thing with your main .FLA file?
spending time
As you well know, Adobe Flash has the ability to separate content by placing it into individual
recreating the “scenes.”This allows the developer to easily move between different tracks of content and/or
actions, and keeps them separate for easy organization. This allows the developer flexibility in
wheel, or running
editing, adding, or removing content. Need to move your “Standards” content so it appears before
the risk of missing your “Roles and Responsibility” content? Easy — simply go to your Scenes window, left-click and
hold on the scene with the “Standards” content, and drag it up to a place before the scene holding
something criti-
“Roles and Responsibility” content. After some navigational revisions, it’s all in place. Your content
cal. will play out in sequence. Tipster: Fredd Gorham
Kathy Zottmann SIMPLE EXAMPLE OF MODULAR DESIGN — Here’s an example of how I do this. This example
assumes you have already outlined your content into its main sections and laid out the first scene
(usually named “Scene 1”) in your .FLA document. You also need to have your “Scenes” menu win-
dow open (you can do this by going to WindowOther PanelsScenes.
1. Go to the ”Scenes“ window and highlight ”Scene 1.” Duplicate this scene once for every major
topic your learning content has by clicking the “Duplicate Scene” button at the bottom of the
window.
2. Go through these scenes, and rename them with the title of your major topic, in order.
3. Add your content. When you’re developing the scenes in your .FLA file, keep in mind that in order
to keep everything as seamless as possible, the beginning and end of each scene should follow a
common “transition” theme that does not vary much. This will allow you to move your scenes
around without much worry of creating a confusing experience for your viewers, or creating
more work for you. If your scenes start with content fading into view, and end with content fad-
ing out of view, you should follow that theme with each scene. Tipster: Fredd Gorham
16. 239 Tips for Producing and Managing Flash-based e-Learning Content | 16
II. Adobe Flash Professional & Flash Player continued
Writing Action- ADDING NEW SCENES — If your tutorial is used on a regular basis, it may require additions to
update it. This is a strong point of modular .FLA file design. Here is an example:
Script for control 1. Once you identify where the additional content should reside, go into your ”Scenes“ window
functions on a and highlight a nearby scene. Click on “Duplicate Scene.”
button can be 2. Rename the duplicate scene with the name of the new topic.
3. Open the newly-created scene, and remove any content not relative to the new content. If ele-
difficult to find ments from the prior scene are relevant (that is, headers, section names, etc) you can just leave
at a later date. them in place, saving you time from having to recreate or reposition them again.
4. Add new content. That’s it in a nutshell. Tipster: Fredd Gorham
Place as much of
the control func- PRELOADER AND STATUS BAR TIP — Always build a preloader and status bar when building large
interactions and animations. It lets users know that the interaction will load on the page. Often
tions as possible
times, users click Next to move on because they didn't realize there was an interaction on the
in its own page. Tipster: Cliff Singontiko
“action” layer. SMOOTHING IMAGE EDGES — Do you sometimes tween images and notice how pixilated the
Chris Stape
edges look as they move? For smoother results, check “Allow smoothing for” under “Bitmap Pro-
perties” for the images in question. You will notice the jagged edges are gone, and your anima-
tion will look much smoother. Tipster: David Miller
BUTTON CONTROL FUNCTIONS — Writing ActionScript for control functions on a button can
be difficult to find at a later date. Place as much of the control functions as possible in its own
“action” layer. Tipster: Chris Stape
CONTROLLING A CAPTIVATE .SWF FROM A FLASH .SWF — Here is a tip for controlling a published
captivate file that's loaded into a Flash movie. There are various reasons as to why you may not
want to use Captivate's inherent controls. Create custom controls that you can place anywhere in
the Flash movie. Launch some event upon completion of the Captivate. Sure you can do this using
Captivate, but you may want to dynamically change what gets loaded based on any number of
conditions. You also have greater control of how the item gets loaded. Using Captivate, the item
will take over the whole window. Here is what you can do:
• Stop the loaded Captivate
• Resume
• Back one slide
• Forward one slide
• Check if Captivate is complete.
Chapter 9 of the Captivate manual lists additional commands.
The following script loads a Captivate .SWF using the MovieClipLoader class. You can copy and
paste everything below this line directly into the Actions panel of a frame:
var myMCLoader:MovieClipLoader = new MovieClipLoader();
myMCLoader.addListener(this);
myMCLoader.loadClip('captivateFile.SWF', mcHolder);
17. 239 Tips for Producing and Managing Flash-based e-Learning Content | 17
II. Adobe Flash Professional & Flash Player continued
If you wish to //mcHolder is the MC into which the captivate gets loaded
//add these commands to buttons or other events to control
“trigger” different //to play
actions on screen, someButton0.onRelease = function(){
mcHolder.rdcmndResume = 1;
for example an }
animation or a //to pause
someButton1.onRelease = function(){
quiz, use a mcHolder.rdcmndPause = 1;
streaming audio }
//to go back
file in the back- someButton2.onRelease = function(){
ground for that. mcHolder.rdcmndPrevious = 1;
}
Add a media //to go forward
streamer compo- someButton3.onRelease = function(){
mcHolder.rdcmndNextSlide = 1;
nent, give it a }
reference to an //is the captivate movie complete
//this will trigger when the last slide is reached,
audio file, and //you want to add a blank slide at the end no content if you are
then create a list //triggering some event so your viewers don't miss the content
//on the real last slide.
of actions hap-
pening every time onEnterFrame = function(){
if(mcHolder.rdinfoCurrentSlide == mcHolder.rdinfoSlideCount){
you reach a spe- // it's done! do something
cific amount of }
}
seconds. //Do something while the captive is loading - this is tricky
//the Captivate will start running (streaming) before it's
//completely loaded, so you don't want to use
Fabio Cujinoa
//the onLoadComplete listener function onLoadStart(mc:MovieClip) {
//add code here to do something
}
Tipster: Nick Stanziani
USING TRIGGERS FROM AUDIO FILES — If you wish to “trigger” different actions on screen, for
example an animation or a quiz, use a streaming audio file in the background for that. Add a
media streamer component, give it a reference to an audio file, and then create a list of actions
happening every time you reach a specific amount of seconds. What will happen is that (for exam-
ple) an animation (movie clip) with an instance name of “myAnimation” will play when you get to
18. 239 Tips for Producing and Managing Flash-based e-Learning Content | 18
II. Adobe Flash Professional & Flash Player continued
When developing xx seconds in the audio file. This is a great technique, and it makes the flow of elements perfect.
Tipster: Fabio Cujino
in Flash, remem-
DON'T FORGET TO ANTI-ALIAS YOUR TEXT — This will help with readability for the user.
ber to adjust the
Tipster: Anonymous
frame rate in the
FIND OUT HOW TO CREATE AND SAVE A FLASH DOCUMENT IN CS3 PROFESSIONAL —
Property Inspect- For Mac: http://www.atomiclearning.com/almovie?key=32731
or. A higher frame For PC: http://www.atomiclearning.com/almovie?key=32803
Tipster: Kathy Schroeder
rate (24 fps is rec-
ommended) will LEARN MORE ABOUT THE FLASH CS3 PROFESSIONAL INTERFACE —
For Mac: http://www.atomiclearning.com/almovie?key=32732
produce smooth- For PC: http://www.atomiclearning.com/almovie?key=32804
er animations, Tipster: Kathy Schroeder
but be more ADJUST THE FRAME RATE FOR SMOOTHER ANIMATIONS — When developing in Flash, remember
processor inten- to adjust the frame rate in the Property Inspector. A higher frame rate (24 fps is recommended)
will produce smoother animations, but be more processor intensive. The default of 12 fps is quite
sive. The default slow for today's computers.
of 12 fps is quite Tipster: Angela Nicholas
slow for today’s LET USERS RESUME WHERE THEY STOPPED (AUTO BOOKMARKING) — If you use Flash Slide
Presentation to build learning content, you can use Flash Shared Objects to remember which slide
computers.
the user last visited. Upon re-visiting the content, the end user is returned to the place they left.
Angela Nicholas This works for Web and CDROMs.
1. On the root slide, frame 1, add:
// Create the SO
pager_so = SharedObject.getLocal(“my_page”,'/');
2. On the first child slide, add this code to screen actions, under the 'on (reveal)' event:
// The first slide is always opened when a presentation
// is started. This code then loads the SO value and
// bounces the user off to the slide stored in the
// 'currentpage' variable.
if (_root.pager_so.data.currentpage != undefined) {
trace(“It exists! “+_root.pager_so.data.currentpage);
_root.currentSlide.gotoSlide(eval(_root.pager_so.data.current-
page)); } else {
trace(“does not exist”);
// Do some other actions
}
3. On every other slide throughout the presentation, you want to add this code to the slide's
'on (reveal)' event:
19. 239 Tips for Producing and Managing Flash-based e-Learning Content | 19
II. Adobe Flash Professional & Flash Player continued
Place navigation // This records the name of the slide into the SO.
// Tip: don't use spaces in slide names, this will not work.
either in the // In #2 above, the SO is loaded and the value of 'currentpage'
Flash, or out- // is the name of the slide that is getting stored in this step.
_root.pager_so.data.currentpage = “_root.” + this._name;
side. Providing Enjoy your auto-bookmarking! Tipster: John Anderson
both options
TO REDUCE THE FILE SIZE OF YOUR FLASH MOVIE — After finishing your movie, go to File | Publish
gets confusing. setting, then go to Flash tab, and in .JPG quality, you can assign the quality of images to 90. There
won't be much difference in the output, but file size is much reduced, and in the same Flash tab,
Swan
under Audio Stream | Event, in the Set button, you can assign 32 kbps for bit rate, and Best for
quality. Tipster: Mrs. G. Mythili
USE EMPTY MOVIE CLIPS TO MAKE CONTENT DYNAMIC —
loadMovie(“content.SWF”, empty_mc); Tipster: Red Resener
PLACE NAVIGATION EITHER IN THE FLASH, OR OUTSIDE — Providing both options gets confusing.
Tipster: Swan
GIVE YOUR LEARNERS FULL CONTROL OF VOICE-OVER AUDIO AND SYNCHRONIZED VISUAL CON-
TENT IN YOUR FLASH LEARNING OBJECTS —
1. Create a generic media controller to (a)pause, (b)play, (c)go back to beginning, (d)go to end, AND
(e)replay just the audio [but with all visuals on screen].
2. Link each voice-over file to the media controller.
3. When building your Flash object, add your audio file to the timeline (as well as linking it to the
controller) so you can easily see where to synchronize your visual layers. When you've finished,
just remove it from the timeline. NOTE: Spread your timeline across the length of the audio.
Label your first and last frames so your controller can remember where you pause/play (as % of
total — same as for sound).
Tipster: Sanatan Saraswati
AUDIO INTEGRATION WITHIN FLASH CAN BE TRICKY — It's even trickier when you have to make
changes to the audio, or if you want to localize your Flash movie. Remember these tips — all good
development practices — that will make it easier and more efficient.
1. Audio clips should be located in the same timeline, but in a separate layer. Changes to your
audio, or translation of your audio segment, will likely involve different audio play times, so
adjustments to the timeline are required.
2. Audio should be sequenced into separate pieces. This is called “chunking.”Time these chunks to
your screen transitions. Transitions include subtle changes (or focus on the screen), not just tran-
sitions to a new screen or window. Tie your audio segments to small, distinct subject contexts.
Smaller audio chunks are easier to sequence in the timeline, and they are more cost effective to
change since they affect less recorded audio time.
20. 239 Tips for Producing and Managing Flash-based e-Learning Content | 20
II. Adobe Flash Professional & Flash Player continued
Keep your text- 3. Leave a second or two of empty frames in the timeline before your audio starts playing. This
buffer allows users to focus their eyes on any visual elements before hearing the audio, and pro-
based content in vides a window to adjust audio playback in the timeline, if you change the audio in the future.
external (usual- 4. Consider providing an optional subtitled text window to display your audio text. This gives you
flexibility in the future, should you want to provide your movie in different language markets.
ly XML) files so Audio recording can be expensive, and this technique gives you the option to provide subtitle
that updating text instead of recorded audio if cost becomes a factor. Identifying the appropriate “chunking”
takes some practice. Always plan as if you will have to change the audio, or replace it with trans-
the content is lated language versions.
easy. Tipster: Robert (Butch) Pfremmer
Grant Sherson
EASY UPDATES — Keep your text-based content in external (usually XML) files so that updating
the content is easy. Tipster: Grant Sherson
ACTIONSCRIPT 2 — Keeping track of multiple variables was difficult until I started assigning them
to the _root. By doing that, you can reference them from anywhere in your Flash movie(s). Assign
it, _root.myVariable=1, call it, _root.myVariable, check it, if (_root.myVari-
able==1){... Tipster: Scott Gale
FLEXIBILITY FOR UPDATES — Plan to ensure that as much of the content as possible exists outside
of the .SWF file, and is pulled in dynamically. Text is a good starting point. This provides flexibility
for being able to update the text should it need to change (such as technical specification chang-
es at the last minute), as well as the opportunity to easily localize the content for other regions.
You can certainly treat images, sounds, and animations the same way. Production times dramati-
cally increase when you have to either engage multiple people to get a single change made, or
teach someone making a writing change, for instance, how to make the same change in Flash. It's
much more effective to make changes to externalized assets that are dynamically pulled into the
.SWF. Flash is very effective at rendering dynamic text (in whatever font and size you wish),
images, and sounds. The programming that encompasses the dynamic nature of external assets
should also be external to the Flash files, and thus is easily updateable and reusable amongst
other Flash files. Using this methodology parallels the methodology of creating small, reusable
SCOs, and can allow for maximum reuse of a variety of content if your directory structures are set
up properly from the outset. Tipster: Scott Merrett
ACTIONSCRIPT 2 — When you want a hit spot over some text, you may want to size and move
the hit according to the text it is related to. By relating the hit to the text, the size of the hit will
always match the related text. This works well when you have language changes, or move the
text around during your movie. You can call an empty hit box from the library with ActionScript, or
drag an instance onto the stage. Once you have the hit identified, you move it and size it to the
related item on your stage. Like this:
button1Hit_mc._x=button1txt_mc._x;
//move hit for button 1 into position and size it
21. 239 Tips for Producing and Managing Flash-based e-Learning Content | 21
II. Adobe Flash Professional & Flash Player continued
Just because you button1Hit_mc._y=button1txt_mc._y;
button1Hit_mc._height=button1txt_mc._height;
can do it in Flash,
button1Hit_mc._width=button1txt_mc._width-3;
//the -3 here just shrinks the hit width a little smaller than the
doesn't mean you
should. It might text height
Tipster: Scott Gale
be fun to make
things move, ACTIONSCRIPT 2 — If you do not know about creating your own functions to do repetitive things
in ActionScript, check them out. They are a big time saver, and can be moved from project to proj-
blink, buzz, or ect with ease. An example:We want to change the color of something depending on changes/
grab your atten- clicks in our program, so we set up the object movie called ”item1txt_mc” and call it
”item1_color”:
tion in other
var item1_color:Color = new Color(item1txt_mc);
item1_color.setRGB(0x000000);
ways, but if it
doesn't help the Then, each time we want to change the color, we write the text —
item_color.setRGB(0x000000);
user learn, don't
This gets hard if we have 10 items, and want to change them all to black except the one selected
do it. It just adds we want blue. It would look like this:
to your develop- item1Hit_mc.onRelease=function(){
ment time, and item1_color.setRGB(0x0033AB);//blue
item2_color.setRGB(0x000000);//black
turns into a dis-
item3_color.setRGB(0x000000);//black
item4_color.setRGB(0x000000);//black
traction for users.
Steve Johnson and so on for all ten items
}
and this is then repeated for each hit . That, my friend, is a lot of code.
Using a function would look like this:
First I make the function and name it ”myColorFunction”
function myColorFunction(){
the guts go in here
}
Then I can call the function any time in the timeline/action script like this
myColorFunction();
In our example it would look like this:
function myColorFunction(){
item1_color.setRGB(0x000000);//black MAKE THEM ALL BLACK
22. 239 Tips for Producing and Managing Flash-based e-Learning Content | 22
II. Adobe Flash Professional & Flash Player continued
Do not rely on item2_color.setRGB(0x000000);//black
item3_color.setRGB(0x000000);//black
Flash to com-
and so on ...
if (myVariable==1){
press your
audio. Compres- item1_color.setRGB(0x0033AB);//blue MAKE THE ONE WE
WANT BLUE
sion is depend-
}else if (myVariable==2){
item2_color.setRGB(0x0033AB);//blue
ent upon appli-
cation, but MP3 }else if (myVariable==3){
is the most com- item3_color.setRGB(0x0033AB);//blue
monly used for } and so on...
}
most purposes.
Then in my script on the hit, I assign the variable and call the function.
Andre' Chatelain item1Hit_mc.onRelease=function(){
myVariable=1;
myColorFunction();
}
This is a real time saver, and can be used in many ways. You will find you can handle many repeti-
tive tasks this way. I have found it best to keep the functions and calls together in one movie.
Tipster: Scott Gale
PUBLISH DOWN TWO VERSIONS — In my experience developing Flash content for an organiza-
tion, despite the latest technologies and functions available in the latest version of the Flash play-
er, it is best to produce content for a previous version. For example, Flash player 9 is currently avail-
able, but I publish down to Flash player 7. The reason being, when multiple sites are accessing your
content, there is no guarantee that their users have current Web browser plug-ins. Your site may
support Flash 9, but the next site over may only support Flash 8. By publishing down to two ver-
sions previous, it is almost certain that there will not be any issues in users accessing the content. I
hope that helps — let me know if you would like any further insight as I work with Flash daily.
Tipster: Thomas Gnas
BUILD IN FLASH “CONTENT PLAYERS” — The content players will play content from XML files at
runtime. This way, your content developers can develop content in applications like MS Word (with
the XML tool pack). For example, I’ve created a “course player” that can be reused with content cre-
ated by multiple developers. All that people developing the course content have to do is, in Word,
identify the screen name and the content for that screen. Another one I’ve developed is a
”Concentration” game. A collection of “boxes” covers an image. To make a box disappear, you have
to answer the question right. The questions come from a Word file. Again, to use the content play-
er, all the developer has to do is to modify a Word document. The content reuse ideal of SCORM is
23. 239 Tips for Producing and Managing Flash-based e-Learning Content | 23
II. Adobe Flash Professional & Flash Player continued
Adding a small largely a pipe dream. The real power in SCORM isn’t content reuse, it’s tool reuse (isn’t it really all
about interoperability within LMSs [tools]?). By creating tools in Flash that can play content loaded
bit of silence to at runtime, we can significantly extend our toolset. If you’re wondering, yes, people are successful-
your audio ly using this method. For example, the folks at Disney are using this method to quickly and effi-
ciently develop e-Learning modules for their Cast Members. Tipster: Andrew Teasdale
before import-
ALWAYS USE EXTERNAL TEXT STRINGS IN YOUR FLASH FILES — It's a good development practice,
ing it into Flash
and allows for easy modification of the text in future updates. Like all good development prac-
helps assure tices, it allows for a more efficient translation process should you decide to localize your Flash file.
Set the text field to Dynamic type text in the Properties panel, and assign the string a unique
that it will not
identifying variable. After making the text dynamic, you can build the source XML file with Note-
clip off the pad or any XML editor of your choice. Briefly, the strings in the XML file are referred to as elements
(or nodes). You reference these strings through XML Object type in ActionScript. Your ActionScript
beginning of
should be easy to find in your Flash file, so put it in the first frame of your timeline — another
your audio. good development habit. There are many excellent examples you can look at on the Web for a
complete tutorial. Tipster: Robert (Butch) Pfremmer
Oddly enough,
this also helps USE DREAMWEAVER EXTENSIONS TO DOWNLOAD A SCORM BUILDER — If you happen to have
Dreamweaver as well as Flash, use the Dreamweaver extensions to download a SCORM builder.
with clicking The SCORM builder will load all of your files, and package them to send to your LMS.
sounds, or dis- Tipster: Anonymous
torted audio SHARE FILTER PRESETS — You can share filter presets with other team members by providing
(audio that them with the filter config file. This is an XML file saved in the Flash Configuration folder:
C:Program FilesMacromediaFlash 8enConfigurationFiltersfil-
sounds like you ters.xml Tipster: Carlyne Lynch
recorded it in
AVOID MAKING DISTRACTIONS — Just because you can do it in Flash, doesn't mean you should. It
the bathroom). might be fun to make things move, blink, buzz, or grab your attention in other ways, but if it does-
n't help the user learn, don't do it. It just adds to your development time, and turns into a distrac-
Andre' Chatelain
tion for users. Tipster: Steve Johnson
MAKE AUDIO BEHAVE IN FLASH — I've discovered that there are many tricks to making audio
work well in Flash, and even when you use the right settings, the audio will not always sound the
way it should. Here are a few of the tricks that I have discovered through several users and online
blogs:
1. Do not rely on Flash to compress your audio. Compression is dependent upon application, but
MP3 is the most commonly used for most purposes.
2. In the Flash Library, change the Export Settings of your audio files to Default.
3. In the Flash Publish Settings, change the Audio stream and event settings to MP3, and the Bit
rate to something no lower than what you originally compressed your audio.
4. On your timeline, change your audio to streaming if the visual corresponds or is timed to the
24. 239 Tips for Producing and Managing Flash-based e-Learning Content | 24
II. Adobe Flash Professional & Flash Player continued
If you happen audio. Event is usually used for sound effects, or things that need to start at the right time, but
nothing is depending on it to end at a specific time.
to have Dream- 5. Adding a small bit of silence to your audio before importing it into Flash helps assure that it will
weaver as well not clip off the beginning of your audio. Oddly enough, this also helps with clicking sounds, or
distorted audio (audio that sounds like you recorded it in the bathroom).
as Flash, use the
Tipster: Andre' Chatelain
Dreamweaver
FLASH-ANIMATED JOB AID AND GLOSSARY TO ASSIST LEARNER PREPARATION — We have been
extensions to
very successfully combining instructor-led simulators with student preparation. In order to pre-
download a pare students, they are taking standard CBT prior to entering the simulator. We have developed a
Flash-animated job aid and glossary that contains alphabetized movie clips that show the key
SCORM builder.
concepts, math calculation examples, and so on, that can be accessed through a laptop or iPod
The SCORM that the students have with them in the simulator, and can take with them onto the job. Each clip
is less than one minute long, and does not make the student look through an entire lesson to find
builder will load
the exact function, concept, buttonology, and so on, that they need. Because the concepts are each
all of your files, in an independent movie clip, they can be used to create custom glossaries for each lesson, or
combined for the entire course. We have also started using them in different schools across the
and package
enterprise. Tipster: Janeann Hudson
them to send
DRIVING INTERACTIVE NEED — In our training department we wanted to move toward interac-
to your LMS. tive on-line training. The hard part was finding the time and resources to move forward quickly. It
Anonymous also seemed we had to “sell” the idea too much. We develop our products in Flash ActionScript 2,
so the learning curve is steep, and projects take a fair amount of time to create. The payoff comes
when the end product is very customized to what we need. Creating interactive training drove
some need, but our real ROI home runs came from some not-so-traditional products. Internal
demand for our products increased dramatically when we started building sales tools, simulators,
and selection tools. You can say all these tools are training, and I would agree, but they stretch the
limits of what we normally would do. A sales tool is training, targeted at what we want to present
or show a customer or sales person. A fancy Flash showing the product and all its parts, so when
you mouse over it shows details or specific uses. A tool could be a customer ROI calculator show-
ing what they will save with our product. Our sales folks like an interactive presentation that
includes videos and sound where they can walk a customer through a product depending on their
needs, and not just a PowerPoint. Simulators can reproduce the experience a customer will have
with the products. We mainly use them for showing how to navigate through interface screens,
controls, or computer screens. In this case, a customer is learning how to use the screens or con-
trols by actually doing it. We can set up scenarios, and make sure they understand how to handle
multiple situations. Our highest-demand item though is selection tools. These often have very lit-
tle training associated with them. A selection tool asks a series of questions that allows a cus-
tomer to choose certain features they need. Based on their answers, a Graco product is identified
along with related accessories. Sounds easy, but often times, when dealing with equipment, the
items a customer selects determines other items they can or cannot select. If you pick motor 1,
then you can pick pump A, B, or C, but if you pick motor 2 then you can pick pump B, C, or D. If you
25. 239 Tips for Producing and Managing Flash-based e-Learning Content | 25
II. Adobe Flash Professional & Flash Player continued
Any bitmap used want a stainless pump, then you have to pick pump C or D. It gets complicated real quick, and it is
hard to show all the relationships in a catalog. The result is customers ordering the wrong combi-
more than once nations, or frustrated with the process. They will just call their sales rep, who not so gladly spends
(including in two his or her time ordering for their customer. With a selection tool, we can ask the questions of what
they need, and then only show items that fit their requirements. If they select a 240V motor, we
keyframes) should only show accessories for a 240V motor and pumps, and so on. If they require a medium flow rate,
be converted into we don't show them small pumps or really large pumps. We allow them to choose what they
need, and items that fit together. Internal demand for selection tools is far greater than our
a symbol so it resources, and we will eventually add more head count because of it. This demand directly sup-
only downloads ports interactive training. To summarize, if you want to increase demand for interactive training,
you may want to look at building some not-so-conventional sales tools and selection tools. In the
once. right situation, you directly drive sales, have more concrete ROI numbers, and internal demand for
your products will increase. Tipster: Scott Gale
Angela Nicholasa
CONVERT YOUR BITMAPS INTO SYMBOLS — Any bitmap used more than once (including in two
keyframes) should be converted into a symbol so it only downloads once. Tipster: Angela Nicholas
HOW TO USE VERSION CONTROL TO MANAGE CHANGES — When developing applications using
Flash, use .AS files to separate complex code functionality from the .FLA file, and check them into a
version control system such as Subversion. Taking the code out of the .FLA file will allow you to uti-
lize the tools provided by the version control system to more effectively manage changes to the
code over time, and across multiple team members. Tipster: David Williams
USE MOVIE CLIPS WHENEVER POSSIBLE — This makes your design more modular so you can move
movies easily around the stage, or export them into other Flash-based e-Learning. Build it once —
use it often. Tipster: Steve Johnson
PREVENTING USERS FROM TAKING SCREEN SHOTS OF YOUR APPLICATION — There is no direct
way to prevent users from using the PrintScreen key in the keyboard, since this function is con-
trolled by the operating system. Here is a little hack to nullify the clipboard when the user presses
the PrintScreen key. Use this code:
this.onEnterFrame = function (){
if (Key.isDown(44)) {
System.setClipboard(“Screenshot Prohibited”);
}
}
This will nullify the clipboard, and the captured bitmap in the clipboard would be lost every time
the user attempts to do a screen print. Please note that there are still other ways the user can take
a screen shot of your application, and this solution is primarily aimed at non-technical users.
Tipster: Krishna Prathab R V