STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 229595 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2595 · P5190 |
This is the info page for Flash #38381 |
Preloader Loading... |
Layout |
1 - Newgrounds 2 - Swift 3D 3 - Flash 4 - Code Library |
Hotkeys |
S - Swift Section F - Flash Section M - Main Menu Right - Forward Left - Backwards W - Fast Forwards Q - Fast rewind |
Something about the world |
Done |
I wrote the following story fairly quickly. It begins pretty quickly with a sort of prologue and then goes to the bulk of the story. |
My Fiction |
Continue |
Mind forever more. |
ithin your |
You will carry w |
Person within my words that |
So that I may manifest my |
Feyn! Come forth to me |
From this undue suffering to my person |
No meaning nor no abstinence swore it |
Began to process more fully |
It was just something that emerged as a machine |
iverse |
But there was never anything to this un |
Fell imp for its wanton pulls upon my person |
I lived life for its most tactile and visceral ploys |
Can feel its cold hands touching me |
I can see death |
The emptiness of this biological form is clear |
Ordos: |
Back |
denied. |
must stop myself from movement to threaten such as you must not be |
I |
could experience. |
greatest gift I could give to my brethren, the greatest joy a man of this Earth |
in a world of finite matter would be to deny myself the |
infinitely |
existing |
to bring life to this Earth. To deny a force of life unto this universe by |
the forces of which I was conceived, a force that would turn around quickly |
disordered element of |
a |
Upon my death my body would become |
upon me. |
To deny me death would be the greatest blow the universe could impart |
: |
Feyn |
. |
And it is dear to me! |
My master is my Aegis from reality; |
; |
I am a slave to my humanity |
I am the subjective consciousness; |
I do not seek to find truth; |
: |
visceral mote |
nfines of this |
he co |
hin t |
observe; wit |
For I am a biological machine; I |
I will be forced to move myself to retaliate |
If you do not desist from stillness for one moment more than |
Commander: |
fact, and for that you will be eternally bested. |
- |
the |
to the Earth, but you will know nothing of your victory after |
you can give |
everything. You have acknowledged that your death will be the greatest gift |
perception; for as a dead man you will see nothing but will exist as |
y wrong in all its |
eternally be a computer of flawed perfection, perfectl |
this action and you will |
Stand nowhere, stand a mind without an eye. Take |
: |
Ordos |
which is written thus: |
that |
of |
a nature |
and would come to bare |
This would come to be realized, |
passing there was and will never be a universe such that is observed now. |
ption. I was all there ever was and will ever be, and upon my |
No perce |
consciousness a fear like none felt before. Darkness of the eyes. No senses. |
battle waiting, would encroach upon the |
silence and in the stillness of pre |
And then, in |
machines of which it so clearly bore. |
indifferent from the flesh |
e to see man |
. And upon the breaking of the farce one would com |
its aegis |
was |
machine, blooded and lifeless, |
engendered by the sight of an angry flesh |
meaningless corpses its guise and the blind perverted love of bloodshed |
sourceless men and |
— |
cloaked masque of the farce |
gilded senses wore the |
The warped and tainted elements of man and all their self |
breed of men. |
A farce stood between the reality of death and a whimfully passionate |
. |
war |
and waged for the sake of |
a warped and weary man a state of war, fought |
ragments of |
bring war to the men of Earth. And thus was wrought upon the f |
of the human spirit rose from the ashes of its own destructor to once again |
For seven years, the ideologies and the prejudices of a long pacified element |
us with good. |
reference. Is man born good, or is it the light of God which fills |
indirectly |
Hypocrisy, I use the phrase to curse what I |
dominion over all challenges? |
ines made man supreme ruler, given him |
many strengths. Have these mach |
paternal entity of all power, with a face of many promises and a guise of |
Great father? A reference to the |
”, thought: |
! |
“Great father of the lands |
emerged from the transport, looked at the sign, shocked. |
Feyn |
inite. |
Man is God. Knowledge is strength. Power is inf |
port read a sign: |
path of the passengers. At the road at the end of the Heli |
port to shallow grass plains for the walking |
the metallic surface of the Heli |
d in standard procedure |
to land at the door of the transport. They terraforme |
nsport, the two drones dropped from suspended positions in the air |
of the tra |
sentient repair drones. At the soft and constant automated landing sequence |
port flanked on both sides by two |
d at the Heli |
Three transports lande |
Humming faded to full speech in the machine. |
deep within. |
Feyn entered the abandoned dwelling, heard a faint humming from |
nothing, power is infinite, all existence is now in thought. |
he physical is |
such wasteful opulence as t |
uninhabited. It was no burden, |
mong one man, many dwellings, most of them |
. A |
badlands war campaign |
, a gift of Ordos from the |
named Ajax |
past so that I may receive a gift |
desires my presence at his empty dwelling of |
Ordos |
Feyn thought: |
e of the machine. |
“As you wish”, went the respons |
“Be gone”, spoke Feyn. |
should you desire it” |
“Power is infinite, desires are in the realm of the arbitrary as desire is reality, |
swarmed to his unimportant presence, spoke in the automated monotone |
the streets. Machines |
Feyn shook the thought off, continued through |
my eyes! |
his body, his images to |
What an odd perspective of control, my thoughts to |
stimulation can be directed by the master through direct neural translation. |
and proven method. Nearly as old as the thinking machine… The neural |
ion and overriding all other neural impulse. An ancient |
most undesirable act |
feeding a powerful stimulus, positive to the desired motion, negative to the |
human hybrid brain. Capable of |
- |
neural stimulator deep within his machine |
machine Ajax’s consciousness, controlling him was reduced to a |
child |
guards on the |
e |
had been designated as a sentient machine. With no saf |
This thing had been a gift of late from an old friend from the old wars. It |
facial guise of a child. |
upon myself, this machine who bares the physical |
What have I burdened |
he gnomish figure, thought: |
Feyn looked at t |
breaching the barrier to be both”, spoke Ajax. |
. I am above you and can see all, and hold the key to |
beginning and no end |
am an animal and a man, a fulcrum. A wall runs between them with no |
e, animal and human, amaranth and monolith, I |
“Instinct and perceptiv |
thought the machine. |
, |
agony |
as Ordos with a diseased part that must be removed through some sort of |
. His black and white animal perception sees me |
an attack, however subtle |
When an animal faces attack, it first sees its survival. There will be |
nature. To entertain? To enlighten? |
my basic |
This machine means to test |
altered and filtered”, spoke Feyn. He thought: |
and develops a perceptual context of consciousness to which stimulus is |
as they are unintelligent and inherently basic. The complex organism learns |
from past generations |
The simple rely on the developments on their instinct |
“Two methods for two environments, the line is clear and distinct. |
fatally quick”, words betraying actions with a great and omnipotent subtlety. |
ctive consciousness of evolution… fatally deadly… and |
action through colle |
pathological context, instinct bypasses perception level analysis and directs |
“Humans apply stimulus to a grid of |
The machine responded: |
Feyn spoke, “What is it to be a perceptive monolithic human” |
inite and be unique. |
the inf |
and the aristocrat was the man with identity who could isolate himself from |
where the peasant was the man who was lost in the mazes of gold and glitter |
house could be a palace, a new sense of craving for identity had evolved, |
carcity. But as every |
Palaces of old had acquired their opulence from their s |
on the unique overpowered the infinite streets of opulent gold and silver. |
evolution in the architecture of the infinite. A focus |
seemed to be a counter |
he streets of abundance and infinite. There |
Feyn moved through t |
reclaim the body and destroy the diseased delusion known as Ajax” |
upon so that the real agony will be a surprise, one which will bring Ordos to |
though. I will need something that we will transfix all thought and anxiety |
ind is strong |
His m |
He will then be full unto me as an old friend as mine. |
that be the model for his design, he will act the way those would have acted. |
and should |
faced in the wars of old |
Ordos and I |
challenge similar to that |
ide a |
s now clear. The badlands will prov |
ultimate victory over this machine i |
The path to |
so he agrees. |
Feyn attempted to hide satisfaction, |
“Effective” |
Quite clever” |
are my perception of Ordos. |
You |
“Old friend, you have been shaped from the values of my mind. |
an would be thwarted. |
the pl |
agony that would kill his consciousness was an elemental part of ensuring |
But knowing the |
He would be replaced. |
swept over Ajax at an overt level. |
yed. Fear |
another, the identity which he was and had created would be destro |
him would awaken, while |
within |
consciousness |
instinctive act. A sleeping |
popular drug culture. He would then see himself as Ordos through the |
instinctively fit the role of Ordos who identified himself by refusing the |
he agony would force an instinctive response, where he would |
and t |
Ajax realized it. Hajj was a hallucigen, but the high was strenuous, |
some level” |
borders, which we all crave at |
ces. They create challenges and |
experien |
ambition, chemical highs are the only ways to push the frontier of |
t and there is no desire, no |
class, no identity… where opulence is abundan |
badlands. Drugs thrive for a reason, my friend. In a world where there is no |
. I plan to buy Hajj from a dealer at the edge of |
interpret this language |
and |
t designed to hear |
battle tongue: “The seekers aren’ |
d |
in the ol |
Ajax |
spoke to |
, |
the two men. He, well being scanned at a distance by the seeker |
drone, armed with drug sniffing apparatus, suspended in the air, moved past |
Feyn went at a slow pace then stopped and turned around. A seeker |
seeker drones. |
s to attack targets identified by the |
occasionally deploying hunter drone |
parties of massive hunter drone carriers slowly arced over the wall, |
sloped downwards. The stations were manned with seeker drones and |
then the badlands, the border stations on the rounded metallic wall gently |
elevation |
with three border stations. As the city was of a significantly higher |
The metallic wall that divided the city from the badlands was lined |
be there in a new form and I will not be alone. |
Ordos will |
he would have no anxiety, expectation, or resistance. |
occur and |
anxiety and expectation to a certain time. Than before that, the agony would |
inevitability. Ajax would expect the agony of the drug and would build the |
Feyn saw subtle fear on Ajax’s face. His fate had been drawn into |
Ajax bore a weak attempt to be casual: “That’s good intelligence” |
and will get attention from hunters” |
rug. But I will fire off a flare which will bare the heat tag |
will detect the d |
source associated with it. When we make our way down the station, seekers |
primary weakness, the hunters don’t attack the contraband; they attack a heat |
than attack the thermal spot which has been tagged. Therein lies their |
The hunters |
source of heat, which is transferred to a hunter drone carrier. |
and tags the closest |
Feyn spoke: “Seekers detect the contraband item |
Ajax stumbled, anxious and afraid, back from the border station. |
consciousness of which he had created for himself. |
self and Ajax would be forever in the hands of the identity and |
thought |
had so anticipated the moment, he would be able to act as his distinct |
vital that Ajax go through the drug agony, and as he |
for eternity. It would be |
self of Ordos |
Ajax run away he would be plagued by the dormant thought |
deep anxiety at the obvious end of his life possible before his eyes. Should |
self had grown to a |
within him. Such fear of death for the distinct thought |
dos |
self of Or |
another man was what had drove Ajax to suppress the thought |
The prospect of losing a distinct identity that was his own and not that of |
self of Ajax. |
flesh grew close to superceding that of the prominent thought |
self of Ordos within his |
Ajax’s intensity grew. The dormant |
would not want to confront such a foe with poor intelligence” |
extremely quickly once they’ve locked onto the distinct heat pattern. One |
mechanisms and use the gravitational energy to dart themselves forwards |
uspensors |
of over 50 miles per hour. They’re driven by efficient s |
and when attacking at speeds |
ordinance. They travel in swarms of hundreds |
quickly. Upon that cylinder there is a tiny needle which delivers the |
s in diameter filled with deadly chemicals that kill |
generally a few centimeter |
Feyn responded: “Each hunter is composed of a first cylinder, |
incomparable. |
and no person would give up a live of luxury for the public good. It was |
ted the hunters with his intuition. But it is alas not an age of men, |
have direc |
easily have crushed both the men. He could have called for back up, could |
One man with the machines, working at even half his wits and abilities could |
A thought surfaced: |
Feyn: there was the drug, no security, just machines. |
ame very simple to |
grenade had deactivated the tiny seeker. All this bec |
needle, an EMP pulse was emitted. The flux wave generator in the tiny |
an Electro magnetic pulse grenade at the drone. Upon the shattering of the |
e it to a facility to harvest the biomass. Feyn threw |
collect the drug and tak |
not have been inefficient in its destruction, a collector drone was sent to |
Because the Hunters pumping poisons into the drug itself would |
A collector. |
and crashed. Feyn waited, saw another drone deploy from another carrier. |
red |
hunters accelerated until they crashed into the metallic floor and splinte |
hunters, calculated to the size of the heat source. Feyn watched as the |
substance. He looked up at the carrier and saw it deploy a small fleet of |
d back as the seeker examined the |
ground next to the flare and steppe |
himself and the satchel which bore the drugs. He set the flare down on the |
to him with his arm, and then lit the flare in his hand. He held the flare close |
allowed time for a seeker to approach the party. He drew Ajax |
Feyn |
was motionless. |
ont of the hot springs, Feyn |
Indistinct to thermal sensors, standing in fr |
moved closer and a hunter squad came down from the sky. |
Feyn saw a seeker encroach over the rock wall and scan the area. It |
Ajax, believing it was a distraction, ignored the comment. |
oid heat detection” |
may blend into it if to av |
Feyn spoke: “Behind a thin layer of ice here, there is a hot spring; one |
to pull out the drugs, but he remained there. |
self unguarded. He watched carefully for Feyn |
leaving his current thought |
n a specific time in the future, |
be now, and he had focused his anxiety upo |
comforted by the knowledge that the agony would not |
immanent, but he was |
Ajax was immersed with the terrible reality that his end was |
break the ice and neutralize ones thermal trail. |
ing, a small movement could |
So close to the hot spr |
rock wall. Feyn thought: |
The party moved until Feyn stopped them at an indistinct spot on the |
hugged the rock wall as they made their way deeper into the badlands. |
of the snow tundra that had defined the badlands. Ajax and Feyn |
the sides |
An icy rock outcropping which jetted from the metallic wall ran along |
self in impulsive decision making. |
progression of the Ordos thought |
guise. The anxiety depleted within him and built up to protest any |
realized the trap. This was the true agony of test; the drug was simply a |
self of Ordos within him. And Ajax |
e thought |
The idea’s source was th |
war. |
save your old friend of |
And then another option entered his mind: |
quickly to save his friend. As you are the gateway, you will stagnate. |
context from the machine culture. An animal would bypass such and act |
ptual grid of |
drugs pose to the race and would see damage in the perce |
are the gateway between man and animal. A man would realize the threat |
You |
became suddenly disturbing and ritualized as they contaminated him: |
self within Ajax spoke words that |
the distinct thought |
A voice of |
opposite direction and let the hunters devour him. |
the hot springs, saving his life. He could also choose to move Feyn in the |
Ajax realized the dilemma. He could dive at Feyn and send him into |
that it will give you solace”. |
claws for dominion of my flesh. You may steal my flesh in the intention |
“Friend, you have trapped me and have won. The thought |
He spoke thus: |
for his loneliness. |
would do such onto me as to find an elixir |
He |
towards Feyn at that moment was not anger, but more sadness and pity: |
preservation were futile against a force so bent on his death. The feeling |
Ajax capitulated. He became weak as all his efforts of self |
he crashed into the hot springs, and the hunters left. |
, and the die was cast. Ajax was no more. Ordos lunged at Feyn, and |
done |
those words in full impact and power that Ordos had |
recognized |
Ajax |
I’ve served my time in hell” |
Another soldier reporting |
To saint peter he will tell |
“When one goes to heaven |
repeated to Ordos in the badlands campaign |
d |
which he ha |
cost. He spoke on impulse an old saying |
being, no matter the |
self of another |
compulsion to not be alone and find consolation in a thought |
distinctness from nothing. He had felt though, at that moment, a disturbing |
ad created a personality and |
Feyn felt empathy for the creature which h |
wind, spoken by the wilted amaranth. |
ebbing of the silent |
heretic |
nimal”, went the words to the |
“You’re right Ajax, I am an a |
conceived. |
old friend walk away, treated in a manner befitting the sin in which he was |
Feyn left Ordos behind and continued to the city. Ordos watched his |
bore his name, and the cruelty he had committed. |
y of death that |
solace as he had expected. Instead it held the terrible realit |
looked at the blank and empty stare. It had not given Feyn |
I hope that little story distracted you long enough for the tutorial to load. If you didn't like my story :( than I apologize but please don't hold it against the entire tutorial. Even if this really make you angry with disgust, don't vote 0 or review 0 just because of this, keep this little story in context. Its there to entertain you while the preloader works... If you liked this immensily, I guess I wouldn't mind if you weighed this disproportionatly in your reviews or votes. :p :) |
Read something fictional |
Read Something about the world |
<p align="left"></p> |
Visit www.armorgames.com, rollover to learn more! |
Visit www.armorgames.com, rollover to learn more! |
While you wait, be sure to visit Armorgames. Visiting Armorgames is a great learning experience for any self respecting Flash developer, you can study and see firsthand the techniques the world's best Flash developers use. Visit Armorgames.com! |
Visit www.armorgames.com, rollover to learn more! |
<p align="left"></p> |
By: BigAl620 (Alex) |
Universal Tutorial |
<p align="left"></p> |
Play |
Play_ |
With 800+ Pages of rich, deep, and interactive content, this is the longest tutorial to ever hit Newgrounds. Topics include ActionScript, Swift 3D, Debugging, Flash, and much more! Even if you don't like most tutorials, there will be something here for you, I guarentee it. Because of its length, this tutorial features a very powerful in-flash search engine. Be sure to check it out! |
No |
No |
3 |
Goto Page: |
Hotkeys are disabled while Search is up |
Go to Page with best search result |
Go to Page with best search result |
Goto Page with best result |
Go |
Go to Page: |
Enter Search: |
- |
+ |
Hide |
2 |
Concept Menu |
1 |
Main Menu |
Search |
Music |
Universal Tutorial |
? |
Help |
? |
This is the Universal Tutorial search bar. To use it, enter a single word or a proper noun composed of two words (like Swift 3D), and hit go! The most relevent pages will be returned to the right of the search bar. To go to one of the pages, simply click the page result. Have fun. |
Help |
Goto Page: |
At 800 Pages, its like a book... a free book. |
Other |
This covers all the content that didn't fit in the other sections (such as thematic elements and creating good storylines). 60+ Pages. |
As Library |
This is a copy and paste style library of useful Actionscript codes with guides for usage and detailed explinations. 50+ Pages. |
Flash |
This section is a very deep explination of Adobe's Flash. Very deep Actionscript explination included. 400+ pages. |
Swift 3D |
This covers the ins and outs of Electric Rain's Swift 3D. Very detailed and comprehensive. 270+ pages. |
Hotkeys |
Q Key - Fast Rewind. Moves you backward in the tutorial quickly. W Key - Fast Forward. Moves you forward in the tutorial quickly. S Key - Automatically sends you to the Swift 3D menu. F Key - Sends you to the Flash Menu A Key - Sends you to the Actionscript Library menu O Key - Sends you to the Other section menu Right Arrow Key - Sends you forward one frame Left Arrow Key - Sends you back one frame Up Arrow Key - Sends you back to the menu of the section you are exploring. |
Hotkeys for this tutorial are: |
Visit Armorgames |
So why should you, a tutorial user, visit armorgames? Well, first of all, the website has lots of high quality flash games. And as a Flash learner, high quality games are very useful as learning tools. Seeing the best techiques in the Flash world will greatly influence and enrich your Flash productions. Think of Armorgames as an invaluable learning tool as well as a tool of mass entertainment :) So Click the button, and visit a world of wonder and infinite enlightenment. |
Visit Armorgames |
Other |
This section has everything I couldn't fit into the other sections. It includes a guide to literary technique, making movies that convey ideas and emotions effectivly, a guide to submitting to Newgrounds, and more!!! |
Mood!!! Theme!!! Dramatic Irony!!! Motiffs!!! And MORE!!! |
AS Library |
This is a library of Actionscript codes with instructions on use, explinations on how they work, and guides for customizing the codes. A conceptual AS explination is in the Flash section. |
Movement Preloader Hotkeys Right-click menu MORE!!!!! |
Flash |
This is a comprehensive Flash tutorial that covers the ins and outs of Flash. 300+ pages! Includes one of the deepest Actionscript tutorials on NG! |
Swift 3D |
This tutorial teaches the ins and outs of Erain's Swift 3D. 200 pages! |
Music |
Music |
Bookmark this page |
Bookmark Label: |
<p align="left"></p> |
<p align="left"></p> |
Remove all bookmarks |
Remove Newest Bookmark |
Remove Oldest Bookmark |
Hide |
Go to bookmarked page |
Chapter 2: Materials |
Chapter 1: Editors |
Swift 3D |
Exporting |
Reinforcement Quiz |
Animation |
Custom Camera, Advanced Viewport |
Custom Lighting |
Adding gallery lighting |
Creating new Materials |
Using preset gallery materials |
Manipulating meshes |
Advanced Modeler |
Extrusion Editor |
Lathe Editor |
Scene Editor |
Back to Main Menu |
Chapter 4: Beyond the Basics |
This chapter teachs advanced viewport and camera, Animation, exporting, and has a reinforcement quiz that explains all the answers if you're wrong. |
Chapter 4: Beyond the Basics |
This chapter teachs advanced viewport and camera, Animation, exporting, and has a reinforcement quiz that explains all the answers if you're wrong. |
This chapter teachs advanced viewport and camera, Animation, exporting, and has a reinforcement quiz that explains all the answers if you're wrong. |
Chapter 3: Lighting |
This covers custom as well as gallery trackball and scene lighting. Very comprehensive. |
Chapter 3: Lighting |
This covers custom as well as gallery trackball and scene lighting. Very comprehensive. |
This covers custom as well as gallery trackball and scene lighting. Very comprehensive. |
Chapter 2: Materials, Textures, and Rotation |
This chapter explains the process of working with the objects which you have already made. This includes adding custom textures and materials, as well as rotating and setting pivot points. |
Chapter 2: Materials, Textures, and Rotation |
This chapter explains the process of working with the objects which you have already made. This includes adding custom textures and materials, as well as rotating and setting pivot points. |
This chapter explains the process of working with the objects which you have already made. This includes adding custom textures and materials, as well as rotating and setting pivot points. |
Chapter 1: Creating objects in the editors |
This first chapter goes over creating meshes and modeling objects in the Scene Editor, Lathe Editor, Extrusion Editor, and Advanced Modeler. |
Chapter 1: Creating objects in the editors |
This first chapter goes over creating meshes and modeling objects in the Scene Editor, Lathe Editor, Extrusion Editor, and Advanced Modeler. |
This first chapter goes over creating meshes and modeling objects in the Scene Editor, Lathe Editor, Extrusion Editor, and Advanced Modeler. |
Swift 3D Tutorial |
1.4 Advanced Modeler |
1.3 Extrusion Editor |
1.2 Lathe Editor |
1.1 Scene Editor |
Chapter 1 |
2.3 Creating New Materials |
2.2 Adding Materials to Objects |
2.1 Manipulating Objects |
Chapter 2 |
3.2 Custom Lighting Scheme |
3.1 Adding Gallery Lighting and Environment |
Chapter 3 |
4.4 Quiz on Swft 3D |
4.3 Exporting |
4.2 Animation |
4.1 Custom Camera and Advanced Viewport |
Chapter 4 |
Start From the beginning |
1.4 Advanced Modeler |
Chapter 1 |
1.1 Scene Editor |
1.2 Lathe Editor |
1.3 Extrusion Editor |
Chapter 2 |
2.1 Manipulating objects |
2.2 Adding materials to objects |
2.3 Creating new materials |
4.3 Exporting |
4.2 Animation |
4.1 Custom camera and advanced viewport |
Chapter 4 |
Chapter 3 |
3.1 Adding gallery lighting and environment |
3.1 Adding gallery lighting and environment |
3.2 Custom lighting scheme |
Test |
Exporting |
Start Tutorial from beginning |
Advanced Viewport and camera |
Lighting |
Custom Lighting |
Adding Gallery lighting |
Materials and Textures |
Adding materials from gallery |
Creating new Materials |
Manipulating Shapes in Scene Editor |
Creating meshes |
Scene |
Lathe |
Extrusion |
Advanced Modeler |
Subject Menu |
Subject Menu |
Main Menu |
Test |
Exporting |
Animation |
Custom camera and view |
Custom lighting |
Adding preset lighting or environment |
Creating new textures |
Adding preset textures to shapes |
Manipulating Shapes |
Creating shapes with advanced Modeler |
Creating shapes with extrusion editor |
Creating shapes with lathe Editor |
Adding objects on the scene editor and other basics |
Chapter Menu |
Chapter Menu |
Topic Menu |
Topic Menu |
Main Menu |
Main Menu |
Search |
Advanced Modeler |
Advanced Modeler |
This covers the advanced modeler from head to toe, subdivision to edge turning. |
Extrusion Editor |
Extrusion Editor |
This covers making static and animated Extrusion in the extrusion editor. It also goes over bevels for making your extrusions look high-end. |
Lathe Editor |
Lathe Editor |
This covers the use of the lathe editor to make static and animated lathes. The lathe editor is a great tool for making objects with radial symmetry. |
Scene Editor |
Scene Editor |
This covers making 3D text, primatives to the scene, and other basic aspects of Swift 3D. A good introduction to the Swift 3D world. |
Swift 3D Chapter 1: Creating objects in the editors |
To begin, click on one of the shapes on the top. When you click on one of the shapes. You'll see it will be added to both of the views below. As a default, you'll get two views, front and top. The shape you added can be seen from both views at once. Using the scene editor you can add as many shapes to the view as you want. |
When you open a new file, click on the button on the top toolbar that says Scene Editor(the one farthest to the left). |
Adding Objects on The Scene Editor |
After clicking on this( ) icon on the top toolbar: |
Before: |
First click on the object you want to rescale, then click on the scale button shown above, and then click and hold the mouse on the aforementioned object. Drag the mouse out to make the object larger, drag the mouse further in to make the object smaller. |
The button farthest to the left on this part of the Scene editor toolbar can be used to rescale an object. |
Wow, wasn't that easy? Now you have an object on the stage. You can add a variety of diffrent basic shapes to the stage just by using the toolbar on top. |
Click on the button to the left. That wil render the object on screen in whatever viewport you have selected. When normally working with objects in Swift, you see an non-rendered version which omits much of the lighting and detail in the rendered version. Rendering it lets you take a glimpse at the finished project. |
Click on one of the buttons at the top left of the viewport and select a view option. |
The first is changing the view. Remember that of your two views on the screen, the one that is on the left is the one that will be exported when you export your Swift. |
These are two techniques that will make the rest of your adventures in Swift much more pleasent. |
In this picture, you are unable to get a good grasp of the lighting, you are unable to see shadows or reflections, and the image lacks details. |
So why render the view before you do the final rendering (which could take over an hour)? Well, in this case, pictures speak stronger than words. |
Below is the rendered version of what you just saw. The ears on the top are both reflective and show features of the environment which can be seen later. You can get a better feel for what textures the primatives will have and you can start to understand what the lighting scheme will turn out like. As a good rule of thumb, its good to render the scene while on the scene editor so you can see where you are and make good decisions about where you're going. |
Photorealistic look |
Hard to manipulate in flash |
Exports to flash as bitmap |
Does better with reflections. |
Can have bitmaps as texture |
More export options |
Raster: |
Cartoon-esque look |
Consumes more processing power |
Consumes less file space |
Vector: |
So what's a raster and what's a vector. Let me sum it up basically with the pros and cons of each option. |
Using this button on the scene editor will always render to a raster in the scene. |
Note that there are two ways of rendering: Vector and Raster. Later on in rendering and exporting the diffrence bettween them will be covered in detail, but for now I'll just go over the basics, because when you're developing you'll want to have an idea of which you want to export to. |
As you can see, the vector didn't carry the lighting qualities or textures as well as the raster. In the exporting section, vectors and rasters will be covered in depth. |
Raster: |
Vector: |
This is a visual comparison of raster and vector exports for the same object. |
When you've added only one shape to the scene, this is a rough idea of what your hierarchy should look like. |
This section is all about adding basic shapes using the scene editor. Once you get your first shapes up, you'll want to start thinking about hierarchies. Hierarchies in Swift are similar to hierarchies in flash, except they are definitivly simpler. |
With your object selected, look to the toolbar on the left that looks like the one below. On that toolbar, select object and you'll see a place to enter the new name for the object. |
Once you get a shape up, its a good idea to rename it. Considering that it will be a part of a larger object. Give names like head or body. |
This is what your hierarchy should look like on the right with three named shapes on the scene. In this case, I'd like to add eye2 and eye1 into head. Click and hold on the shape you want to embed, and drag it into the shape you want to embed it into. It should look like the picture below. |
When doing hierarchies remember that you can embed objects in other objects indefinitly. |
You'll see the word text cover up the scene editor. |
On the toolbar shown above, click the button shown below |
Next we're going to work with Text. This is one of the easiest and most broadly applicable uses of Swift 3D. Ok, start with an empty document. |
Within that hierarchy, you can select an individual object on the hierarchy, or you can manipulate a group that you've created. See how useful that is? |
Click on the highlighted text option on the top, and then below the font input are input the text you'd like. |
Obviously, text can be changed to anything you want. But before you start, I'd recommend reducing the size of the word using the scale object. And then, click on the word and look to the toolbar on the right. You'll see an input box where you can retype the text. |
On this toolbar, click on the large B in the bottom right, and then drag any of the diffrent choices onto your piece of text. This menu at the bottom will be the heart and soul of many of your Swift operations. |
The text tool is pretty useful. Text from Swift 3D can give your flash movie a fresh feeling to it. It can also make a word standout in a long animated sequence, which is useful to anyone interested in promoting themselves or their studio. Right now, I'm only going to go over one feature of text, which is the bevel. Bevels are sorts of 3D stylings for your text. |
In Swift, click and hold the button to the left, and drag it onto the text on the bottom. That produces an interesting effect, doesn't it? Experiment with it. Dragging a new bevel down will replace the old one. |
At that point you can give it a name and put it in a category, or you can create a new category for it. |
In Swift, if you ever produce a kind of object that you like (no matter where it was made), it can be saved to the gallery (seen at the bottom the screen) so that it can be reused later on. Once you have an object selected, go to the file menu and click "save model..." |
Click this! |
You will notice that there are saved models that come with Swift. Feel free to use these. To move a model to the Scene editor, simply drag it out of the box and onto the scene. |
To access a model you have saved, go to the part of the gallery with the models by clicking on the button seen below. |
Next Lesson |
To get to the Lathe Editor click on the Lathe Editor button on the toolbar shown above. |
Before we get into the exciting world of the Lathe Editor, let me go over its purpose briefly. In the last section you learned how to create fairly sophisticated object through preset shapes, however frequently there are objects needed that simply aren't a composition of basic shapes. This is why the Lathe Editor, the Extrusion Editor, and the Advanced modeler are needed. The Lathe Editor is probably the second easiest to use behind the Extrusion editor, but that's largely a matter of opinion. The Lathe editor also lets you animate Lathes, which will end up being similar to a shape tween you're used to in Macromedia Flash. |
Creating Shapes with the Lathe Editor. |
Circle |
For a circle, there are a theoretically infinite number of lines of symmetry. Object with the lathe editor will share this property. |
One common think made by the Lathe Editor is a cup. The first key feature of the Lathe editor is radial symmetry. Everything produced the Lathe Editor has radial symmetry. |
(This is not a cup, at least not a very good one, if it was an effective cup the top would dip down) |
The picture below is a typical product of the Lathe Editor. As you can somewhat see, it has radial symmetry if you're looking at it from the top. |
That product was derived from this in the Lathe Editor. |
This picture shows how the Lathe Editor works. As you can see the editor take the green line running vertical, and in a way "rotates" your drawing around do that the green line on the left in the Lathe Editor become the center of a 3 dimensional object. |
This is another Lathe editor and scene editor comparison. Before you move on it would be wise to ensure that you have a solid understanding of how what you draw in the Lathe Editor correlates to the final product. |
Select the tool shown on the left. |
Ok, you've seen what can be done with the Lathe Editor and you understand the core concept, but you haven't been told how to actually use it. That's ok. First of all, select the pencil tool once in the Lathe Editor. |
Click on this button on the toolbar shown above to start plotting points being connencted by curves. |
With this tool selected draw a point to the right of the green line on the Lathe Editor. When you plot your next point, the Lathe Editor will draw a line bettween what your last point and your most current one. Using this technique, a fairly sophisticated object can be drawn in the Lathe Editor. But, what if you don't want the Lathe Editor to draw a straight line bettween your points? What if you want it to draw a curved line bettween your points? When you first selected the pencil, the straight line was probably selected automatically. |
Shape Tool |
Now that you know how to use the pencil tool, its time to briefly go over the other tools the Lathe Editor leaves at your disposal. The Lathe Editor has 2 tools other than the pencil (technically called the add point tool). The first I'll go over is the shape tool, which looks like an arrow. On the above toolbar, which you are by now probably very familiar, the button shown below selects the shape tool. |
Before you move on in the explination of the shape tool, you should ensure that you have some kind of basic object drawn in the Lathe Editor. To begin, the basic point of the shape tool is to manipulate points already drawn in the Lathe Editor. With the shape tool selected, click and hold on a point. The first thing you should notice is that you are able to drag the point around the Lathe Editor. Secondly you should notice that when a point is selected, it can be manipulated on the Point Properties Toolbar on the left. In this menu you can change the properties of a point, such as turning a curve point into a straight point or vice versa. |
The other tool that needs to be mentioned is the zoom tool. The zoom tool is the tool that is the farthest to the right on the toolbar shown above. This tool is pretty simple. Basically, just left-click to zoom in, and right click to zoom out. That's basically all that needs to be covered with tools. |
If you thought that the Lathe Editor could only export static pictures into the Scene Editor, you were wrong. The Lathe Editor can make very sophisiticated animations. To make a Lathe animations, start by opening the Lathe Editor. As a first step, draw an object in the Lathe Editor as you normally would. You can draw anything, but you can see what I drew below. |
Animation |
Once you have your static 2D lathe, look above the view you're using (called a viewport) to see the timeline. Up to this point, you haven't used the timeline for animation. But soon, you will. Now first of all, let me say that this timeline is much simpler than the one in Macromedia Flash. In fact, you don't even have to add tweens. Tweens and keyframes are both created automatically. Ok, start your adventure in animation by pressing on the button shown below. Once you click animation, the button will turn red, indicating animation is on. Once you have animation on, continue the tutorial. |
When you want to start animating, click on a frame (as shown above) and use the pointer tool to relocate the points in the Lathe. |
Its time to revisit the timeline. At this point, you already have something in frame 1, and to have an animation, you need an object in a diffrent frame. |
As you can see the points farthest to the right have been moved closer to the center. |
This is the Lathe on frame 20: |
This is the Lathe on frame 1: |
Something very interesting has been done automatically. Swift has created a tween, a shape tween. If you look at every point bettween 1 and 20, you'll see that Swift has drawn in the intermediate Lathe points for all those frames. When you take your Lathe to the Scene Editor, it will have this animation built into it. Note that if you were to select frame 30 on this same Lathe, you could produce another set of points for frame 30 and Swift would treat that as a key frame and would draw in a second tween for that. |
Look back up at your timeline. |
That's all there is for working inside the Lathe Editor. However, once you export an object from the Lathe Editor, there are thing you can do to edit it. To begin this section of the lesson, in the Scene Editor click on the Lathe you have created and on the toolbar on the left select the Lathe option. |
The first we're going to deal with is sweep angle, as it is on top. Using the old analogy of Swift rotating the Lathe around the green line, there is an option of how many degrees the Lathe should be rotated around the green line. |
This Lathe section of the toolbar on the left provides you with two key choices. |
40 degree Sweep angle |
180 degree Sweep angle |
300 degree sweep angle |
360 degree sweep angle |
This is the same Lathe with four segments, each segment isn't as thick as when there were 3 radial segments. |
This has 3 Radial segments, although the segments are thick to fit the sweep angle. |
I think that back there the pictures illustrated the concept of sweep angle well. The second major thing you can do to the scene editor is change the number of actual 2D lathes are being stacked (you can go as low as 3). Think of the Lathe editor as piling a bunch of flat objects in such a way as to create radial symmetry. As in the last example, I'll use pictures to illustrate my point. |
This is the same Lathe, but with 32 radial segments. |
Of course, generally, you'll want to use 32+ Radial segments in your Lathe, however using less Lathes can give it a drastically diffrent look. |
Below where you select the number of radial segments, you can check or uncheck radial smoothing. Radial smoothing will blend together the blunt edges of the segments in a Lathe, which can give it a less rough look. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.tutorio.com/swift-tutorials.html"><b>Tutorio</b></a></font></p> |
<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.oman3d.com/tutorials/swift3d/bottle_conceptoo/"><b>Oman 3D</b></a></font></p> |
<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.kirupa.com/developer/swift/lathe.htm"><b>Kirupa Lathe Tutorial</b></a></font></p> |
<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain (makers of Swift 3D)</b></a></font></p> |
This is the end of the section on the Lathe Editor. If you want more data on the Lathe Editor, consult the PDF guide that came with Swift 3D, or follow one of the links below. |
Put shortly, the extrusion editor is a way to save time. The things which it can do are far from spectacular, however it can make objects in a fairly small amount of time. The core idea behind the extrusion editor is giving a certain amount of depth to a 2D shape. |
Creating Shapes with the Extrusion Editor |
(Object rotated to make depth more clear) |
The object on the left was what was drawn in the extrusion editor, what's on the right was what the extrusion editor yielded. |
Tangent Point |
Curve Point |
Corner Point |
As you can see, the Extrusion editor takes a 2D image and "stacks" them one each other multiple times as to produce a 3D object. Later in this tutorial you'll learn how to control how many times the 2D image is "stacked" on top of itself, however that will come later. First I will cover how to make an extrusion and using the extrusion tools. The Extrusion editor has 3 tools for adding points that are identical to those of the Lathe Editor but for recap, the corner point yields points that are connected by straight lines. The curve point allows you to create connections bettween points that are curved. The Tangent point option allows you to produce points where the lines comming out of the point can have seperate directions. |
If this button is pressed while the add point tool is selected, the shape currently being worked on will close by drawing a line bettween the most recent point and the first point. After the initial shape is closed, a new shape can be drawn on the extrusion editor. |
Zoom Tool- When enabled, a right click zooms out and a left click zooms in. |
Shape Tool- This tool allows you to relocate points on an extrusion by selecting a point or multiple points. |
Add Point Tool- This tool will add a point if clicked to the extrusion, a line/curve will be drawn automatically bettween the last point and the current one. |
The tools in the extrusion editor are extremely similar to those in the Lathe Editor, so I recommned going over that tutorial for more detailed interface descriptions. But below I have some basic descriptions. |
This next lesson will cover how to create an extrusion with a hole in it. First, draw a square in the extrusion editor using the Add Point tool, then press close point to have a closed point. And then use the Add Point tool to draw a circle inside of the square. You should have something like this (or probably better drawn). |
Wow, now wasn't that interesting, because you used two shapes, you were able to yield a hole in your extrusion, pretty spiffy, eh. |
The next lesson I'm going to go over is on adding preset 2D shapes to the extrusion editor. Most of this is pretty self-explanitory. Basically press on one of the shape options, such as the cirlce showen below to have it added to the extrusion editor. On the far right you have a button that produces a polygon. Using the scroll down menu to the right of the button, you can select how many sides you want the create polygon button to create. |
Extrusions can be animated in the Extrusion editor similar to how Lathes can be animated in the Lathe Editor. The kind of animation done in the Extrusion Editor is quite similar to a shape tween in flash. |
Once you have your static 2D extrusion, look above the view you're using (called a viewport) to see the timeline. Now first of all, let me say that this timeline is much simpler than the one in Macromedia Flash. In fact, you don't even have to add tweens or use keyframes (its all doen automatically.). Ok, start your adventure in animation by pressing on the button shown below. Once you click animation, the button will turn red, indicating animation is on. Once you have animation on, continue the tutorial. |
When you want to start animating, click on a frame (as shown above) and use the pointer tool to relocate the points in the Extrusion. |
On frame 1, I put in the points on the left. On the right, you can see the points moven to diffrent locations on frame 20. |
Wow, magical eh. If you look to see what happened you'll notice that Swift has automatically created a shape tween based on your two |
Below you can see the extrusion I drew in the last frame animating. After the animated extrusion was brought to the scene editor, it was rotated slightly as to make the extrusion more aesthetically pleasing. I also put the second keyframe of the extrusion 80 frames away from the first, as opposed to twenty used in the lesson. |
One last rule for extrusion editing, you can only MOVE points in a second keyframe that already existed in keyframe 1. Basically I'm saying that you can't create a new point in one keyframe without it being in the other. You have to use a constant series of points. That basically covers how to animate extrusions. |
This lesson begins with me producing a square in the extrusion editor and sending it to the scene editor. |
The next lesson in this concept is what you can do with Extrusions once you have them in the Scene Editor. |
The left side of your screen should look something like this. If you look at the top part of the menu on the left, you'll see an option called "Bevels" above an option called sizing. Have that selected to continue. |
You should be presented with the menu seen above. |
The first is called square, and it is the default. This basically takes your 2D extrusion and extends it out into the z dimension in a fairly basic way. The second style is called "Beveled" |
The Bevels menu has 5 styles for the extrusion. |
The one to the right has the square style. |
The one to the left is beveled. |
On the previous frame, you saw the square from before beveled. This is another example. |
The bevel style on the other hand, has the side surface meet the front surface at a 45 degree angle. |
In a way, the styles describe a relationship bettween the side surface and the front/back surface. The Square style has the side surface meet the front of the surface with a 90 degree angle, as is seen below. |
Conversly, the Inner Round style has the front surface meet the side surface with a smooth concave shape. |
The Outer Round style has the front surface meet the side surface with a smooth convex shape. |
The step down style takes a slightly smaller version of your extrusion and "attachs" it to the top/bottom of your extrusion. |
This is an example of the Step Down style in use. |
With extrusions you can also decide where you want to start the styling, in an option called Depth. You can also select whether you want the styling to be on both sides of the extrusion of just one side, in the option seen below. |
This is an example of a polished beveled extrusion is use. This also had some advanced rendering options applied to give it the lines. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
That basically covers the Extrusion editor. Below are some helpful links to data and tutorials for the Extrusion editor. |
Advantages: Edit objects in full 3D Produces models with high polygon counts Only tool allowing you to control individual polygons Has best controls and is able to yield the most complex models Able to produce irregular models best. Generally the best tool for producing a complex object. |
I'll begin this section by going over the advantages and the disadvantages of the Advanced Modeler. |
Creating Shapes with the Advanced Modeler |
Disadvantages: Hard to use compared to other Modelers Less efficant than Lathe Editor for producing objects with Radial symmetry May be more time consuming than the Lathe Editor or the Extrusion Editor. High Polygon models will tend to increase lag. |
As you can see, with the Advanced Modelor, the benefits greatly outweigh the disadvantages, that's why it will be the way you produce models for Swift most of the time. You'll find that the advanced modleler bares more similarities to more expensive and professional software than the rest of Swift 3D does. The Advanced Modeler can produce objects with higher polygon counts. |
On the toolbar above, select Advanced Modeler to enter the advanced modeler. |
Believe it or not, both those models had the same texture applied to them, however the one in the right had a higher polygon count and thus was more detailed. The one on the right was made in the advanced modeler. So now we advanced onto the topic of actually using the advanced modeler. |
Face |
Edge |
Vertex |
Look at your environment, you'll notice that you have a series of tools at the top of the window as well as a toolbar on the left. However, you should notice that you have four viewports. The viewports work similar to those in the Scene Editor. Once viewport gives you a view from the left of the object, one from the right, perspective, etc. The first thing you'll want to realise when entering the advanced tutorial is that you begin with a a basic shape (called a primative) that you can edit at the polygonal level. If it sounds complicated, that's because it is. Basically, this is the arangement of the objects in the advanced modeler. You have a polygon, which is for our purposes always a triangle. You see, all 3D objects in Swift are composed of a series of polygons (despite the name, every polygon in a 3D modeler is a triangle). A triangle has 3 verticies and 3 edges. Use the illustration below |
A group of polygon arranged in a 3D space is called a mesh. The mesh above is of a sphere and it contains 480 polygons. |
Now, think about thousands of polygons arranged in a 3D space. This is the essence of 3D modeling. This illustration below shows how a shape in Swift 3D is composed of hundreds or thousands of polygons. |
Before I tell you all the actions you have at your disposal, you need to make sure that the button at the top corner of your screen looks like the picture on the left. If your button looks like the picture on the right, then you need to click the button. If you have a mesh in the Advanced Modeler that you imported from the Extrusion or Lathe Editor, it will ask if you really want to turn it into an editable mesh. If you turn it into an editable mesh, you can change it in the advanced modeler, however if you do that you cannot edit it in the Lathe or Extrusion Editor. Before you go on, ensure that the button below looks like the one on the left and is red. |
Swift allows you to do 4 things to an edge of a polygon, a group of verticies, an entire mesh, a single edge, a single face, or one vertext. That's alot to take in at once, but I'll start with going over the four things that can be done. For the following examples I'll speak of manipulating a single vertex, however remember that the actions can be applied to faces, edges, etc. |
In the advanced modeler, look to the top-left to see a toolbar displaying a list of primatives. To add a primative to work with in the advanced modeler, select a primative from the create primative toolbar as is seen below. |
Click this option |
In the advanced modeler, you begin with something called a primative, which is a basic 3D shape. From one or more primatives, you can move and manipulate the polygons to form complex or organic shapes. To add a primative, you must first be in the advanced modeler. To enter the advanced modeler, click the advanced modeler tab on the toolbar at the top of your screen, similar to the screenshot below. |
This is the Move Free tool. This is probably the tool you'll used most often to edit a mesh. With some part of a mesh selected, drag the cursor around to move that part of the mesh. |
Above are the four tools that can be used to edit a mesh. |
Ok, now that you are able to edit a mesh, let me go over briefly the tools at your disposal. |
With the Move Free tool selected, I have selected a number of verticies in the picture on the left. The picture on the right shows how I moved those verticies to the right using the Move Free tool. |
The Rotate tool takes whatever part of the mesh is selected and rotates it. *shock* I'll use a series of pictures to try to best explain what exactly the rotate tool does. |
The second tool I'm going to go over is called the Rotate free tool. |
On the left, using a cylinder, we have selected a group of vecticies. On the right you can see what happens if we rotate the vecticies clockwise a few degrees. |
The one key diffrence is that if you use this tool while having verticies selected, it doesn't change the size of the verticies, it changes the size of their faces by pushing the verticies towards or away from each other. |
Our next tool is called the scale uniform mode. This works similar to the other tools we've used, so it shouldn't feel that unusual. |
On the left you can see how I have selected the top two rows of verticies in a cylinder. Using the scale uniform tool, I made that selected part of the cylinder smaller. But as you can see I simply made that part of the cylinder smaller by moving the verticies together. |
The next tool I'm going to go over is called the extrude along normals tool. This can only be used when you are using the face selection tool. What is does is it allows you to extrude, that is to move away from the center, a face/series of faces. |
On the left you can see a series of faces selected. On the right you can see those faces extruded outward. Note that the faces can also be "anti-extruded", that is, pushed towards the center of the object. |
This is just a second example of Extrusion. |
This is the first option given for selecting parts of a mesh is called the single vertex selection tool. This tool will select only one vertext on your mesh. If you drag this tool over several verticies, though, you will be able to select multiple verticies and manipulate them. |
That basically summarizes the four tools you'll use in the advanced modeler. The next thing that needs to be covered is the diffrent methods of selecting parts of a mesh. Each option is shown below. |
This demonstrates how a single vertex can be moved. Note that if you want to move multiple verticies, select those verticies manually, and move them all the same amount, you will want to uise the vertex selection tool. |
You, as the developer, have some options for how you want the red points to move in relationship to the green point. To access these options, select the Soft Selection tool and look to the toolbar on the left, and click "selection" if it is not already up. |
The second tool is called the soft selection tool. If you click on a vertex with the soft selection tool is use, the vertex you selected will turn green, but a number of other verticies will turn red. When you drag the point you selected (its green now), you'll notice that the red points are also moved, but not as much as the green point. |
Green vertex |
Red verticies |
The above screenshot is of the options for the soft selection tool. The first decision you'll make is exponential. How the diffrent soft selection settings work is hard to explain in words, so I'll begin by explaining the small graph to the right. The graph to the right reflects how the tools manipulate verticies and reflects the options you have selected. |
Then, at the bottom of the toolbar, you'll see your options. |
Parabolic: |
Exponential: |
Below is a picture based contrast of exponential and parabolic selection options: |
On that graph, the point in the middle shows the relative position of the green vertex. Whilst the points farthest to the left and right show the relative positions of the verticies farthest away from the green vertex. |
That should sum up form factor in a nutshell... |
Although my pictures are a tad ambigous, I think they give away the general idea. Below the curve type a slider allows you to select "form factor" Basically, the lower the form factor, the flatter the curve. |
Yep, you can select edges! |
This is one of the simpler tools. It selects the edges of the polygons (which are the lines composing the object). This tool doesn't have alot of complex option. Basically you need to click and drag over the mesh to select a series of edges. And then once a series of edges are selected, you can move them, rotate them, etc... |
Edge Selection (E) |
This tool selects a specific surface group. If one does not create surface groups, this tool will select the entire mesh, which makes this tool useful for rescaling or rotating an entire mesh. |
Surface Group Selection |
This tool selects polygons or groups of polygons. Or their faces, more specifically. One of its biggest specialized uses is in materials. I find the face selection tool to be the best tool for creating surface groups. Creating surface groups is taught in the adding materials concept. |
Face Selection |
Options for advanced Modeler tools. |
After you have produced an object on screen in the advanced modeler and have selected the soft selection tool, make sure that your left toolbar looks like the example seen to the left of this text. |
Above is the first main set of options you're given. The first option is enabling mouseover. I heavily recommend that you keep this option selected. Enabling mouseover allows you to see what part of the model Swift will select when the mouse roles over a vertex. I find it to be very convenient, however it can also be demanding on the PC. What you choose all depends on the needs of you and your computer. The second option is Ignore Backfaces. I recommend this option be turned on. If ignore backfaces isn't selected, it means that you can select a polygon that is backfacing, which is for our purposes a polygon that is in the background. However if you have ignore backfaces on, it will only allow you to select polygons facing you. Note that whether a polygon is backfaced or not is based upon what viewport you are currently using. |
The third options asks whether you want to enable multiselect. If you enable multiselect, than Swift will automatically select and polygons directly behind the polygons you selected manually. This is useful if you want to select a group of 6 polygons on both sides of a sphere at exactly the same point. It is important to note that multiselect will only work if you are using face selections. |
This is an example of multiselect in use. Note that the polygon were selected in the left viewport. |
Up until this point, I've taught you how to manipulate all the parts of a mesh by scaling, moving, extruding, and rotating the various parts of a mesh. Whilst this is the heart and soul of 3D modeling, there are other important ways to manipulate meshes in Swift 3D. The first set of options I will go over can be accessed by selecting a part of a mesh and choosing an option from the right click menu. I suggest using the face selection tool for the next set of options. The right click menu has a variety of ways to manipulate meshes, as I will go over soon. |
Other Advanced Modeler Actions and Tools |
To begin this part of the tutorial, I created a simple sphere, used the face selection model to select a part of the sphere, and right clicked. From the start, you'll notice that there are a wide variety of things that can be done from the right click menu. Some, such as moving, rotating, scaling, and extruding we've already gone over. Whilst others, such as subdivision, mirroring, and welding have not yet been discussed. Its important to note at this point that in the advanced modeler there are a variety of ways to do any one thing. Also most options in Swift can be accessed in multiple places in the interface. Several of the right click menu options can be accessed by goingto the transform drop down menu at the top of the screen |
The first option I'll go over is duplication. And like the name implies, duplication takes whatever you have selected (be it an entire mesh or just part of one) and copies it. The X, Y, and Z options however are not quite so self-explanitory. Basically, whether you duplicate along x , y, or z doesn't affect the properties of the duplicated mesh, it rather affects where the mesh is placed after duplication. Choosing x places the duplicated mesh aside the original objects x-axis. That's a little akward verbally, so on the next page I've shown the diffrent options visually. |
Original Mesh + mesh duplicated along x axis: |
Original Mesh: |
Original Mesh + mesh duplicated along z axis: |
Original Mesh + mesh duplicated along y axis: |
The first is "Delete Selection". This one does what is says it does, it deletes whatever part of the mesh you have selected. Break Out Selection takes whatever part of the mesh you have selected, and makes it a seperate object, to be edited seperatly in the advanced modeler or scene editor. |
I hoped that summed up Duplication pretty well. Our next two options are pretty easy and self explanitory. |
If you don't understand these options well, refer to the beggining of the Advanced Modeler section. |
The next four options we have were dicussed in great detail earlier on, so I'm not going to reiterate them. However, unlike when you choose the tools from the toolbar, you can here choose to move, rotate, scale, or extrude your object whilst constrained to a single axis. If you enter the Scale sub-menu you can choose to use uniform or free scaling. Free scaling allows you to scale the object more heavily on one axis than another, whilst uniform scaling scales all axis equally. |
The next option we have is a very, very important one. Its called subdivision. Basically, once you have a number of polygons selected, you can take those polygons and divide so that the mesh has more polygons. Subdividing (with the exception of subdivision smoothing) doesn't change the shape of a mesh, rather it changes the mesh so that it has a more, smaller polygons. You might ask: "Why do this if it doesn't change the shape of the mesh?" Well, the simple fact is that having more polygons in a mesh allows you to make more detailed edits to a mesh. For example, the default cube has only 2 polygons on each side. If one wanted to model something complex, it would be impossible to develop any complex model from a handful of polygons! However, with subdivision, one could produce a very, very large number of polygons on a model. Subdivision is integral to the Advanced Modeler! |
There are a variety of options for subdivision. I recently explained that subdivision is taking a polygon and dividing it into two or more polygons. Our first option is "Balnce Mesh". This option takes your mesh and subdivides the polygons so as to make the mesh symmetrical. Then we have "Flat 3 Face". That option takes each polygon in the model, and divides it into 3 new polygons. "Flat 4 Face" divides each polygon into 4 new polygons. "Smooth Exclude Border" and "Smooth Include Border" are the last two sub-division types. Both these types of sub-division divide each polygon into 4 new polygons and then changes those polygons so as to smooth the object. If you're working with a closed object, include border and exlude border are identical. However on an open object (such as flat plane), one should use exclude border, because that option doesn't subdivide the border polygons, giving the mesh a better appearence. |
After increasing roundness 4 times: |
Our next option is increasing or decreasing roundness. This is pretty self-explanitory. Note that roundness doesn't change the number or size of the polygons, it simply rearranges the verticies to give the object a rounder shape. |
After front edge is divided: |
Before fornt edge is divided: |
The next option we have is our two edge options. To use these options, we must be using the edge selection tool (E). The first edge option we have is called divide. This is basically a type of subdivision that works with the edges of polygons. What it does is that it takes the edge/edges you have selected, and divides the polygons that the edge touches into two seperate polygons. Look at the example below: |
Now, in this case, the shape of the mesh isn't actually effected. And thusly, turning the edge was rather pointless. This, however, is not always the case. |
After: |
The second thing we can do to an edge is turn it. |
Its kinda hard to visualize. But what I just did to the edge was that I turned it, except this time I turned the edge so that it goes down diagnolly instead of straight across. In this scenario, turning the edge dynamically changes the shape of the mesh. |
Sometimes turning an edge can immensly effect the shape of a mesh. Look at the example below: |
That basically sums up the tools in Swift 3D's advanced modeler. By subdividing meshes, turning edges, and moving verticies, very detailed models can be produced. Below I have some links that will be useful in learning about the advanced modeler. |
Creating new Materials/Textures |
Creating new Materials/Textures |
This teaches you to make your own materials and textures. |
Adding Preset Materials from the Gallery |
Adding Preset Materials from the Gallery |
This goes over adding materials and textures to the objects you modeled in the last chapter. This doesn't go over creating your own materials/textures, rather it goes over using those that came with Swift 3D. |
Manipulating Shapes |
This covers rotating shapes using the trackball or manual numeric input. It is very short. |
Swift 3D Chapter 2: Materials, textures, and rotation. |
All the previous chapters have covered how to add objects to the scene editor, however now you will learn how to manipulate the orientation of objects you have added to the scene editor. There are two ways to undergo this process. The first way is by clicking on the object or on the toolbar on the left. |
The one on the right is lighting, which is important, but is also a few concepts away. The one we're concerned about now is the trackball on the left. That's the rotational trackball. To use the rotational trackball you need to have an object selected. As you can see, the cross I created is in the trackball because it has been selected. |
The first way of manipulating object we'll go over is by actually touching the object or using the rotation trackball. At the bottom of your screen, you'll notice that you have 2 rotational trackballs. |
With your object selected, click on the trackball and drag your cursor around. You'll see that you have the ability to rotate your object around what is called a pivot point. By default, the pivot point is at the center of your object, however later in this lesson you'll learn how to move the pivot point. The rotations you make on the trackball will affect the position and orientation of the object on your main viewport. |
This changes the trackball so that any dragging done moves the object in a clockwise or counter-clockwise fashion. |
Having this option selected restricts all trackball rotation to the y axis. |
Having this option selected restricts all rotation done on the trackball to x axis rotation. |
The trackball has a few sets of options located to the left of the trackball to make your rotation easier |
In general, trackball rotation is easier then manually inputing rotation angles, however the later is more effective when precision is important. To manually input rotation angles, select the object you wish to have rotated, and select the rotation option on the toolbar to the left. |
At this point you'll see options for what degree the object should be rotated along each axis. At this point you can choose to set rotation values for your object or you can use the reset button at the bottom to turn rotation values to the default. You can choose whether you want to rotate on the local or global axis. I've always prefered the use of the global axis, but the local axis is sometimes useful if you have a large scene going on. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#0000cc" letterSpacing="0.000000" kerning="1"><a href="http://www.kirupa.com/developer/swift/transform.htm"><b>Kirupa</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#0000cc" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain (I know, I've put this link in every section, </b></a></font></p><p align="left"><font face="Verdana" size="12" color="#0000cc" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>forgive me!)</b></a></font></p> |
That's all you need to know about rotation. Remember to keep rotating objects to always get the best angles :) Play around and learn what technique suits you best! The links below have good tutorials on rotation. |
At the bottom of the screen, you've probably noticed before the gallery of textures and colors. Swift comes with a vast library of nice textures to use, however sometimes you will want to create your own and add them to the library. Creating new textures and putting them in the library will be taught in the next section. This section will focus on teaching how to take textures from the gallery and apply them to your mesh. The picture below shows the gallery as it appears in the scene editor. |
Adding Preset Textures/Materials to Shapes |
To add a texture to an object in the scene, editor, drag a material from the gallery onto the object where you want that material to go. That's pretty simple, and you might have learned that when you first opened Swift. However, there are many things you can do with textures in the advanced modeler. You can add multiple textures to an object and have tight control over how the texture in mapped to the mesh. To begin, enter the advanced modeler and create a sphere. |
In this mode, you'll want to create diffrent surface groups. Each surface group can be selected individually and given its own texture. Once in the edit texture mode, select the "face selection" option at the top. Then use that tool to select the part of your mesh that you want to give a diffrent texture. Then with that part of the mesh selected click the selection option on the left toolbar. On that toolbar click "Group selection". You'll notice that know you have two selection groups. Once you change from face selection to surface group selection, you'll notice that you have two selection groups. |
Next, click the edit texture button( ) on the toolbar seen below |
Here I have selected a part of my mesh to become a new surface group. To the right you can what the toolbar on the left should look like once I have a certain part of my mesh selected. The next step is to click on the group selection button seen below and at the bottom of my screenshot. |
You'll notice that while in the advanced modeler you still have the materials gallery at the bottom of the screen. Now you can give each selection group its own material by dragging it onto the surface groups. Below you can see what I made. It should be noted that I added some fills at the end to give it a cel-shaded look and make things more interesting, but you should still be able to get the idea. I also made it spin, for no educational reason, it just looks cooler. |
What we'll work on is changing the way the Earth is mapped onto the sphere. |
The technique you just learned allows you to very effectivly map multiple textures to an object. Normally, however, you have little or no control over how textures are mapped onto the surface (how large are the textures, what part of the bitmap is shown, etc.) The advanced modeler can give you precise control over how a bitmap is mapped to a mesh. Ok, create a sphere in the advanced modeler and enter material editing mode as was done before. Now drag the earth bitmap onto your sphere. |
Begin by creating a cube in the advanced modeler. Still with only one surface group, drag the Earth bitmap material onto the cube. After you do so, you should get something like this: |
As good as that result is, there are still reasons why you would want to manually edit how a texture is mapped. There are 3 things you can do to the material once you map it. These things are: 1. Move 2. Rotate 3. Scale There are two ways to access these controls. The first, is after you enter edit material mode, right click on the object. Then you will be able to look at the right click menu and see the options. The move, rotate, and scale options each have a small set of suboptions. For example, with move, you will be able to choose movement restricted to the x dimension, movement restricted to the y dimension, and so on. |
The three options on the left can be selected and will give you the ability to edit the material on the mesh the way you'd like it to. The option farthest to the left is move. Second farthest to the left is rotate. And 3rd farthest to the left is scale uniform button. |
While in edit material mode, there is another way to manipulate your material on your mesh. |
Also, at the bottom of the right click menu, you'll notice the options to reset the position, rotation, and scale. These are pretty convenient if you're trying to manipulate your materiak and you decide that the default material is better than the result of your transformations. Further down you can select four diffrent types of automaps for your material. I'd recommend seeing if you like the automatic material mappings in action before trying to transform the bitmap yourself |
One last thing that you should notice is that if you scale the object to make it very small, the Earth material will be repeated multiple times. If you're using a pattern, this effect will not be noticable. However, if you are using a bitmap, the repeating picture will be very obvious. |
This is just an example of a cool effect using a wide array of materials on a single mesh. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.3dvalley.com/phplinks/index.php?PHPSESSID=4f2776db86b01d46cba82549da756e0f&PID=53"><b>3D valley</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/blog/archives/2004/10/adding_complex_1.html"><b>Very advanced vector</b></a></font></p><p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/blog/archives/2004/10/adding_complex_1.html"><b>mapping tutorial</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain</b></a></font></p> |
That's all I will cover for mapping materials to meshes. Below are some helpfull links for learning this stuff. |
In the last section you learned how to take materials/textures from the gallery and add them to your meshes. Although Swift comes with an extensive array of materials, you may still want to have a material that's not in the gallery. When you create a new material, it will be added to the gallery and can be accessed the same way any other material would be. To create a material, go to the setup menu at the top of the screen, then scroll down and select materials. |
Creating New Textures/Materials |
The following menu will pop-up. |
You can choose to start by giving your material a name, or you can wait until your material is done to give it an appropriate name. |
You can create a new category for your new material, or you can create a new material in an existing category. Either way, click "add material" to begin. |
In a number of programs such as Pov-Ray, highlights are called "Phong". |
The next part you'll see is entitled Finish. By default the ambient color is black as is the reflection color. The ambient color isn't as strong as the reflection color, is sourceless, and has a subtle effect on the look of your material. The reflection color is what color of light your object reflects. If it reflects green, then your object will appear green, and so on. Generally, you want to choose the reflection color black. |
Back in the material menu you can use the slider to select the strength and size of your highlights. I prefer them large and weak, but that's just me... |
Highlights |
The next section you'll come across is called color. In addition to interacting with light, your color can have a design on it. In the drop down menu you can pick a design or on the bottom you can choose to import a bitmap as your design. You can also give your design a color. Scale is the size of your design and noise is the effect/power of your design on the object. Transparency and brightness are pretty obvious, generally set a low transparency, and brightness is usually around the middle of the slider. |
Above that, the pattern you choose determines how the elements of the gradients interact with each other. For example, if you pick procedural checkerboard, your first color will be lined up diagnolly across from your second color, like a checkerboard. |
For your color, you may want to create a gradient. If you click directly below the color box, you can create a small arrow. If you click on this arrow, you can give it a color. Each arrow can have a diffrent color, this is how a gradient is made. |
Epic Masterpiece: |
In the patterns scroll down menu, at the bottom, you can choose to import a bitmap image. If you select bitmap image than Swift will ask you to browse your computer to select a bitmap to import. In this example, I will import one of my most epic masterpieces in order to superimpose it on a sphere. |
The last part of the material we can modify is the texture. The texture is the sort of shape of the material. Is it wrinkeled? Is it smooth? Is it dented? In this section you can choose what kind of texture you want your material to have by using the drop down menu. After you select your texture, you can edit the scale of the texture. For example, a texture with procedural dents and a high scale will have a few large dents, while a texture with a low scale will have many small dents. The higher you set noise, the more your pattern will be scattered and randomized. The amount affects the amount of that texture. |
Once you have your texture, click ok, and then you can see your texture wherever you put it in the gallery. Below you can see what I made using my own texture. |
Dang that's scary! |
This is my masterpiece from before, superimposed onto a cube. It looks even better than the original... In a Flash movie or game, well drawn monsters like this with the subtle addition of 3D spinning cubes can add an aura of fear and death! |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="www.erain.com"><b>Electric Rain</b></a></font></p> |
That covers all you need to know regarding the creation of your own textures. One application I can recommend is taking your artwork and superimposing it on a mesh. Also, don't hesistate to edit some of the materials that came with Swift 3D, possibly reducing the highlight strength. I haven't been able to find alot of tutorials on this, so I can just recommend doing some at Electric Rain, a few of the tutorials reference this topic... |
Creating Custom Lighting |
Creating Custom Lighting |
This teaches you how to create your own custom lighting scheme. |
Adding Preset Lighting and Environment from the Gallery |
Adding Preset Lighting and Environment from the Gallery |
This teaches you to add lighting schemes to your movie that came with Swift 3D. It also teaches you what the environment is and how to add preset environments. |
Swift 3D Chapter 3: Lighting |
In the gallery, you've already learned about how you can save and access models, materials, and bevels. But did you know that you can also access lighting schemes and something called an environment. Lets start with the lighting scheme. When you begin a project in Swift, you began with what's called the default lighting which places two lights at the top of the stage. Similar to how there are a wide array of materials that you can apply to meshes in the gallery, there are a wide array of lighting schemes that you can apply to your stage. In the next section I will cover creating your own lighting scheme and saving it in the gallery. Right now I will cover the basic topic of using lighting schemes from the gallery. I will also cover environments. |
Adding Preset Lighting or Environment |
Click on the flashlight button in the top right to access the lighting gallery. To add one of the lighting schemes to your scene, simply click and drag the lighting scheme of your choice onto any part of the scene. You will notice four diffrent types of lighting: animated, colors, mood, and stationary. If you add an animated lighting scheme, the length of your movie will increase to accomidate the length of the animating light scheme. |
To access the lighting schemes in the gallery, look to the bottom of your screen. |
Play around with the lighting scheme to see what you like. Some of my recommendations are 3-point, cloudy, scary, hollywood, Disco, Alien, and Cold. Be sure to check those out. |
Environment |
Mesh |
Camera |
The second part of this section covers environments. Enviroments are a difficult thing to explain. The diagram below might help. |
The environment is a picture that can be applied to a scene. One can never actually "see" the environment though. However if one has a reflective object on screen, one will be able to see the environment reflecting off of it. Below you see a stage with a single sphere on it as a model. The model has no design or picture on it, rather it has a highly reflective surface and the environment picture is of a sunset. |
As a note, no matter what way the camera is turned, the environment will NEVER be directly visible, but it will always been seen on ighly reflective surfaces. Creating a new environment is very, very similar to creating a new material, as was covered in the last section, so I won't go over the entire process of creating a new environment. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain Tutorials</b></a></font></p> |
For this I can again recommend going to Electric Rain, they have tutorials on almost everything. |
That basically covers how to add preset lighting to the stage and using environments in Swift 3D. |
Although Swift's default gallery has extensive lighting options, you may have a desire to modify a lighting scheme, or even create your own, and maybe add that to the gallery. To begin, add a mesh to the screen and look towards the window like the one below. |
Custom Lighting |
This area is your trackball. In the trackball, the giant white sphere represents all of the models on your stage. And on the trackball you can see lights attached to the outside of your stage. By clicking and dragging the lights, you can change how the stage is lit. |
Clicking this button allow you to set the rotation increment. A higher rotation increment means that when you rotate the trackball, your rotation will occur in large chunks, or increments, a lower rotation increment means that rotation will occur in small and fine motions. |
While this option is selected movement of lights or the trackball will be limited to clockwise or counter clockwise rotation. |
While this option is selected, manipulation of the trackball or a light on the trackball is restricted to the y axis. |
If this option is selected, it restricts manipulation of the trackball or a light to the x axis. |
If you have a light on the trackball selected and then press this button, that light will be deleted. A better way to delete lights is to click the light, go to the keyboard and press the delete key. |
This button adds a spot light to the trackball. Unlike a point light, a spot light sends a focused beam of light in a single direction. On the trackball, a spot light in represented by a flash light. |
When this button is pressed, a point light will be added to the trackball. A point light sends light in every directions in equal amounts. |
This trackball shows your lighting scheme. |
What you just learned is called Trackball lighting. If you click on a light on the trackball, you can edit its color by going to the menu on the left. In that menu you can also toggle shadows, lock the light, or a number of other options |
Remember before when you learned to take lighting schemes from the gallery and add them to your scene? Well, if you're working on a project and you create a lighting scheme that you'd like to add to the gallery, go to the file menu and click "Save Lighting..." as can be seen below. |
Click there to save your trackball lighting scheme. |
Now you're probably thinking "This section must be over". But you're wrong. YOU'RE WRONG!!!!!! This section isn't over yet, because trackball lighting isn't the only kind of lighting. There's another kind of lighting that's called Stage lighting. In this system lights are added to the stage and can be manipulated on stage similarly to a model. Trackball lighting can be used along scene lighting, although I wouldn't recommend it. I'd recommend using either scene lighting or trackball lighting 100%. Trackball lighting is easier because it is faster and easier than using Stage Lighting. Also, when one produces a good lighting scheme using trackball lighting, that scheme can be added to the gallery and reused with ease, not so with scene lighting. |
But I would be lying to you if I said that scene lighting didn't have its advantages. The first key advantage is precision. Lets say I have two spheres on my stage. In order to put a light between the two, I'd have to use stage lighting. Also, stage lighting is helpful if your scene includes a model that you want to appear to be eminating light. With trackball lighting, light originates from outside of the stage. With Scene lighting, light originates at any point inside the stage. Generally large projects with well developed scenes and defined light sources would need to use scene lighting. However, if you're making a spining logo for the banner of your webpage, I'd stick with trackball lighting :) |
Here's an example of where track lighting is advantageous... |
Target Spot Light |
This is probably the best type of scene lighting available. This light has a target as well as the actual light. If you move the target however, you redirect which direction the light goes. |
Light |
Target |
Free Spot Light |
Like the free point light, this light has no target. That makes aiming this light correctly a tedious task, and because of that, I rarely if ever use this type of light. As you might be able to guess, you'll have to use the rotation trackball to guide this light. |
Target Point Light |
This type of light radiates light equally in all directions. It is diffrent than the free point light light in that this light has a target, as can be seen to the right. I rarely use this light, as I don't find the target to be useful, as it has no baring on how light is radiated. |
Actual light |
Free point Light |
This type of stage lighting radiates an equal amount of light in every direction. |
Should you find yourself creating a complex scene, you'll need scene lighting, so I guess I should explain how to do it. First of all, when you create a scene light, it will appear as an object on the stage, just like any other shape or mesh. So, to begin, look to the top toolbar in Swift 3D. The four options you'll see are displayed below, rollover them to learn! |
My advice is to try and use the trackball lighting for most projects, and save the scene lighting for the complex projects. For scene lighting, I'd recommend using the free point light and the target spot light the most. The last thing I'll teach you in this section is creating a light bulb that radiates light onto the rest of the scene. Because this is a lighting tutorial and not a modeling tutorial, I will simply use the light bulb model from the gallery. My first step will be to take the light bulb model and drag it onto the scene. My second step will be to make my light emitting part transparent, so that when lights are put inside the model, the light will be able to escape the model and affect the scene. I will make my light bulb transparent by going to my material gallery and going over to the transparent section. If I give my model a colored transparent material, then the light escaping it will be made to be that color. Yep, Swift is smart :) |
My next step will be to add two free point lights to the scene. I will then move those lights so that they are inside the model, as is seen below. |
Click on the two point lights, and drag them onto the model called light-bulb. To take the lights out of the model's hierarchy, click on them, and drag them onto the symbol on top called scene. |
The next step I will give isn't neccessary, but its a good idea. Do you remember when I went over hierarchies? Remember how if you add multiple objects to a single hierarchy, you can select and move them all at the same time? Of course you don't. But I'll keep on talking anyway. Once you create your lights and put them inside the light bulb, you should add the lights to the light bulb's hierarchy. After you have done that you will be able to move the light bulb to a diffrent location while moving the lights with the light bulb automatically. To do this, look to the hierarchy on the left. Than drag the two light symbols onto the symbol of the mesh. The picture below should help. |
That basically sums up my lesson on scene lighting. I apologize that I couldn't find any links for Scene lighting tutorials :( But I feel this is a pretty shallow topic and I may have been able to meet the bulk of your learning needs. Below is an application of some custom lighting, its pretty :) |
Reinforcement Quiz |
Reinforcement Quiz |
This is a comprehensive quiz designed to help you isolate what parts of Swift 3D you need to study. If you get a question wrong, you get an explination of the right answer :) |
Exporting |
This teaches you the ins and outs of rendering and exporting your Swift 3D projects. It goes over vectors and rasters, as well as all of your export options. |
Animation |
This goes over animating in Swift 3D, including orient to path and using the timeline. |
Custom Camera and Viewport |
Custom Camera and Viewport |
This goes over creating cameras and using viewport options to get new and customized perspectives on your scenes. It also goes over changing viewport options to preserve CPU. |
Swift 3D Chapter 4: Beyond the Basics |
Up to this point you probably have become familiar with the viewports. Those are the two pictures on the left and right of your screen which show the image from two diffrent perspectives. The two default perspectives are front and top. The image on the viewport to the left is what will be rendered and exported by swift. |
Custom Camera and View |
On either of your viewports, click on the button in the top left of the viewport. |
One of the viewport options above is not self-explanitory. And that is the perspective view. The perspective view is a dynamic viewport that allows you to click and drag a small camera shaped object around the screen to set the perspective. For example, dragging the camera down would lower the camera angle. Once you enter the perspective viewport, using it will be rather intuitive, I promise :) I personally dislike the perspective viewport, and prefer to create a custom camera. |
This part of the menu allows you to select which perspective that viewport takes. Most of these viewport options are self-explanitory, however it should be noted, that if a camera is created, it will be added to this list. Also remember that the perspective your left viewport takes is the perspective the movie will be exported in. |
You'll see a drop down menu, the top of which is shown below: |
Wireframe consumes very little CPU, and should be used if good performance is a priority. Texture smooth shaded shows a lot of detail, but can cause severe slow down on your PC. |
This controls how objects are shown in the viewport. In deciding which option to use, you will have to find a compromise between clarity and CPU. Using texture smooth shaded will show your models in the viewport with their textures showing as well as a basic lighting display. Smooth shaded shows lighting, but doesn't show the material or texture on your model. Flat shaded takes away the smoothing applied to your model. And wireframe simply shows the edges of all the polygons. |
The second part of the viewport options are shown below: |
Wireframe |
Flat Shaded |
Smooth Shaded |
Texture Smooth Shaded |
You can change the reference grid so it shows line running through the x-y axis, y-z axis, and z-x axis. Unless you're trying to line two objects up in some specialized scenario, I'd either turn the reference grid off, or only use x-y axis grid. Using all three grids is too many lines, its very annoying. But, play around with it yourself and find what you like. The show option gives you the choice to show hidden items and something called an animation path. I'd recommend using the show animation path option sometimes so you can see how you moved things throught the course of your movie. |
These next two options aren't that important in my opinion. As you can see you are given the ability to edit the reference grid. |
Draw back faces option basically asks you whether you want Swift to draw the part of the object that you can't see (which is the back) I've found this to be a rather unimportant item if you're using texture smooth shaded view. However this can change how your mesh looks dramatically if you're using a wirefram view. The wireframe view is generally clearer if you have draw back faces set as false. Frame all is sort of a zoom option for the stage. If you select frame all, the view will be resized so that all models, lights, and anything else on the stage will fit inside the viewport. If you select frame all objects, the view will be resized so that all models fit (it doesn't care about lights) Reset view, well, resets the view size to the default. |
The maximize option will make it so that you're only working with one viewport. The show all viewports option will reverse that decision and give you back your two viewports. I'd recommned working with two viewports though. |
You have two options for cameras. The first is the free camera (left). I would not advise you to use this camera as its lack of a target makes it difficult to aim. I'd instead recommend the target camera on the right. This camera is a good choice because the target allows you to easily see what the camera will capture, and makes animating it much nicer. To add one of the cameras above to the stage, look to the top toolbar on the screen and you will see the items shown as they are above. Click the target camera (right). |
Most of the time, a scene can be effectivly caputered through the front, top, right, or left views. However, sometimes, the developer will want to create a custom view, one that he can move around and animate during the movie, and manipulate to his liking. |
The Custom Camera |
This is where I will begin the process of explaining how to use the camera. In my experiences, I have only used the target camera, so that is the one I will explain (Yes, I do realize how egocentric that is) After you add your target camera, you may notice that its only partially visible (or possibly not visible at all) on your viewports. To fix this, go to your right viewport and scroll down the options to "Frame All", and you'll notice that the object is visible in that viewport. Then go to your left viewport, and scroll down that viewport's options. You will see options such as "left", "right", and "top", but below them you will see an option called "Target Camera 01" (unless you changed your camera's name). You'll want to click that option. When you have your left viewport as the camera, you'll want to set your right viewport as something complementry to that. I'd recommend using front or top, and switching that viewport around frequently during the development process. Click frame all on the right viewport to ensure that the camera is visible. |
Drag this |
Using your left viewport as a custom camera, and manuvering that camera and modles using the right viewport is the most effective technique I've found for viewing complex scenes. The left viewport, which is showing what the camera sees, can have the camera's target moved whilst in the camera's viewport. What this means is that while you're in the camera viewport, you can click on a red square at the center of the view (as seen below) and drag that in any direction to move the target of the camera. |
Camera lines. Shows user roughly what will go into the camera. |
Target, center of camera's view |
Camera as object. |
On your left viewport (which is the target camera), you can move and manipulate the direction the camera points. As well, you can manipulate the direction your camera points on a front, top, back, etc. viewport. To find the camera in a secondary viewport, click in the top left corner and select frame all as we did earlier in this tutorial. From your secondary viewport you can move the target of the camera as well as the position of the camera itself. |
So, you've learned how to create and manipulate the camera across the scene, as well as using viewports effectivly. In my opinion, creating the camera should be a decision early on. For most simple scenes, a camera is rather pointless, as the viewport presets do just fine. However, the camera is an invaluable asset for complex scenes. Whenever using the camera, I suggest using the two viewport layout I suggested (unless you have your own system) and remember that whatever is in the left viewport is what will be rendered when you go to the export editor. |
This is an example of an animation made using a custom camera. In this animation, the objects never move, only the camera. As of this point, you probably don't know how to animate the camera, or any object for that matter, but you do know how to create the camera. Learning to animate cameras and other objects on stage is the next lesson. |
Sadly, this has been a rather short concept. However the lessons can be invaluable to creating a complex scene. I cannot say I have found many tutorials dealing specifically with this topic, so all I can really recommend is just going back to Erain's tutorial page. |
This following section will cover animation in the scene editor. Animating Lathes and Extrusions are covered in their respective sections! In this lesson I will go over using preset animations form the gallery as well as animating using the timeline in the Scene Editor. If you read the section on Lathes or Extrusions, animating in the Scene Editor should be a pretty easy transition. Below is an example of using gallery animations to quickly make a decent little clip: |
Click Here |
In all honesty, one of Swift 3D's biggest applications is making spinning logos for Flash websites. And that is why Swift 3D includes an animations gallery. Using this gallery, you can simply click and drag an animation style onto a model on the stage, and that model with be animated. To access the animation gallery, first look to the bottom right of the Swift 3D authoring environment. There you will see the gallery. Then select the animation gallery. |
Gallery Animations |
As you can see here, you have 4 (unless you added more) categories in the animation gallery. Each category has a wide variety of preset animations. To test out an animation, click on the picture above the animation's title. To apply an animation to an object on stage. Simply click on the animation, and drag it onto an object on stage. Then you will find that your timeline has expanded to fit this animation. |
Once you select the animation gallery, you'll see the gallery pop up to the right. It should look like the picture below (except you won't have the "Attacks" choice, as I added that myself). |
Onto this: |
Drag this: |
If you're familiar with the Flash timeline, you'll be both glad and frustrated to know that Swift 3D's timeline is much simpler than the Flash timeline. Swift 3D's timeline automates alot of processes. For simple tasks like animating a logo, this can be time-saving, but when animating a full character, the timeline can be a pain. The Swift 3D timeline is at the top |
Timeline Animation |
So how does the Swift 3D timeline work? 1.) It automatically creates keyframes when you edited a frame's content 2.) When you create two or more keyframes, Swift 3D will automatically create a tween connecting the two keyframes. Swift 3D will tween scale, material, rotation, position, pivot, and shear automatically. This means that if you enter the timeline and goto frame 40, and give the shape in that frame a diffrent material, position, and rotation, Swift 3D will automatically fill in the 38 frames connecting the two atuomatically built keyframes. 3.) To make it possible to edit an object throughout the entire movie (instead of on just one keyframe), you can turn animation on and off. 4.) In the timeline, you cannot create your own layers. Each shape/ mesh that you have on the scene has its own layers. Each shape has a layer for position, a layer for rotation, a layer for material, etc. That's a lot to digest, so I'll go through it step by step. |
By default, animation is turned off. When animation is turned off, the button is gray and says "Animate". To turn animation on, click this button. Once you have animation on, the button will turn red and will look like the button below. To turn animation back off, simply click the animate button again. |
The first key principle of the Swift 3D timeline is that you can turn the animation (and hence the timeline) on and off. You need to be able to turn animation off because of the fact that Swift 3D automatically creates keyframes and tweens. For example, if I had a small animation, and wanted to apply a material to a shape on both of the keyframes, I'd have to turn animation off. Anyway, to turn animation on or off, there is a small button at the top right corner of the scene editor. (Seen Below) |
That little redish-brown thing is your keyframe. You can drag the keyframe right or left to add frames or removes frames from your animation. |
This dark gray area is your tween. It was created automatically. |
All right, now go up to your timeline, and click on frame 20. Whilst in that frame, slightly change the position of your object. After you do that, you should notice that your timeline has changed to be like the one below. |
The second key principle of the timeline in Swift 3D is that it automatically creates keyframes and tweens. To demonstrate this, open up Swift 3D, and add a mesh to the stage. Than turn animation on. |
They key here is that we have a seperate layer of the mesh for all of its properties. Each mesh can have its keyframes moved around to change the start and the stop of the tween(transition). The red frames have no animation, the green frames do. Thusly moving those keyframes can change which keyframes (and how many) contain the animation. |
This keyframe starts the animation. The red frames before it contain no animation |
The green frames are the part of the timeline where the animation occurs |
This keyframe ends the animation. The red frames after it contain no animation. |
The third, and final, key principle I have to go over is the concept of layers. Once you add a mesh to the scene editor, that mesh with have a series of layers for each of its properties. Take the example below: |
Okay, that basically summed up animating in Swift 3D. All you have to do is select a frame on the timeline, change a property of the mesh in that frame, and then Swift will do the rest by creating a keyframe and a tween. Now, what can you animate with Swift 3D? Simply put, just about anything. Using the techniques I've explained, you can animate the camera, position of shapes, materials of shapes, and basically anything. Below is an example of camera animation. |
When you create an animation in Swift 3D where an object moves, Swift 3D fills in the objects position between the two keyframes. By default, it picks the shortest path possible for the objects motion. This gives objects a linear and sometimes difficult to customize motion style. That's why we have something called Orienting to Path. Orienting to a path allows you to have an object that moves in a curvey or complex trajectory. To orient an animation to a path, begin by creating a small animation in which an object changes its position, the steps of which are outlined earlier in this tutorial. To activate Animation Path mode, click on the button shown below. In the Swift 3D authoring environment |
Orient To Path |
Basically, we can control how the object moves from one point to another by editing our motion path. And, yes, that black line is the path your object will take. |
Once you do this, click back on your object. You should now see that there is a small black line displaying your object's trajectory, like the one below. |
You can also move the two blue dots at opposite ends of the motion path (black line) to change the starting and ending position of the animation. Just remember that the black curve is that path that the object will take, and that you use the small green squares (handles) to change the path. |
So, how do I change my motion path's trajectory? Well, that's what I'll explain. The small green squares connected by dotted lines to the path are called "handles". By clicking and dragging the handles, you can change the trajectory of the object, making it more or less elongated. |
This is the finished version of the example you just saw. A motion path was used to give the ball its curved trajectory. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain Tutorials</b></a></font></p> |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p> |
That basically sums up animating in Swift 3D. For more information on animating in Swift 3D, consider the links below: |
So, you know how to model, texture, and manipulate meshes. Now you might thing that exporting is just a matter of pressing the publish button and having a finish product spat out. That might've been true if Swift didn't have two diffrent rendering engines. Yep, two seperate rendering engines. The first is called Ravix and exports a vector, the other is called Electric Motion and exports a raster. (Although both export to SWF). Deciding which rendering engine is the key to your success, maybe even the key to your survival. If you make poor choices in the rendering, your picture maybe too distorted to be effective, or may be so large that your user will be disatisfied with the wait. |
Exporting |
In simplest terms, vectors are small in filesize but consume alot of processing power. On the other hand rasters are huge in filesize but don't require alot of processing power. Why vectors work the way they do: Lets say we have a circle. A vector file stores a series of rules for generating the circle while the program is being run. The vector file will store the radius of the circle, and the center of the circle, and will use the processing power to generate the circle at runtime. Because the vector file only stores a few rules, the filesize is extremely small. However, because the images are being generated at runtime, the computer's CPU is strained. |
Vectors vs. Rasters |
Rasters work quite diffrently: In a Raster, the file doesn't store a set of rules. Instead it stores the locations and colors of several tiny dots composing the image. For a detailed image, there are MANY tiny dots. That means that the Raster file is huge, having to carry the location of every dot. However, when the program is being run, the raster is very light on processing power. |
Because Flash is used over the internet, size is a huge priority. Oftentimes embedding too many raster files can make your Flash have horribly long loading times. For Flash, speed is usually less important than size. Oftentimes Flash is used to build small internet applications, where eliminating load times is more important than eliminating lag. That is why Flash uses primarily vector graphics. If you draw a circle in flash, you have created a vector, although you can still important rasters into flash. Because Flash Developers are looking to have very small filesizes, vector graphics are dominant. And that extends to Swift 3D. No one will wait 5 minutes so your animation from Swift 3D can load because you exported in a raster. |
What does this all mean for a Flash developer? |
In a recent exercise I performed, I took a 40 frame animation and exported it in raster and in vector. The raster was over 2mb, whilst the vector was under 100kb. This is an enoumous diffrence! And in terms of processing power, both the movies were able to run at a steady frame rate even whilst the application performed other operations. |
Quantitive Diffrences |
Raster |
Vector |
We've talked alot about vectors and rasters from a performance standpoint. But how do they stack up from a visual standpoint. In the context of Swift 3D, rasters tend to produce a more photorealistic look, whilst vectors tend to produce a more caroonish look. As will be gone over later, vectors have a number of exporting options, so their look is far from uniform. The examples below show the diffrences between vector and raster. |
Appearences |
As you can see, the vector definitly captured the color of what it was reflecting, but not all the intracicy. What you've seen should give you a good idea of the diverse appearences of vectors and rasters. Vectors are very dynamic, and their rich looks will be covered later in this tutorial. |
Vector |
Raster |
One thing to note is that vectors handle reflections much more poorly than rasters do, as well they tend to have much less detailed color. However, vectors have their cartoony appeal. |
Vector zoomed in |
Raster zoomed in |
Vector Normal Zoom |
Raster normal zoom |
When you zoom in on a raster, the image becomes pixelated, this however does not occur in a vector. Use the pictures below as a reference. |
Assuming you're planning to publish your Swift file in Flash, vectors are usually the way to go, especially if you're making an animation (because Raster animations are HUGE). Using vectors, one could produce a rich 3D animation for a website in well under a megabyte. Of course, which rendering option to use depends on your needs. If you plan to eventually turn burn your movie to a DVD (where filesize is irrelavent), than rasters are a good idea. Rasters are also feasible in a Flash if you're only using a single picture (which will be large, but manageable). |
Vectors, usually the way to go |
As of this point I've taught you that there are two rendering engines and I explained a little bit about them. I've talked about how they look, and how they perform, but I've never truly explained how they work. After you enter the preview and export editor, you'll be faced with the big question: vector or raster? In this tutorial, I'll begin by going over how to export rasters. Look to the left and you will see a toolbar that says "Export Options", that is where the bulk of this tutorial will take place. Once you have your export options in place and want to actually render, look to the right and select render all frames or render selected frames (rendering a single frame is useful for testing out multiple rendering options). |
Exporting options: How to get the most out of your rendering experience! |
The File Type |
This box displays what file type you raster will be rendered to. The default filetype is SWF, as that is the best export type for most applications. |
PNG |
This file-format is ideal for if you are interested in internet publishing. PNGs are very small in filesize and are relativly high-quality. This is a good format for web-based imagery although bmp is better for making DVDs. |
JPEG |
This is a popular Raster/image file format. If you are planning to print off your movie or burn it to DVD, this is a good choice. JPEG does produce compression artifacts if it is sent through photo-editing software. |
TIF |
This file format is extremely poor for internet publishing due to compatitibility issues. This format is also larger in file-size than Jpeg. However you can transfer a TIF from program to program with no loss of quality. So use this if you plan to edit your images in photoshop. |
BMP |
BMP produces images with a very large filesize, however the image quality is quite good and is best used in an application where file-size is not important. |
TGA |
This is one of the older file formats for animations. I've never found a good use for TGA. BMP always seems to be a better choice when file-size isn't a factor, and PNG is always better when filesize is a factor. |
The SWF |
This is probably the best choice. The SWF is the file type that can be uploaded to newgrounds, and the SWF can be easily imported into Flash. The one problem with this is that the SWF cannot be easily burned to DVDs and cannot go directly into most photo-editors. |
Below you will see the option to select your file format. Rollover the image below to read about the diffrent file formats. |
Your first option should be to look to the top of the output options and select raster. |
Export Options for Rasters |
So basically, if you're looking at putting an image or series of images on the web, I'd go with JPEG or PNG. For making non-internet images, I'd go with bmp. For making something you want to be read by the flash player, or imported into Flash, I'd go with SWF. SWF is very good for being distributed over the internet, although sometimes using an image file type is better. The next set of options you have go over quality settings. The first you'll encounter is Color Depth (unless you've selected SWF). Color Depth basically says how many diffrent colors the final image will be composed of. A higher color depth leads to a richer image, but also increases the filesize. The next option is antialias quality. Basically, antialias reduces jagged edges. High antialias (4 x 4) can virtually eliminate jagged edges. However, antialias increases filesize and rendering time. What setting you choose depends on how much quality you're willing to give up to make a small file. |
Once you have the render setting together, look to the right of the output options, and click generate all frames to render you entire animation, or click generate selected frames to render the frames selected on the timeline above. Generate selected frames is useful because it allows you to render a single part of the animation to see how effective your specific render settings were. |
When it comes to rendering vectors, you have a variety of complex choices. In fact, you have three categories of options: General, Fill, and edges. The first I'll go over is general. |
Vector Rendering Options |
You can switch between diffrent option subsets by clicking on the 3 choices at the top of the output options bar. |
Basically, you have a few subsets of options for exporting in vector format. Those are: General option, fill options, and edge option. |
General Vector Options |
The next page or so will be devouted to explaining the options seen above. |
The first major set of options we have is the General set of options which can be seen in the screenshot below. |
You can also choose to export to SWF, SVG, EPS, and AI. If your goal is to display your Swift file directly on the internet OR import your Swift file into Flash, SWF is the best file format choice. If you're looking to integrate it with Adobe Illustrator (as might be useful in print publishing), choose AI. SVG is sometimes used in web-design and EPS I've seen used in 3D modelers. But I personally always use SWF, as I'm sure most Flash Developers or Swift users will. |
The first option you'll see is target file type. The default you will probably have is SWFT, which stands for Swift 3D Flash Importer. This file format is a little unique, so pay attention. When you installed Swift 3D, it probably gave you a choice as to whether you wanted to install the Swift 3D Flash Importer. If you did install the Swift 3D flash importer, than SWFT files can be imported into Flash with seperate layers for diffrent colors, and a few other nice features. However, if you did not install Swift Flash Importer or if you don't really like the features of the SWFT, then simply choose to export in SWF instead of SWFT. |
On the other hand, if your target type is SWFT, you'll see a checkbox for an option that asks whether you want the file to seperate moving and stationary objects onto layers. If you're using SWFT instead of SWF, it seems likely you'd want to capitalize on this feature. However, you're still given a choice. |
As I go over the following options for exporting in vectors, I will work under the assumption that your target file format is SWF or SWFT. The next option below will depend on whether you're using SWF or SWFT target file format. If you have choosen SWF, you'll be given the option of file level. That option basicaly deals with what Flash Player version your SWF will be targeted for. Unless you're using a version of Flash older than Flash 5 or are aiming your Swift project at very ancient users, you'll want to keep this option at the default "Flash 5". |
The next option you'll come acrossed is also a question of file-size vs. quality. Although the natural thing to do is to crank up the detail level to high, the smart thing to do is to render a single frame at low, and if that isn't of sufficient quality, increase the quality level a notch. Oftentimes using low detail level can produce a sufficiently good product, but at a much smaller filesize. |
The next option down is called Curve Fitting. How you deal with this one is all a matter of file-size vs. quality. Because of how vectors are stored, curves consume way less filesize than lines. So turning that slider to the right can cut down on filesize alot, but it also might distort your final image somewhat. They key here is to find the right compromise for you own project between size and quality. |
However if you don't combine edges and fills, the edges and fills in the SWF can be breaken into seperate units rather easily. The best advice on this option: Keep this box checked unless you have a good reason to uncheck it. In most cases, combining edges and fills is the clear choice. Combining edges and fills reduces filesize and also makes the final SWF easier to work with unless you have a specific reason to want to have seperate edges and fills. |
The last general option asks if you want combine edges and fills. . Edges are the lines surrounding your object and fills are the colors that well, fill, your object. The next couple of pages will explain edges and fills more effectivly. Basically, if you import an SWF into Flash with combined edges and fills, your Swift object is one unit where the edges and fills are hard to seperate. |
The Fill is the color that is between the edges. It truly does "fill" the object. |
The edge is that thin circle that surrounds the object. |
The other two parts of vector rendering options are Edge Options and Fill Options. But before I explain the options for edges and fills, I must explain what they are. In a vector made in Swift 3D, there are two basic components: Edges and Fills. Edges are lines and curves that outline your object. Fills are the colors that permeate the bulk of an object. This is a little akward verbally, so I've provided a visual example below. |
Edges and Fills: They compose vectors |
No Fill, only edges: |
No edges, only fill: |
As a further example, I have shown the same shape, one where edges are ommited, and one where fills are ommited. |
Well, I hope that brief little talk explained succesfully what a fill is and what an edge is. Now its time to actually explain the options you have. To be honest, its really amazing how much variety can be made from one scene just by changing the fill options. To be clear, edge and fill options don't change the actual color of your meshes from the scene editor. Rather the options change how the colors of your mesh are displayed, the varities of which can be dramatic. Our first step in this two part process will be fill options. |
Above you can see the fill options that I'll go over. The first option is pretty simple, you can choose whether or not you want fills. And unless you want to have an SWF that is just outlines, I recommend you check this box. The option below is the major one: The Fill Type. This is very, very important. I will spend the next few pages going over the fill types one by one. |
Lowest File size, Lowest Color Detail |
This is the first fill option we have. This fill option basically boils down every material you have to a single color. Quite honestly, this fill option doesn't do most 3D scenes justice. However, this fill option is as good as it gets when it comes to file-size. |
Cartoon Single Color Fill |
This is a step above Single Color fill in terms of color detail, but sadly it is also a step above in terms of filesize. This fill type was created as a compromise between size and quality that would suit the needs of most designers looking to add simple 3D animations to websites. I personally don't think Average Color Fill is that great of a compromise, but ultimatly what is the best compromise will depend on where you're aiming to use your Swift application and your own aesthetics. |
Cartoon Average Color Fill |
This option is a dramatic visual departure from the two Fill types I just went over. But in many ways, that is a good thing :) This consumes more file-size than average color fill, but also is more detailed and very diffrent visually. In this scheme, the object has two distinct colors, generally a light and dark variation of a certain color as to reflect lighting. This is one of my preffered methods for Swift 3D exporting. Its not prohibitivly large, but it also packs a visual punch. |
Cartoon Two Color Fill |
This fill type is similar to the two color fill, except that it has four colors on the object instead of two. Generally the colors on an object are diffrent shades of material on the object which reflect the lighting hitting the model. The use of four colors to fill instead of two makes the scene more detailed, but it also makes the object higher file-size. This is my ultimate favorite of all the fill options for most applications. Aesthetically I love the cel-shaded look, and the file-size is pretty good for what you get. |
Cartoon Four Color Fill |
Our next option is the full color fill. This option is rather diffrent because instead of assigning every model a few colors, this assigns each polygon a color, giving it a very detailed look. This fill type produces a hefty file-size, so use it cautiously. This produces a better image (but also a much larger image) if the models used have a high polygon count. |
Cartoon Full Color Fill |
The models produced by Area Gradient Shading have a certain appeal to them. In this scheme a single complex gradient is applied to an entire mesh. In most cases, this produces objects with relativly small file-sizes, so I'd be sure to check this one out :) |
Area Gradient Shading |
(I couldn't make this an animation because it added too much to the filesize) |
This is our final fill type. It is the most consuming in terms of file-size and it is also the most detailed. This Fill type basically applies a gradient to each polygon, giving the overall SWF a huge file-size. I would rarely recommend recommend using this, just for file-size reasons. This can produce extremely detailed images and animations. One time I was able to produce a vector using this file type that displayed an image near flawlessly, but the vector file turned out to be much larger than the raster equivalent >< |
Mesh Gradient Shading |
Cartoon Single Color Fill 9 kb Cartoon Average Color Fill 15 kb Cartoon Two color Fill 47 kb Cartoon Four Color Fill 104 kb Cartoon Full Color Fill 292 kb Area Gradient Shading 12 kb Mesh Gradient Shading 778 kb |
Test: Mesh with 1684 polygons |
Well, in the last few pages I summed up all your diffrent fill types. I gave you good examples of how they stacked up visually, but I only gave vague explinations of file-size. Below I will explain a study I did where I created a single mesh, exported it with diffrent fill types and compared their file-sizes. |
How do the file-sizes actually stack up? |
Including specular highlights, well, includes these highlights or glints on the objects. The number of Specular levels you choose changes how detailed and complex the highlights are. I personally find this option to only be useful in the rendering of complex scenes. |
Alright then, that basically sums up your diffrent Fill Types. The option below fill type is called "Specular Highlights". Basically, specular highlights are concentrated light reflections. They are the bright glints that come off of shiny objects on a sunny day. |
Opaque Object |
Shadow |
The next two options are pretty self-explanitory. Including reflections includes lights reflected off of objects into the scene. Reflection Depths might take a second of explaining though. The reflection depth is the number of times a reflection can be bounced from object to object. I've found that using a reflection depth of 2 or 3 usually does the trick, and the benefits of higher reflection depths tend to be negligable. Shadows are pretty self explanitory. You should know what a shadow is. But if you don't I'll explain it. A shadow is a region of darkness which has resulted from an opaque object blocking a light source. |
Well, I've gone over the general and fill options for vectors, edge options is going to be the conclusion of my explination of vectors. The edge options I will explain can be seen in the screenshot below. |
Edge Options |
Outlines: |
Entire Mesh: |
The next option we have is a little more complicated. You are given a drop down menu which asks if you want to have your edges be "Outlines" or "entire mesh". Basically, if you choose outlines, edges will be drawn only when the object end, or when one mesh touches another part. "Entire mesh" draws the edge for every single edge in the mesh. |
The first edge options is very simple. It is a choice of whether or not edges should be included in the first place. The default is that edges are off. To be able to edit edge options, you must click to include edges. |
Hidden edges: |
No hidden edges: |
The example below should help: |
The next option down is including hidden edges. Hidden edges are edges that exist but are hidden to the user due to perspective. |
Our next option: Detail Edges, is a little bit more complicated. Before I basically said that you can have Entire Mesh, which shows all the edges of every polygon, and you can have Outlines, which shows only the edge of every object. Whilst you have those two major options, if you selected Outlines, you can include detail edges to make the object sort of a hybrid between Entire Mesh and Outline. If you selected Detail Edges, you can control how many detail edges it draws, giving you precise control over what your edges look like. The option on top that says include detail edges is an on/off button. And below there is an option that allows you to choose a "Detail Edge Angle" from 0 to 90. If the Detail Edge angle is 0, the mesh will have every single edge for every single polygon drawn. If the detail edge angle is 90, no detail edges will be drawn. If you choose any number in between 0 and 90, you'll get a differing number and style of edges. That's a bit complicated so I've included some visual examples. |
Setting detail edges right takes alot of experimenting to see what option suits your needs. Today I've shown you the two polar opposites, but there are alot of possibilities, so keep experimenting. |
Has Detail Edges Detail Edge angle 0 degrees |
Has Detail Edges Detail Edge angle 90 degrees |
Line Weight is basically the size of the edges. Hairline is the smallest and 10.00 pt is the largest. My personal preference is 2.00 pt. Hairline is sometimes not noticable and some of the really line weights can overpower other visual elements. The next option is pretty simple too. Line Color controls the color of your edges. I personaly find black to be much better than other colors, but I still advice you to play with the colors to try to make some new and original looks. |
The next (and last) two options are pretty basic. |
Since you've already selected the target file format and all the export options, all you have to do when you press the button is name your file and choose where you want the exported frames saved. |
Well that basically sums up export options. Now that would be the conclusion. But there are still a few things left : ) Okay, once you render your scene, go to the top right corner and you'll see options that say "Export All Frames" and "Export Selected Frames". If you want to export an entire animation, press Export All Frames. If you only want to export a single frame or a group of frames, hit Export Selected Frames. |
Once you've imported the animation into the library. Press Ctrl +L to see the library, and drag an instance of the animation movieclip onto the stage where you want it. The Flash section (following the Swift tutorial) will explain, libraries, instances, and lots of other good stuff. |
Since many of you are probably interested in integrating Swift 3D into Flash, I'll go over the process by which SWFs from Swift can be brought into a Flash FLA (its very simple). Okay, when you import your Swfit SWF into Flash, it will enter Flash as a series of keyframes. Now, you first plan might be to enter flash, then import your Swift 3D SWF to the stage. That's not a good idea because each keyframe will be on the maintime line, which isn't as neat and tidy as having the entire swift animation in one MovieClip. To do this, go to File > Import > Import to Library. |
Well, that basically sums up rendering in Swift 3D, and in fact it sums up all the actual Swift 3D lessons I have to offer. However, the next topic in this tutorial is a brief quiz designed to test and reinforce your knowledge. I leave you with yet another reason to question my intellectual faculties. |
This section is sadly the conclusion of this Swift 3D tutorial. *cries* This tutorial begins with a nice little quiz that tests what you'e learned, as well as a list of links. A note on the quiz: You will be given a list of choices. Selecting the right choice will skip the explination and send you to the next question. Selecting the wrong choice sends you to an explination. No ones keeping score, the quiz is just there to help you find out what you don't know. Its easy to "cheat". I realise that you can use hotkeys to skip around the quiz at will. But it's not really the kind of quiz where you'd want to cheat (because there's no point). |
Quiz and Knowledge Reinforcement |
I don't know |
Scene Editor |
Extrusion Editor |
Advanced Modeler |
Lathe Editor |
For modeling a soda bottle, which of the below tools would be the most effective? |
This question asks what is the best tool for modeling a soda bottle. First of all, a soda bottle has radial symmetry, which makes it perfect for the lathe editor. Lathe editor was the correct choice. The scene editor is wrong, because only primatives can be added. There is no primative that accuratly represents a soda bottle. The Extrusion editor wouldn't work, because the extrusion editor just gives depth to 2D images. Although one could make a 2D outline of a cup and give in a circular bevel, that wouldn't produce a very nice looking or precise bottle. The advanced modeler could make a soda bottle, as it can make anything. The easiest way to do it in my mind would be to create a cylinder and scale certain parts of the cylinder to give it a wide and then narrowing look. However, that would take longer than creating the same thing in the lathe editor, which makes it a technically inferior choice. |
You got it wrong. Time to see why. |
Which of the following does not have its own timeline for animation? |
Well, this is the kinda thing you just have to know. And its the kind of thing you'll need to know. The Scene Editor has the main animation timeline, whilst the Lathe Editor and the Extrusion editor have their own timelines for objects they output to the scene editor. The advanced modeler has no timeline, making it the correct answer. |
Why did you get it wrong? |
Face |
Side |
Vertex |
Polygon: |
Which label in the diagram below is wrong? |
What you just saw was a standard polygon used in 3D modelers. The center part of the polygon is called the face, which was labeled accuratly. The 3 points of the polygon are called verticies (plural for vertex). That part was labeled correctly. The lines composing the polygon are called edges, not sides. That part was not labeled correctly, and was the right answer. But hey, labeling polygons doesn't matter, right? Wrong! Understanding the terminology of 3D modelers or any science is neccessary to communicate with other workers in your field and is needed to exploit the technology to its fullest potential. So learn that vocab! |
You got it wrong, time to see why! |
Infinite |
Circular |
Bilateral |
Radial |
A lathe editor object has which type of symmetry? |
This question asks what kind of symmetry all Lathe Editor objects have. The correct answer is radial. That means a theoretically infinite number of lines of symmetry can be drawn through the object's center. Circular and infinite sound right, but aren't the right words. Bilateral is wrong because bilateral means 2 lines of symmetry. |
You got it wrong : ( Time to see why! |
The scene is being rendered as a vector |
The scene is simple |
The scene is being rendered as a raster |
The scene is complex |
Trackball lighting is better than scene lighting when _______. |
Trackball lighting is the best lighting scheme for simple scenes. That is because it is easy to use, and gives you rather good control for the time it takes. Also, trackball lighting schemes can be saved and reused. Trackball lighting is usually bad for complex scenes because they can't be located inside a certain object (like a lamp). Trackball lighting and scene lighting are good for vectors and rasters. Although an arguement could be made that vector animations can't reap the same benefits from scene lighting that vectors can. If you're making that arguement, pat yourself on the back (metaphorically of course). |
You got it wrong, time to see why :) |
They can be imported into Flash |
They're more detailed |
They have a smaller filesize |
They are easier on the CPU |
Vectors are better than rasters because __________ |
The correct answer is that vectors consume less filespace. The first choice is wrong, because (at least as far as Swift and go) rasters are harder on the CPU. The third choice is wrong. Although vectors can be more detailed than rasters, this isn't an inherent advantage to the file format. The fourth choice is wrong becuase both vectors and rasters can be imported to Flash. |
You got it wrong or didn't know... :( |
Abandon his project. |
Change one/both of the viewports so they show objects in Wireframe or Flat Shaded mode. |
Learn to ignore the lag. |
Delete the high polygon meshes. Anything that causes lag isn't worth keeping. |
A man is composing some objects he made using the advanced modeler. In the scene editor, he is noticing lag when viewing multiple high-polygon meshes. He should _______________. |
The right answer was to change the viewing settings for one or both of the viewports. Deleting a good high polygon mesh isn't a smart thing to do, because you're pouring your work down the drain. Living with the lag is not smart, because there's a work around. And giving up is never the answer!!!!!!! When experiencing lag, changing the viewport settings is a good idea. To do this, click at the top left of the viewport where it says "front - Active" (or something else). And scroll down. If you haven't changed it, there will be a check next to "Texture Smooth Shaded". This setting is very CPU intensive. To save CPU and prevent lag, select an option such as Flat Shaded or Wireframe. |
You got it wrong : ( |
False |
True |
Models can be stored to the gallery |
Models |
The lol thing is a joke. Laughing at someone's mistake isn't nice or appropriate. Anywho, you can save models to the gallery. Just go to file, scroll down to save model, and the rest should be pretty easy. To retrieve your model, go down to the model, go down to the left of the gallery, and select the model gallery |
You got it wrong. lol... |
Games can be made inside Swift 3D. |
Games cannnot be made inside Swift 3D. The reason is because Swift 3D has no scripting language. Swift 3D can only export raster or vector images/series of images. Now, one could take objects from Swift 3D and use them to make a game in Flash, which is a fun idea. But that's not what the question asked. Yep, no games in Swift :/ |
You got it wrong :( |
Environments in Swift are like backgrounds. They're what is behind the visible objects on screen. |
Well, evironments in Swift 3D cannot be seen directly by the camera. And they don't appear behind the objects on screen. Rather environments can only be seen when they reflect off of objects in the scene. |
Wrong I see, Time to learn from your errors! |
Which of the following is the best tool for modeling the bulk of a detailed car? |
Advanced Modeler is the correct choice. The scene editor can only make primatives, so it could not make most of the car. I can imagine the wheels being made with the lathe editor, and well as some other elements. But the lathe editor couldn't make the bulk of the car. The extrusion editor could make a few specific parts, but still couldn't make the bulk of the car. The advanced modeler could make the bulk of the car due to its ability to manipulate specific polygons. |
You got it wrong. Time to reinforce your knowledge! |
Its phyiscally impossible |
Put a series of target spot lights in the car's lights |
Put a series of free spot lights in the car's lights |
Put a series of free point lights in the car's lights |
Change the trackball lighting scheme |
The guy who modeled the car in the last question has finished. He now has a spiffy little car. However, he wants to make it so that the front lights on the car radiate light that interacts with the rest of the scene. How would he do this best? |
The correct answer is using target spot lights. The first choice is wrong because trackball lighting cannot give light a source or origin within the scene. The last choice is wrong because giving light an origin within the scene is definitly possible. So basically, we're left with free point and target spot lights. Which is the better choice. Well, every car light I've seen radiates a somewhat concentrated stream of light in one direction. Which is what a spot light does. If you see a car light as radiating light equally in all directions and thus choose free point lights, be happy than give yourself a pat on the back, because you had a good string of thought. |
You got it wrong, or didn't know the answer :( |
How sharp or blury the material is |
The standard deviation from linear forms in the pattern |
The size of the patterns the material makes |
The volume of the noise made when the mouse rolls over the material |
The Distortion of the material's pattern |
When creating a new material, what is "noise"? |
Well, when designing a pattern/texture, you can select the noise. The Noise levels set how much the pattern in the material is distorted. The third choice was correct, noise is the amount of distortion to the pattern. Noise isn't a standard deviation from linear forms because a completly non-linear pattern can be distorted and not become less linear. Although when noise is applied to a linear pattern, it may become less linear. The noise has nothing to do with the size of the patterns in a material. |
Which of the following tools is used to assign a surface group to a mesh? |
Click inside the red circle |
then... |
Well, this deals with the capacities of diffrent tools in Swift. Applying surface groups is used to seperate meshes into selections. The big use I've found for this is applying seperate textures to one mesh. Although there are other modeling uses. The correct answer is the advanced modeler. That is where surface groups can be applied. To create a surface group, use the face selection tool and select a part of the mesh. Then go to the toolbar and the right and click the bar that says surface groups. Then look below to where it says "group selection" |
You got it wrong, time to see why |
If you are decomiling this SWF. CLOSE your decompiler now or else... |
(Yes, I do realise this is the most lazy security device ever created) |
This tutorial was submitted by BigAl620(Alex). |
If this wasn't submitted by BigAl620(Alex), please flag it. Thank you. |
Yes, but it needed improvement |
No, It was very flawed |
Yes, couldn't be better |
Yes, couldn't be better |
Yes |
Did you like this tutorial? |
As a flash-producer, I cannot stress enough how useful good reviews are. In fact, that's a big reason why Newgrounds is the Flash capital of the world. So, if you didn't like something, leave a review. And be honest about its good qualities as well as its faults. Thanks, I truly appreciate that you have spent your time on this product. I hope you have learned alot. If you've ever wondered if Flash producers on Newgrounds read reviews, they do. Reviews are very important. Honest, praising or critical, reviews really do push Flash developers forward. And the ideas you put into your reviews play a HUGE role in shaping an artist's future productions. So leave a review! :) |
Why didn't you like it? |
Go back to main menu |
Continue to Flash section |
Sadly, the Swift section has to be concluded here. But as Picard once said, "All good things must come to an end" |
Conclusion |
Chapter 3: Beyond the Basics |
This chapter expands upon the topics in the first two chapters, covering music, debugging, publishing your flash, compression, and includes a quiz on this entire Flash tutorial to reinforce your knowledge, that explains all the answers if you're wrong. |
Chapter 3: Beyond the Basics |
This chapter expands upon the topics in the first two chapters, covering music, debugging, publishing your flash, compression, and includes a quiz on this entire Flash tutorial to reinforce your knowledge, that explains all the answers if you're wrong. |
Chapter 2: ActionScript |
This chapter covers the ins and outs of ActionScript, in a very detailed manner. This knowledge will allow you to do very complex things in Flash. |
Chapter 2: ActionScript |
This chapter covers the ins and outs of ActionScript, in a very detailed manner. This knowledge will allow you to do very complex things in Flash. |
Chapter 1: The Foundation |
This chapter covers creating documents, using the timeline, instance, linkage, and other important concepts neccessary to understanding ActionScript and more advanced topics. |
Chapter 1: The Foundation |
This chapter covers creating documents, using the timeline, instance, linkage, and other important concepts neccessary to understanding ActionScript and more advanced topics. |
Flash Tutorial |
ActionScript |
General Flash |
Foundation Flash |
The sections below covers the use of Flash |
Foundation Flash |
300+ Pages |
MAIN MENU |
Reinforcement Quiz |
Components |
Preloader |
Debuging |
Properties |
Filters |
Publishing Flash |
Using Text |
Basic Actionscript |
Linkage and Instance Names |
XML |
Music |
General Structure |
Toolbar |
Symbols |
Color Panel |
Timeline |
Tweening |
Creating Documents |
Flash |
Properties |
Properties |
This goes over a few important properties of the movieclip class, such as alpha, _x, _y, and more. |
Linkage and Instance Names |
Linkage and Instance Names |
This lesson explains linkage, linkage identifiers, and instance names. It goes over assigning them. This is a key pre-requisite to chapter 2. |
Introduction to Computer Science |
Introduction to Computer Science |
This covers binary, machine language, as well as how Flash is a virtual machine and how the Flash Player produces machine code. |
Toolbar |
Toolbar |
This covers the many tools in Flash such as the free transform tool, the gradient transform tool, and the pen tool. This is the shortest lesson in the tutorial. |
Tweening |
Tweening |
This covers how to create shape and motion tweens, as well as creating motion guides and shape hints. |
Timeline |
Timeline |
This teaches the user about diffrent types of frames on the timeline as well as layers. It also teaches the basics of the Flash hierarchy and how to use it. |
Basic |
Basic |
This is designed for people who don't own Flash, are using it for the first time, or don't know what an SWF or Fla is. |
Creating Documents |
Flash Chapter 1: Foundation |
Once you have Flash installed and activated on your PC, you're ready to continue into this tutorial. |
Also, if you're a student or a teacher, Macromedia has a nice education discount on all their products. |
Or you can try to buy flash used on Ebay. |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="www.macromedia.com"><b>www.macromedia.com</b></a></font></p> |
Before I do anything else in this tutorial, I will need to assume that you have Flash and have the product installed. Flash and the Flash Player are very diffrent. The Flash Player reads Flash. Flash makes Flash. The Flash Player is free, however Flash costs money. It can be bought through macromedia or other resellers. The link to macromedia is below. |
Basics |
Before I go over creating a document in Flash, I have to explain what a document in Flash is. When you start up Flash and create something, and then save it, you are saving your file in .fla format. Files saved in .fla format can be read by computers with Flash. The Flash Player cannot read the .fla, only the program for making Flash can. So basically, the Fla is the format you use whilst editing or developing a Flash, it cannot be used in mainstream distribution on websites. However, inside of Flash's authoring environment, one can produce a file called an SWF, which can be read by most internet capable PCs and can be posted on Newgrounds. However, the SWF cannot have its content edited unless one uses a special program called a decompiler to derive the Fla from the SWF. So in conclusion, Flas are the files you use when you're developing a flash, they can only be read by the Flash program. Swfs can be read by virtually anyone, and are the finished product of the Flash devlopment process. They are published on the internet, namely in Newgrounds. |
Yep, you want a blank Flash Document, which is an FLA. |
The first step in the Flash development process should be to create an empty Fla through which to build content. Producing an SWF from that FLA will be covered later in this tutorial, in the "Publishing" section. When you open Flash, you'll be given a series of options for what to start with. For 99% of this tutorial (the exception being the use of AS files in some of the Actionscript section), we'll be starting with a blank, normal Fla. To begin your adventures in Flash, click Fla. |
Well, I hope you enjoyed that beginner lesson on Flash. For alot of your Flash users, that was pretty redundant. But the rest of this tutorial is alot more advaned than that, so you'll probably learn something new, even if you're an intermediate or even advanced Flash user. This first lesson was aimed at people who are just starting out, or have never even opened Flash before! But whether you just created your first FLA or your 500th, I think you'll find something interesting or useful in this tutorial, so stick around :) |
What the timeline means to you will depend on whether you're a programmer, an animator, or a little of both. An animator will see the timeline as the heart of the movie that controls how the contents of the scene change over time. Many programmers opt to ignore the timeline, making their entire game in a single frame. Others see the timeline as an easy and convenient way to store data, allowing the user to move around to diffrent frames of the timeline. One good example of this approach towards the timeline is the tutorial you are using right now! In this tutorial each page is a frame. However, unlike in a movie, my tutorial doesn't play through all the frames, begining to end in a linear fashion, as is done in a movie. In this tutorial, the user moves from frame to frame at their own pace. |
Timeline |
Here I've listed the concepts at the heart of the structure and function of the Flash timeline. Read over them briefly before continuing, as they will be explained in great detail, clarity, and scope later on. 1. The Flash timeline is composed of keyframes and frames. Keyframes hold content, whilst regular frames hold the content of the keyframes. This would allow me to create one keyframe from that holds my background, and then have 100 regular frames after it. Each frame will have the background in the keyframe. 2. The Flash timeline is composed of a series of layers. At a single point on a layer, there can be a keyframe, a plain frame, or nothing. In order to have multiple keyframes at one point on the timeline, I have to have multiple layers. 3. In the Flash, the highest layers will be closer on the screen. For example, if I have a red circle on my top layer and a black circle on the bottom layer, the red circle will appear over the black circle in the Flash. |
Core Timeline Concepts |
4. Each movieclip in your flash can have its own timeline, as full and comprehensive as the main mainline. In this way, Flash's ability to organize data, graphics, and animation can be greatly increased. Also, movieclips can be indefintly embedded inside of each other. 5. Simple Actionscript functions can be used to stop, play, or control the timeline with no past programming/scripting experience. Sound like a lot? Well, it is. So I've built this entire section to explain it. |
Types of Frames |
In Flash's timeline, the keyframe is marked by a black circle at the bottom of the frame. |
This is your keyframe. |
The first type of frame we have is called the keyframe. This is the type of frame that actually holds content. A keyframe can hold actionscript codes, graphics, movieclips, you name it. Every non-keyframe after a keyframe is simply a holder of its content. |
The key concept here is that every frame following the keyframe is simply a holder of its content. It has no content of its own. Editing the keyframe will edit the content of every frame after it. |
The plain gray rectangles after the keyframe (rectange with circle at bottom) are plain frames. |
The second type of frame I'll go over is the plain frame. This type of frame contains no content. It simply holds the content of the last keyframe. |
Blank keyframe has empty circle at bottom of frame. |
Regular Empty frames |
The next type of frame is the empty keyframe. This is the same as the regular keyframe, except that the empty keyframe contains no content. Every regular frame after the empty keyframe will have no content. If one takes a keyframe with content, and removes the content, the keyframe is converted to an empty keyframe. |
The final type of frame we have to go over is the blank regular frame. This frame is a placeholder for a blank keyframe. If a blank keyframe becomes a regular keyframe, the blank regular frame becomes a regular frame. Below I've shown what happens to the timeline when content is added to the keyframe. |
Regular Empty Frames |
Regular Frames |
Blank Keyframe |
Keyframe |
That basically sums up the types of frames we have. Below I've shown the appearences of the diffrent types of frames. |
Each layer has its own keyframes, and frames as holder's of the keyframes content. Another thing to note is that whenever working in Flash, you always have a single layer selected. If you draw anything on the scene, it will be put in the layer you have selected. So be very conciouss of what layer you have selected, its easy to put content in the wrong layer. |
As of now, I've only shown you the timeline with one layer. Now that's fine for starters, but what if I want to have two seperate animations to occur at the same time on the timeline? Or what if I want to seperate my background and my character into seperate keyframes so they are easier to edit or animate seperatly? Well, the answer is layers. Each layer has its own autonomous set of keyframes, frames, and graphics. The example below illustrates this effectivly: |
Layers |
Content in "Bottom" Layer: |
Content in "Top" layer: |
Another important concept of the timeline is that layers are stacked on top of each other on the stage with the highest layers on the timeline appearing in the foreground. This is a little hard to explain verbally, so I'll try to make it clearer using a visual example. In this example, we have two layers. One is named top and the other is named bottom. |
As you can see, the layer named "top" with the red circle was stacked above the layer with the black circle. |
Here is how the scene looks with both layers showen: |
However, if we switch the two layers, moving the "top" layer to the bottom and the "bottom" layer to the top, we will find that the foreground has switched to the background and vice-versa. So basically, layers on top in your timeline window will appear "on top" of other layers in your actual Flash. |
When you create a movieclip, you might notice that the movieclip has its own timeline. The Movieclip's timeline is as complex and full as the main timeline. Its important to note that button symbols and graphic symbols have timelines, but that they function diffrently then the movieclip's timeline, so they will be discussed later. Its interesting to note that a Flash, and its Movieclips, are organized into something called a hierarchy. At the highest level, we have the main timeline, and that is composed of Movieclips, graphics, and symbols. And each of those symbols can be composed of other symbols. |
Each Movieclip has its own Timeline |
That might be a little much to look at, but it says a lot. In this very typical graph of a Flash project, there are only a handful of movieclips on the main timeline. However each movieclip on the main timeline has 3 movieclips on its own timeline. When one movieclip is in another, it is said to be embedded inside it. I've had projects where the movieclips are embedded into 15 levels or more. |
enemy_box |
enemy_gun |
mountains |
clouds |
floor |
mainChar_hitBox |
mainChar_feet |
mainChar_gun |
environment |
enemy |
main_character |
Main (root) Timeline |
Here we have a typical Flash hierarchy shown graphically: |
So, how do I travel to diffrent parts of the hierarchy, in and out of movieclips? Well, the simple answer is that when you double click on a movieclip using the selection tool (v), it goes inside that movieclip, lower into the hierarchy, displaying that movieclip's timeline. While using the selection tool, if you double click on nothing, then you go up the hierarchy, and outside of your current movieclip. So double click on the symbol, and you go down the hierarchy. Double click on nothing, and you go up the hierarchy. This may feel very strange when you start out, but after a few months of using Flash, this system will feel very natural and intuitive. |
Each Symbol is accompanied by a small icon showing whether it is a movieclip, button, or graphic. |
As you move to the right on this bar display, you move to lower levels of the hierarchy. Farthest to the left will always be your main timeline. Mine is named tutorial because I assigned my scene that name. Farthest to the right you can see the symbol which you are currently inside of. It is this symbol's timeline that you will currently see in the Flash environment. |
Pressing this button moves you up on the hierarchy |
Although that system is good for navigation, there are a few tools in Flash which let you move around and understand where you are in the hierarchy. At the top of you Flash interface, you should see a bar like the one below: |
If you go to test your movie, you'll notice that it automatically moves forward along the timeline. This is fine and dandy in some scenarios. However in most scenarios, you'll want the movie to stop at certain frames, and move from frame to frame dynamically (like in this tutorial). The way that we can control the position of the playhead (the playhead is fancy word for whatever frame the user is seeing) is by the use of Actionscript. Now, at this point, you might be thinking that you have to know a lot of Actionscript to do this. Well, you're wrong. People with very limited Actionscript knowledge can write codes that make the movie stop, play, or go to a certain frame. I must have a disclaimer that I will not teach you any Actionscript in this section beyond the directions on how to move the playhead using functions. What a function is and what they mean is covered thouroughly in the AS concept. Its important to note that you can control the playhead of a movieclip or the playhead of the main timeline. |
Controlling the playhead with Actionscript function calls |
Now you might be thinking "where do I put this code". The simplest answer is that you can put it on any frame, anywhere. In this timeline concept, I will for the sake of simplicity teach you to put all code on the frame that you want it to run on the main timeline. If you want to learn advanced technique go to the Actionscript concept. Anyway, to place Actionscript on a keyframe, click on that keyframe, and press F9. Then, you will see that the actions panel will open. In the top right corner of that panel you'll see a button that says "Script Assist" or an option that lets you pick beginner mode or expert mode. Before you begin, turn off script assist or make sure you're in expert mode. Another key thing to note is that the code you enter into the actions panel will be ran on the keyframe in which it is placed. So if you call the stop function on frame 50, the playhead will play until it reaches frame 50, where it will stop. Isn't that convenient? |
gotoAndStop(); This code is a little more advanced than the last two, because this function has something called an arguement. Basically an arguement is something we put into the function when we use it to tell it how it should work (that was the non-programmer explination). In this case, our arguement is what frame we want the movie to go to and stop at. We can either enter in the number of the frame or the frame label, which I will teach about later on. Below we give gotoAndStop an arguement of 30, which will make the playhead go to frame 30 and then stop. gotoAndStop(30); |
stop(); This code stops the movie. Once the playhead hits a stop frame it will cease to continue advancing. |
play(); This is our first function we have for controlling the playhead. This function plays the movie (how shocking). |
prevFrame(); This function sends the playhead to the frame preceeding the frame in which the function is called. Like nextFrame(), it has no arguement. |
nextFrame(); This function has no arguement, so we put no value in between the paranthesis. This function sends the playhead to the next frame. |
gotoAndPlay(); This function is exactly the same as gotoAndStop(), except that this plays the playhead after going to the frame specified in the arguement, whilst gotoAndStop() stops the playhead. This function's arguement is the frame number you want the playhead to go to and play. The arguement's function is placed between the paranthesis: gotoAndPlay(30); //goes to frame 30 and plays the playhead |
In the Actionscript section, I'll go over hierarchies in a lot of detail, but right now I'll explain just enough hierarchy so that you can use the play(), stop(), and gotoAndStop() functions. If we enter: play(); into the actions panel, the play() function will be ran on the timeline in which the code is placed. If you want the code to be run on the main time, you have to place _root. before your function. _root.play(); //plays code on main timeline play(); //plays code on timeline on which code is placed |
Basic Hierarchy |
There are a few things we can do to a layer to either change the layer's function or to simply make the stage easier to work with. The first thing I'll go over is locking and hiding layers. We can lock layers so that whilst the layer is locked, you cannot add, remove, or change content in the layer. Locking layers is extremely useful, mainly because it reduces error and makes producing graphics a more streamlined process. Lets say I want to make an animation where a man runs across a skyscape. The skyscape background is on the lower frame, and the guy is on the upper frame. If it was not possible to lock frames, this poor Flash developer would have to struggle to always click on the guy without accidently clicking on or drawing on his background. Luckily, he can lock the background while editing the guy for a more streamlined process. |
Layer Properties - Guides, masks, hiding, locking |
Make objects in layer outlines |
lock layer |
hide layer |
The Arrows layer is locked |
We can also hide a layer. This makes all content on the layer invisible, but still possible to edit. I would recommend using this with the lock layer tool, and not on its own. Another thing we can do to a layer is make it an outline. When a layer is made to be an outline, every symbol on stage is coverted to an outline of its original content. To hide, lock, or make an outline of any layer, simpy look to the 2 dots and square to the right of your layer's name. Clicking the leftmost dot will hide your layer, the center dot will lock your layer, and the square to the right will make your layer an outline. |
Masking can be accomplished both on the timeline and with Actionscript. But because this is the timeline concept and not the Actionscript concept, I will only go over timeline based masks. |
Masking is, without a doubt, a very cool technique. Masking is basically a technique by which one shape or movieclip (called the mask) is used to limit what part of another shape or movieclip (called the maskee) is visible |
Masking |
after you have converted mask layer to a mask... |
To create a mask, we first must create a mask and then a maskee. The maskee will be the image we want the user to see. The mask will be the shape, movieclip, or image that we want to limit what part of the maskee is visisible. The mask and the maskee should be on seperate layers. The mask should be on the top layer, and the maskee should be on the bottom layer. Once you have done this (as is shown below), you'll want to right click on your mask layer and scroll down to select the option that says mask. |
So now you have a mask. If you really like masks and want to do more dynamic or complex things with them, be sure to go to the Actionscript section and read through that. Well it seems that this concludes the timeline concept. Below I have some links to sites and tutorials that deal with the timeline and should interest you. |
"What is a tween?" you might ask. Well, basically a tween is an alternative to producing an animation by drawing one frame after the other. In a tween, the artist draws two frames (which we call keyframes), and then the computer fills in the frames between the keyframes to produce a smooth animation. When animating in Flash, keyframes should be the staple and tweens should be the suppliment. Although complex motions require one to draw everything frame by frame, in some simpler animations, a tween can save a lot of time and get the job done well. |
Tweening |
Motion Tween: |
Shape Tween: |
So, a tween is basically the computer trying to fill in the frames between two keyframes. There are two types of tweens: shape and motion. In a shape tween, the objects at the first and second keyframe are diffrent shapes and/or colors (and can be at diffrent locations), and the computer trys to fill in the frames between the two. In a motion tween, the two objects are the same in the first and second keyframe, but in diffrent locations, then the computer trys to fill in the motion frames. Below i have an example of a shape tween and a motion tween. |
When Keyframe has content: |
When keyframe is empty: |
Once you do that, your first keyframe will turn from an empty circle to a filled one, signifying that the keyframe now has content. |
This is the first type of tween I'll go over. Before I begin, I must warn you that tweening requires some knowledge of the timeline. Okay, starting with a blank timeline (either the main timeline or the timeline of a specific MC), you'll want to draw your image in the first frame. |
Making the Tween |
Our second step is to add our second keyframe. To do this, go to some frame after 1 on the timeline, and add a keyframe (F6). To make our tween meaningful, the content in the second keyframe must be diffrent from that in the first. For a motion tween, make the object in the second keyframe have a diffrent location than in the first keyframe. For a shape tween, give the object a diffrent shape of color in the second keyframe. |
At this point, you should have two keyframes, each with an object a little diffrent (in shape, color, or location). To create a tween between the two keyframe, right click on a frame between the two keyframes and select "Create Motion Tween" |
If you've done everything right, you'll notice that there is now an arrow pointing from your first to your second keyframe and then the frames have turned to some shade of blue. If you click on any frame between the two keyframes, you'll see that flash has generated frames to fill in the space between the two keyframes. If you've done something wrong, you'll see this: The dash line means that Flash was unable to fill in the frames between your two keyframes, and the tween was unsucessful. To fix this, make sure that the content in your first keyframe is the same as in keyframe 2, just as a diffrent location. The only reason the tween would fail is that the content in the keyframes is diffrent. |
Once second keyframe is given content: |
Okay, this is the other kind of tween, the shape tween. This tween is similar to the motion tween in that it asks flash to fill in the frames between two keyframes. However in a shape tween, the two keyframes can have diffrent locations, colors, and shapes. To begin a shape tween, start with an empty timeline (a Movieclip's timeline or the main timeline). Begin by clicking on your first keyframe. Then draw something in that keyframe. Then go up to your timeline, and click on the twentieh frame and press F6 to create your second keyframe. Then, on the second keyframe, change the color, shape, or location of what you had in your first keyframe. |
Shape Tween |
Once in the properties panel, look to where you have a drop down menu labeled "Tween". Click on that drop down menu and select "Shape". Once you choose shape, a shape tween will be created. You'll know you've created a shape tween once the space between your two keyframes turns green and a line is drawn like in the picture below. |
Those first couple of steps were basically identical to creating a motion tween. However, to create the actual shape tween, you DON'T right click on one of the frame and click "Create Motion Tween". Instead, to create a shape tween, you have to click on a frame between the two keyframes and go down to the properties panel. |
Once you create a tween, there are a few basic ways you can modify it in the properties panel. To begin, look at your tween on the timeline, and then select a frame that is part of the tween, then open the properties panel. Below I've listed how you can modify the tween: 1. Whether a motion tween scales the object 2. Advanced and Basic easing 3. Rotation and snapping to Motion Guide 4. Blend Style for Shape Tween |
Tween Properties |
With scale turned off: |
With scale turned on: |
Our first option is pretty basic. If you click on a motion tween and go to the properties panel, you'll notice you can turn on something called "scale". Basically, if scale is turned on, then the motion tween will automate the size change of an object. If scale is turned off, a motion tween will not rescale on object. |
To use easing on your tween, click on the arrow after where is says "ease" and move the slider up and down. You can select an easing number from -100 to 100. |
Easing is a way to change the rate at which one part of a tween occurs relative to the rest of the tween. For example, I could use tweening to make the first part of the tween lightning fast, and have the rest very slow. I could do the opposite. To access easing for a shape or motion tween, click on a frame that is part of the tween and open the properties panel. |
Basic Easing |
Tween with 100 easing: |
Tween with -100 easing: |
Tween with 0 easing: |
Another cool feature of advanced easing is that you can make the color change at a diffrent rate than the size. So the color can start changing slowly and then speeed up, whilst the object's size starts changing quickly and then slows down. Neat, huh. Anyways, to access the advanced easing menu, click on one of the frames in your tween, and open the properties panel. Then press the edit button and a graph will pop-up, that is where you will give your tween advanced easing. It should look like the picture on the next page. |
You just learned how to make a tween start out slow and speed up or start fast and slow down. Although that's good, sometimes you want want a little bit more in terms of control. Lets say you want a tween to start out slow and then get faster, and then end slowly. You can do that with advanced easing. |
Advanced Easing |
When we use a tween, there are several properties that can be changed, such as color, position, and scale. If you have the checkbox "Use one setting for all properties" selected, then you won't be able to make your object rescale and change position at diffrent rates. However, if you unselect that box, the drop-down menu to the left will allow you to select color, position, scale, filters, and rotation. If you choose to use seperate settings for all the diffrent properties, than you'll have 5 seperate graphs for each property. One for color, one for filter, one for rotation, and so on... If you choose to have one setting for all properties, you will have a single graph controlling every property. |
Okay, lets dissect advanced easing, one option at a time. |
In the last page, you made a decision as to whether you wanted to use one graph to control all tween properties, or have seperate graphs controlling each tween property. But what is this graph I speak of? Well, basically, there is a graph that allows you to control how a tween occurs. That graph is show below: |
On that graph's x axis we have the number of frame progressed, and on the y axis we have the percentage of the tween complete. The default graph has a straight line going up at a constant rate. This graph will make the tween occur at a constant rate. This makes the tween progress slow early on and then speed up at the end. |
Point |
Handle |
When you have your graph up, you can select any part of that graph to add a point. Then you can move that point around or change its slope by using the handles attached to the points. (The handles are small empty circles). By adding points and manipulating them using the handles, you can create tons of diffrent tweens. You can even make a tween that goes backwards! |
Well, that's where motion guides come in. Wonderful, wonderful motion guides. Motion Guides allow you to let an object move through a tween in a way that you can control very precisely, which in many cases is a lot better than the default tween which just goes from point A to point B in a straight line. |
Basically, a motion tween allows you to automate an object moving from one point to another. If you just use a normal tween, then the object will just go straight from point A to point B. That's pretty cool, but what if I want an object to take zig-zag path from point A to point B (and back) like the animation below. |
Motion Guides |
Your time should look like the timeline above. A motion guide is a seperate layer that you add to the layer with the tween on it (its confusing, I know). To add a motion guide layer, right-click on the layer which is holding your tween and scroll down that menu and select "Add Motion Guide" as is done below. |
To give a tween a motion guide, begin by creating a motion tween exactly the way you normally would (the steps for doing that are at the begining of this lesson). |
The zig-zag line is on the motion guide layer. The motion guide should contain the line/series of lines that determine where the object goes during the tween. The ball is on the layer with the motion tween. |
The next step is to add something to give the Guide layer some content. Do this by clicking on the first keyframe of the guide layer, and drawing a series of lines that connect the positions of the object in the motion tween. Take the example below. |
After you add the motion guide layer, your timeline should look something like this: |
Make sure you attach that motion guide! |
Motion Guide |
Ball in Second Keyframe |
Ball in First Keyframe |
Remember that for the motion guide to , you must have the object in BOTH keyframes of your motion tween connected to the lines in the guide layer. |
on Keyframe 1: |
On keyframe 2: |
The shape hint is the shape tween equivalent of the motion guide. Shape hints tell what part of a shape to go where during the tween. When you start to try to do really specific or complex things with shape tweens, you tend to run into problems. To use shapehints, go to the first keyframe of your tween and press Ctrl+shift+H to add a shape hint. This shape hint will be red. Move your shape hint to the side of your shape. Then go to your second keyframe and move the shapehints to the side of the shape. |
Shape Hints |
Once you have your shape hint successfully placed, it will appear yellow in the first keyframe and green in the second keyframe. The shape hints and the content near them on the first keyframe will move to the position of the same shape hint on the second keyframe. I honestly advice you not to use shape hints. I've never really been able to get a big benefit from them. If I want to have really precise control, I'd do frame by frame animation. And using frame by frame animation is less buggy. I've found using shape hints to be frequently buggy and frustrating, but I know some people who like them. Well, that basically sums up tweening. I hope you enjoyed it. |
Quite honestly, this is the shortest lesson in this entire tutorial of over 50 lessons. It is only 3 pages! This lesson basically goes over using the tools on the toolbar (far left side of your screen). On the next page I have a component which allows you to rollover diffrent tools and learn about them. |
Toolbar |
Pen Tool (P) This is a pretty interesting but somewhat difficult drawing tool for Flash. Basically, this tool allows you to create what are called anchor points and allows you to control how a curve/line is drawn between them. If you click once on the pen tool, you'll notice a point is created. It should be a small circle. If you click at another location then you will create a second point. Both of your points will be converted to squares. |
From that, you can click to another point, and it will draw a connecting line. When you want to close the shape, click on one of the anchor points you've already made (when you roll over the anchor point, a small circle will apear). When you close the shape, a fill will automatically be added based on your fill color (On toolbar below where it says "Colors"). By clicking and dragging to create a point isntead of just clicking, you can create a curved line connecting two anchor points. |
Text Tool(T) This tool allows you to produce text, like the text you are reading right now. If you want a detailed explination of text, then go to the text lesson of the Flash section. Okay, to create text, you can do one of two things. The first way you can create text is to select the text tool and simply click on the stage. Then you type in your text. In this type of text-field, the text you type isn't bound to any borders. You have to click enter to go to the text line down. Or, you can click and drag the text tool to create a text box. In this type of text box, all text created will be automatically confined to that box. You can change the color, font, or size of text in the properties panel. More details can be found in the Text lesson of the Flash section. |
Rectangle Tool (R) This tool is also pretty simple. By selecting this tool, and then clicking and dragging the cursor over the stage, you can create a rectangle like the one below. |
When you are using the rectangle tool, there are several options that appear in the properties panel. |
How object is rescaled. |
Line Style |
Line width |
Fill Color |
Edge Color |
Oval Tool (o) This tool creates an oval (circle) shape which is a vector. To create an oval, simply click at any point on the stage, and then drag your mouse away from the first point to scale the oval. This tool is honestly pretty self explanitory. When you draw an oval with this tool, that oval will have a fill and an edge. You can click on the oval's curve or edge to delete them after you have created the oval. Or you can choose to set your edge or fill as empty, as will be explained if you roll over the edge or fill options (below the word "colors") |
Edge: |
Fill: |
Brush Tool (B) This tool works almost identically to the pencil tool, except that the Brush Tool draws a fill rather than a stroke. To draw with this tool, click at a point on the stage, and then drag around the mouse. Drawing with this tool is extremely intuitive. There are a number of options relevant to this tool. |
This option, if on, disables the fill tool. |
This lets you set constraints that limit where the brush tool can draw |
This lets you alter the brush size. |
This lets you alter the brush shape. |
This option, if on, will automatically convert all drawn brush strokes to grouped objects. |
Pencil Tool (Y) This tool basically allows you to click and drag the mouse over the authoring environment, freely producing strokes. The process is very intuitive. For the pencil strokes you make, there are a number of options available which allow you to modify and control the appearence of the strokes you make. |
This allows you to set up a custom stroke style |
This controls how the stroke is rescaled |
Lets you select stroke style preset |
Controls stroke width |
Controls stroke color |
Fill Tool (K) This tool should be well known among any MS paint afficionado. This tool takes the fill color inside the colors section of the toolbar and assigns it to the shape you click on. So basically, as the diagram below shows, if I have a red circle, and then I use the fill tool, I can change the red circle to a blue one. (This of course assumes the Fill color in the Colors part of toolbar is set to blue). |
+ |
Ink Bottle Tool (S) This tool is similar to the Fill tool. It can be used to change the color, style, and properties of strokes. To do this, simply have the Ink Bottle Tool selected, then go down to the properties panel and edit them. (Maybe by changing the color or width. The important thing is that these settings are diffrent than the stroke that you are applying them to). |
Then click on the stroke you want to apply the settings to. This process is diagrammed below. |
Eraser Tool (E) This tool is pretty clear as to what it does. It erases, it deletes parts of shapes. You click and drag the eraser tool over strokes and fills, and they are eliminated. The eraser tool does not delete instances of symbols (like a movieclip) on the stage. The erase tool has a few neat options: |
On the top left we have a drop down menu that allows us to select "Erase normal", "Erase Fills", "Erase Selected Fills", "Erase Strokes", and "Erase Inside". Erase normal allows you to erase both strokes and fills. They all are pretty self explanitory as for what they do. The option on the top right is the faucet tool. When using the faucet tool, you can simply click once on a shape and it will be deleted. (As opposed to dragging the tool around). The option on the bottom is a drop down menu that lets you change the size of the eraser. |
Eyedropper Tool (I) This tool allows you to click on a certain shape, and have that shape's color become the fill color in the Colors section at the bottom of the toolbar. The use of this is that you could use the eyedropper on a rectangle who's color you like and then use that color to make a new oval or brush stroke with that color. |
Zoom Tool (M, Z) This tool is rather simple. If you click, you zoom in or out, based on the options section at the bottom of the toolbar. |
In the options section I can choose whether I want the zoom tool to zoom in or zoom out (As is shown Above). Then, after I select zoom in or zoom out in the options, I can simply click on the scene and it will zoom in or out. Neat, eh. |
Hand Tool (H) This tool is very simple. Once you have selected this tool, you can click and drag on any part of the stage to move around the view. I find this much worse than using the arrows and scroll bars at the side of the scene, but I suppose some people like the hand tool. |
Stroke Color This option allows you to select the color that is given to your stroke. The stroke color is used when you draw with the pen or pencil tool, when you draw using the line tool, or on the outside of rectangles or ovals you create. To change the stroke color, you can click on the color box on the right side of the toolbar. You'll see a rather large color pallete with a number of interesting options. On the top, you can edit the alpha. And in the top-right you can click a circle to bring you a color wheel with more detailed colors. |
In the top left where you see #000000 you can enter in a hexidecimal color value or you can see the hexidecimal color value of what you have selected. This can be used to share or exchange colors with other people (since those 6 letter/numbers represent the color you are using). What hexidecimal colors mean will be gone over in the Color Mixer section. |
Fill Color This option is really, really important to creating graphics in Flash. If you are going to use the brush tool, create rectangles/ovals, or create shapes in Flash, you'll want to control their color. Here is where you can do that. If you create a rectangle or an oval, the color in this box will be the color that the inside of the oval will be given. To change the fill color, you can click on the color box on the right side of the toolbar. You'll see a rather large color pallete with a number of interesting options. On the top, you can edit the alpha. And in the top-right you can click a circle to bring you a color wheel with more detailed colors. |
No color and Swap Colors The option on the left is called No color. This option will get rid of the color for your stroke color or fill color (depending on which is selected) and make the stroke/fill color empty. |
The Swap Colors option (on the right) switches your fill color with your stroke color. This can be really useful sometimes. |
Black and White When you select this option, it makes your stroke color black and your fill color white. |
This option is called "Snap to Objects". It can either be on or off. If you have this option on, objects you are dragging around will automatically snap to an object your rollover. This option is pretty self-explanitory. However, there are a few cases where you really need to have Snap to Objects on: When making a guided tween When you're making numerous objects and you want them to line up. |
Line Tool (N) This tool allows you to create perfectly straight lines in the Flash authoring environment by dragging the cursor. To draw a line, click down at the beginning of the line, then drag the cursor to where you want the line to end, release the mouse at that point. After you have drawn a line, you can click and drag it to make it a curve, or you can select a line and see several line options in the properties panel. |
Most of these options are self explanitory. The box farthest to the right shows a pencil next to it and is by default black. You can click on that and select the color you want the line to be. To the right, you can select the width of your line. And to the right of that you have a drop down menu that allows you to select a few presets for line styles. If those dont' suit you, you can create a custom line style by clicking the custom box to the right. The next box says "Cap". Here you can choose how you want your line to be ended. Then the scale option below controls how you want the line to be rescaled. |
Lasso Tool(L) This tool allows you to select shapes, parts of shapes, or objects. The advantage of this tool over the Selection Tool, is that you aren't confined to selecting a single shape, or a rectangular segment of one. Thusly, you could select a circular segment of an object. The lasso tool allows you to draw pencil style the area that you want to be selected. For example, you could draw a circle with the lasso tool selected, and the content inside that circle would be selected. As an important note, if you do not close your shape with the lasso tool (for example if I only drew an open curve) then the computer will close your shape by drawing a straight line from the end to the beginning of your shape. With this tool, you can choose to turn polygon mode and magic wand mode on in the options section of the toolbar. In polygon mode, you will draw a series of lines (line too style) as opposed to drawing a shape (pencil style) for your lasso. I'd advise against using this option, but its really you choice. You can also turn on/off an option called "magic wand". If you're working with a bitmap, this option can select certain parts of a picture that share a similar color to group the bitmap. |
This is called the gradient transform tool and its hotkey is F. This tool is, in my opinion, very underestimated. This tool allows you to manipulate gradients that have already been constructed, changing the size of the transition gradient, changing the direction of the gradient, and changing the center of the gradient. |
This triangle sets the center of the gradient. |
The arrow elongates the gradient |
This changes the size of the gradient |
This rotates the direction of the gradient. |
This is called the Free Transform tool, and its hotkey is Q. This tool can rotate, scale, skew, distort, and envelope an object. |
Click directly outside a corner point to rotate |
Click on side point to scale |
Click and drag on the edge to skew |
This menu can be used to manually select an action |
This tool is called the subselection tool. Its hotkey is A. This tool is used for manipulating points on a shape. When you click a point on a shape, you will be able to move that point, or change its trajectory. Its important to note that you cannot go inside a movieclip by double clicking on it whilst using this tool. |
This tool is in many ways the main tool of flash. It is called the selection tool and its hot key is "v". One uses this tool to select objects on the stage. If one double clicks a symbol or a group then the view will shift to work with the components of that object. For example, if one creates a movieclip with three shapes in it, and then double clicks on that movieclip, the person will be able to select and manipulate the three shapes. Another way of saying this is that double clicking on an object will move oneself down the hierarchy of flash. One can select multiple objects on stage by dragging the selection tool. |
Wow, that sure was alot of content for one page! If you want to learn more about any of the tools in the toolbar, the Flash help (F1) is a wonderful resource. |
Now you might be thinking: "How does this help me with Flash?!? I just read about the timeline, and I want to learn more Flash technique". Well, the past two sections gave you a nice little knowledge of some basic flash. I think that to make the rest of this tutorial effective, you should have some knowledge of how computers are programmed, what a computer language really is, and how Flash fits in. This core knowledge of computer science will be very useful as you continue to learn about Flash. |
Introduction to Computer Science |
Right now, when I talk about memory, remember that I'm talking about RAM memory, not the hard-drive. The memory is where variables are stored. On your PC, as you read this, all the data your PC is working with is stored in memory as variables. The Processor can access data in memory, and can change it. The Processor can assign new data to the ram memory. |
Processor: |
Memory: |
Although people use computers everyday, few know what's really going on behind the scenes. There are two basic components of a computer, the memory and the processor. |
What is a computer? |
That is basically the most basic way of expressing how a PC functions. Memory stores variables and the processor changes them, thereby rewriting existing variables or creating new ones. Lets look at some pseudo-code to see an example of this. Now, don't focus on the code or the language, just think about what I'm doing. I run the following code: a = 0; a += 1; All this code does is it creates the variable a and adds 1 to it. On the next page I will represent this code graphically. |
Before a location in memory is given a name (called an identifier), it is simply a random jumble of data. |
Step 2: The memory finds an unused location, and names it a. It then clears all the data in that location, and gives it new data (what kind of data the memory deals with is discussed later). What's important is that the location named a now has the value 0. |
Step 1: The Processor reads the code a = 0. It then tells the memory to name a location a and give it a value of 0. |
Step 6: The CPU clears all the data that formerly occupied the named location called a. It then writes new data onto that location, giving the variable a the value of 1. |
Step 5: The CPU now has the data in the named location called a. It takes that data and alters it (because our code calls for 1 to be added to a). |
Step 4: The CPU tells the memory to retrieve the data in the memory location named a. The memory takes that data and sends it back to the CPU. |
Step 3: The CPU now comes to our second line of code. This line of code adds 1 to the variable a. To do this, the CPU retrieves a. |
With the last example, I used the word data to refer to any information the computer is dealing with. Well, now is the time that I will get specific when talking the data computers use. All data on or used by a computer boils down to 1s and 0s. Memory simply stores a large number of 1s and 0s. The CPU only works with 1s and 0s. Its truly mind-boggling that every video-game, every application, and even the tutorial you're reading now is just a bunch of 1s and 0s. The reason computers use 1s and 0s is because a circuit can only be on or off. If a circuit is on we have 1, if it is off we have 0. The way that computers can represent complex numbers and values using only 1s and 0s is called binary. The next few pages will go over explaining binary language and how it can express large numbers. |
Machine Language (binary) - This is the data computers use |
1010 is 10 1011 is 11 1100 is 12 1101 is 13 1110 is 14 1111 is 15 10000 is 16 |
I'm sure you're all very familiar with the mathmatic system that is based on ten. There are ten diffrent numerals that you can express. 1, 2, 3, 4, 5, 6, 7 , 8, 9... Once you get to 9, you've ran out symbols. So, you add a one to "tens" position. The same thing occurs in binary. Lets do some counting: 0, 1, 10, 11, 100, 101, 110, 1000. We start out with 0. Then we add one to our value. Because we've maxed out that position, we move to the left. So 10 in binary is 2 in base 10 (the system you're used to). 11 is 3 100 is 4 101 is 5 110 is 6 111 is 7 1000 is 8 1001 is 9 |
Binary is really simple in theory, however using it is quite a challenge because you've probably used base 10 your entire life. To practice binary, I'd just recommend converting normal numbers to binary over and over again. In the beginning, computers were fed instructions in what's called machine code. Machine code is the exact instructions (in 1s and 0s) that the CPU executes. This made computers insanely hard to use. Imagine trying to understand what the code below does! Imagine trying to fix it! |
Then, something very big happened. A program was written called the assembler. The assembler allowed the programmer to type in a human readible code, and have the code turned into a program the computer could use. Note that one line of assembly code converts to exactly one line of 1s and 0s. So in a sense assembly code is just a diffrent way of expressing machine code. This is diffrent than C, AS , or C++ code where one line of source doesn't translate to one line of machine code. The code that is human readible and compiles to 1s and 0s is called high-level code. Some examples of high-level language include C, C++, Java, HTML, and ActionScript. C Language: C was/is a very, very important language in computer history. C is frequently called the lowest high-level language. This is because the language allows the developer to work very closely with memory and oftentimes forces the developers to think about the binary composition of their variables. A C compiler converts C code directly to machine code (1s and 0s), which is stored in a file called a .exe (in most cases). The machine code is executed when the exe is called upon. |
C++ Language C++ is simply an improvement upon the C language. C++ is used to program the vast majority of video games and PC applications. The main improvement of C++ over C is that C++ allows the user to create objects and classes. C++ code compiles to an executable file. Actionscript is largely based off of C++. |
Actionscript: Well, being a Flash tutorial, this is the time I'm sure you've all been waiting for. Actionscript is a language that is somewhat similar to C++. Now, where is Flash and Actionscript in the big picture. Unlike C or C++, Actionscript DOES NOT compile to machine code. *shock*. When you compile your Actionscript and publish your FLA, an SWF is produced. This SWF does not contain machine code. The SWF contains a special kind of code that is read by the Flash Player, and converted to machine code. So when a user visits your Flash site, the Flash Player sends machine code (1s and 0s) to your computer based on the code in the SWF it's reading. The code that Actionscript compiles to is called virtual machine code. That's because the code isn't readible to a machine like the exe produced by C++. Rather, the SWF is readible by a virtual machine (The Flash Player). The Flash Player is called a virtual machine because it has no physical hardware, it is simply a program that reads virtual machine code, and converts it to machine code which is readible by the real CPU. |
Right now I'm going to go over the most efficient methodology for writing computer programmers. Note that I will NOT go over any real source code, I will only use vague descriptions to explain the programming process. This is very important, being able to solve problems with programming in a methodical way is KEY. Here is the procedure: 1. Identify the problem and produce a mathmatical function that solves it for multiple input values. 2. Solve the problem with various input values. Record each step using mathematical symbols and brief written notes 3. Identify and write down the data that needs to be given to solve the problem (each variable that impacts the solution), and identify the variable which is the solution/solutions to the problem 4. Rewrite the steps so that they can be read by the computer 5. Enter the code into the compiler and run the program. |
The Programming Procedure |
a = x distance b = y distance c = overall distance |
a 2 + b 2 = c 2 |
Over the next few pages I'll work through the programing procedure for a program that takes an X and a Y coordinate point and spits out the distance between the two points. Although this is a little bit simple, I feel it will be a good place to explain the programming principle. 1. Identify the problem and produce a mathmatical function that solves it for multiple input values. Okay, our first step is quite honestly the hardest step. Here we have to work out the math-concept that will guide the rest of our project. To find the distance between two points, we have to do two fundamental things: 1. Find the X distance and the Y distance 2. Find the overall distance To find the overall distance, we have to use the pythagorean theorem: |
= 1 - 2 X Distance = -1 |
Y Distance = -5 |
= 5 - 10 |
X Distance = x 1 - x 2 |
Y Distance = y 1 - y 2 |
Test 1: Coordinate Points: (1, 5) and (2, 10) Find the disance on the X and Y axis: |
2. Solve the problem with various input values. Record each step using mathematical symbols and brief written notes. Using the coordinate distance example, here is me working out the problem with a series of diffrent inputs. |
Figuring out all of the math equations you'll need is a big part of the first step. In our case the only real formula we'll need is the pythagorean theorem. |
Logically, b is our X distance, and a is our Y distance. Thusly, c will be the actual distance between the two points (a more detailed explination of triangles is found in the Trig/Physics section). |
c |
b |
a |
Step 2: Now that we have our X distance and our Y distacne, we'll need to computer an overall distance. To do this, we use the Pythogorean theorem. The Pythagorean theorem states that a2 + b2 = c2, given: |
3. Identify and write down the data that needs to be given to solve the problem (each variable that impacts the solution), and identify the variable which is the solution/solutions to the problem. In our scenario, step 3 is quite easy. Our input is two sets of coordinate pairs. And our output is the distance between them (c). Although this step may seem pointless and uneccessary, I find it useful (especially in complex projects) to get a sense of all the data I have and all the data that I need to produce. |
26 |
c 2 = 25 + 1 c = |
This is what we get with our distance values plugged in. |
-5 2 + -1 2 = c 2 |
4. Rewrite the steps so that they can be read by the computer This step is all about taking a procedure you can do on pencil and paper, than taking that procedure and finding a way so that the computer can do it. This step is taught in the ActionScript section. There you will learn to take your ideas and covert them to ActionScript code. 5. Enter the code into the compiler and run the program. This one is a no-brainer. Once you've written the code just get a compiler that turns your language into byte-code or executable, and then run that code. Then you're done : ) |
Well, that sums up the basics of programming. Remember that that small lesson was just designed to give you a little background before you go into the rest of this tutorial, so you can know what Flash is and what a computer really is. Below I have some links to extremely useful references on this topic: |
In Flash, classes have things called properties. Properties or variables in a class that can be set or retrieved (oftentimes both) by the user. Some examples of classes are Movieclip, Button, Stage, and filter. When you create convert a shape to a movieclip (using F8), you are making an object which is a member of the class Movieclip. Any movieclip you have on stage can have certain properties set via Actionscript. The values of these properties control how the Movieclip functions. One example of a property of Movieclip is "Alpha". Alpha is basically a way of communicating transparency. An object with an alpha of 100 is entirly opaque, and no light goes through it. An object with an alpha of 0 is completly transparent. Alpha is a property of objects that has a value between 0 and 100. Alpha and other properties can be set manually, by going to the properties toolbar at the bottom of the screen or they can be set using Actionscript. Generally, its easiest to set a property using the property toolbar. However, using Actionscript has its advantages. If a property is set in actionscript, it can be manipulated in diverse and dynamic ways, giving the developer better control. Many properties can only be set in Actionscript. |
Properties |
Lets say I am making a first person shooter, and I want the enemy to get more transparent every time I click on him. I could do that with actionscript. However I could not do that by entering an alpha value into the properties toolbar. So if you want a property to be modified by user interaction or some sort of variable, use Actionscript. Below is an example of using properties. |
_visible - This is either equal to true or false. _visible controls, the umm, visibility of an object. If visible is set to false, the object cannot be seen. _quality - In most movies you'll see a button that toggles quality. Quality can only be set through actionscript and quality is a property of an entire game/movie, not of a specific movieclip. _x - This is a property of a single Movieclip or button. This property controls an object's location on the x cordinate plane (horizontal) As an object moves right on the coordinate plane, its x value increases. This can be set through Actionscript or in the properties toolbar. _y - This is a property of a single movieclip or button. _y controls the object's location on the y (vertical) coordinate plane. If an objects y value is set to 0, the object will be at the TOP of the screen. As you increase the y value, the object goes down. Yes, its the opposite of geometry, don't ask me why. |
Although Alpha is one of my favorite properties, its far from the only one. Some other properties are defined below. |
_xscale - This is a property that rescales an object horizontally. An _xscale of 100 is the default for an object, anything lower than 100 makes it thinner and anything higher than 100 makes it thicker _yscale - This is a property that rescales an object vertically. An _yscale value of 100 is the default for an object. An _yscale value lower than 100 makes the object thinner, and a value higher than 100 makes the object thicker. _height - This is a property of an object that tells it what size it is on the y coordinate (hence the name height), not relative to the size of the object before it is given a height value. This is diffrent than _xscale, where the _xscale value changes an object's size relative to its size before it was given an _xscale value. This can me modified using Actionscript or in the properties toolbar. _width - This is the horizontal equivalent of height. It tells the object its size along the x coordinate, it can be modified using Actionscript or in the properties toolbar. |
90 degree _rotation |
0 degree _rotation |
_rotation - This one's a bit complicated. _rotation is a property of an object that can be set with actionscrit. Although one can also use the free transform tool rotate an object. _rotation should be set a value between 0 and 360. If _rotation is 0, then the object will not be rotated. If I set _rotation to 90, the object will be rotated 90 degrees clockwise. Use the example below as a reference. |
_xmouse - This is a property of an entire movie/game or a property of a single movieclip or button, depending on its context. Mostly, however, it will be used as a property of the entire movie/game. _xmouse is the x coordinate location of the mouse. One common use of this is the custom curosr. The custom cursor code basically takes the _xmouse and sets that as the _x location for a certain movieclip. _ymouse - This is the vertical/y coordinate equivelant of _xmouse. _alpha - This sets how translucent your object is. If alpha is 100, an object is totally opaque and the content on layers below the object do are not visible. If alpha is set to zero, the object is invisible. |
Now that you know all about properties, you can start to use them. This concept will only go over setting properties in the properties panel. Setting properties using Actionscript will be covered in the actionscript section. To enter the properties panel, click on button that says property (highlighted red in the screenshot below). |
Click on the color drop down menu and scroll down to select Alpha. Then set the alpha value as any number between 0 and 100. |
To set the alpha manually for a MovieClip, graphic, or button, go into the properties menu and look to the right. |
Once you select any object, go into the properties panel and look to the bottom left. There you can set the objects location on the x and y coordinate planes and also set the width and height. You can also choose to lock those values. |
112 |
245 |
10.4 |
12.2 |
In conclusion, properties are a key aspect of objects and producing effective Flash. Properties can be set in actionscript or the properties panel. The latter parts of the Actionscript tutorial should help you to get a deeper understanding of properties from a programmatic standpoint. |
This section is a brief pre-requsite to the Actionscript section. In flash, code is frequently put on a frame, and uses something called a handler to deal with specific movieclips. Instance names are names given to instances of movieclips or buttons so that they may be referenced in an actionscript code. Linkage identifiers are names you can give to a symbol (Movieclip or button) that allow it to be accessed in Actionscript. This will be covered in more depth as I continue. |
Linkage and Instance Names |
The diffrence between Instance names and Linkage |
Giving an instance an identifier |
The box where you put the instance name says "Instance Name". |
The instance of MovieClip you are giving an instance name. |
To give an instance of a symbol an instance name, click on its on stage instance, and then go to the properties panel at the bottom of the screen. And type in your instance name where it says "Instance Name". |
To give a symbol a linkage identifier, begin by entering the library (Ctrl + L). Then search through all the diffrent symbols and find the one you want to give an identifier. |
Giving a symbol linkage |
Then, right-click on that symbol. Scroll to the option that says "Linkage", and click on it. |
First make sure that Export for Actionscript is checked. Then, type in your identifier name. AS 2.0 class should be left blank, unless you're doing an OOP project and you want your symbol to be a member of a class you've defined. Export in first frame basically tells Flash whether or not the symbol will be loaded in the first frame. This will cause a conflict with the preloader (in most cases). So you should uncheck Export in first frame, and create an instance of the symbol on the frame in which you want the symbol to be loaded. |
You'll see a prompt come up like the one below: |
I know its been a short section, but that really is all I have to say about linkage identifiers and instance names. Hopefully you'll be able to carry what you learned in this section onto the Actionscript section. |
Microphone and Webcam |
Microphone and Webcam |
In this lesson it is taught how to get data from the user's microphone or webcam at runtime. |
Object Oriented Programming |
Object Oriented Programming |
This covers classes and objects, covering methods and properties. There is an emphasis on extending the movieclip class and creating inheritance structures. |
ActionScript Dynamic Graphics |
ActionScript Dynamic Graphics |
This section covers loading bitmaps and SWFs into Flash. As well as using bitmapData to alter bitmaps. This also covers the drawing API and using filters dynamically in ActionScript. |
ActionScript Rendering |
ClipEvents, Handlers, and functions |
ClipEvents, Handlers, and functions |
This section covers the various events in Flash as well as handlers and ClipEvents. I also go over functions, the arguements array, returning values from functions, and using that power to structure effective code. |
Loops and Conditionals |
Loops and Conditionals |
This covers if, for, while, else, and goes into topics such as iteration breaking loops, and switch case. |
Hierarchies and Dot Syntax |
Hierarchies and Dot Syntax |
This section goes over dot syntax and hierarchies as well as function and variable scope. _root, _global, and with() {} are explained. |
Data Types |
Data Types |
This section covers various data types and goes over functions for all of them such as indexOf(), push(), unshift(), split(), etc. |
Basic rules of ActionScript |
Basic rules of ActionScript |
This section goes over the basics of ActionScript, including operators like += and -=, as well as general ActionScript structure. |
Flash Chapter 2: ActionScript |
Basic Rules and Conventions of ActionScript |
In Actionscript, the semi-colon comes at the end of almost every line. The semi-colon indicates the end of a statement. The semi-colon is in some ways similar to a period in English. It says that a certain idea is done. In Actionscript, every statement is put on a seperate line. |
Bob = 4; |
I remember as an Actionscript noob having trouble whilst trying to understand why codes were built the way they were. I never understood why brackets were placed where they were, and I never understood what semi-colons meant. Actionscript has a few basic rules and conventions that allow you to communicate effectivly. The first piece of syntax (punctuation) I'll go over is the semi-colon (;). |
The next basic syntax I'll go over is the curly bracket {}. If you've ever seen actionscript, you've probably seen these buddies. Curly brackets basically start and end a certain a certain function, and serve to group together statements. For example: onClipEvent(enterFrame) { bob = 4; nonagon = 12; //other processes } guy = 2; This code basically creates whats called a clipEvent. A clipEvent houses statements and tells all its statements how many times to run. (The enterFrame ClipEvent tells its codes to run a certain number of times every second). Codes comming after the start bracket { are part of the event, code comming after the close bracket } aren't. So brackets are a way of grouping statements. |
The code above will give bob the value of cow. |
bob = cow; |
The code above will give bob the value of 4. |
bob = 4; |
The second piece of Actionscript syntax I will cover is the assignment operator. The assignment operator is =. What the assignment operator does is it takes the value on the left side of the variable the value of what's on the right side. |
The operator above adds the value of Car to the value of Bob. If I said Bob += 2; 2 would be added to the value of Bob. |
Bob = 0; Car = 2; Bob += Car; |
There are a few other major operators. The first is the addition assignment operator. That operator looks like: += |
When the code above compiles, car will end up with the value of 1. Cow will have the value of 1. And Bob will be equal to 2. |
bob = 0; cow = 1; car = 1; bob = cow + car; |
At the end of this code, Bob is equal to 2. |
Bob = 4; Bob -= 2; |
Another operator is called the subtraction assignment operator. This looks like the following: -= The subtraction operator is exactly like the addition operator except that the subtraction operator subtracts the value on the right from the variable on the left. |
After this code is run, player will be equal to 1. |
Another operator is called the multiplication assignment operator. This operator looks like the following *= (Yes, that is an asterik) bob = 2; guy = 6; guy *= bob; After the code above is ran, guy will be equal to 12 and bob will be equal to 2. The division assignment operator takes the value on the right and has that number divided by the value on the left. player = 10; player /= 10; |
Another two operators are called increament and decreament. Increament looks like the following: ++ And Decreament looks like the following: -- bob = 2; bob++; At the end of that program, bob will be equal to three. The increament operator adds 1 to a variable. It is the same as += 1; Decreament is the opposite of increament, it subtracts 1 from the variable. It is the same as -= 1. |
car = 2; bob = 7; guy = bob/car; This code gives guy the value of 7 divided by 2. |
guy = 4 +2; This codes gives guy a value of 6 |
Wow, your first sentince... Now, note that the compiler will perform the operations on the right side of the assignment operator before assinging it. Look at the example below. |
guy = 4; |
Think of what you've just done as the first steps in learning a new language. Think of variables as the nouns, and the operators as the verbs. You've also learned that semi-colons end statements, and brackets group statements. |
You may notice that I have left out some operators, such as modulus (%). However, modulus is rather obscure and I've only used it a few times. What I just gave was a brief introduction to operators, and I gave out the ones that will be used the most often. The next piece of syntax I will cover is the formal decleration. A variable always needs to be declared, that is given a value. Before it is declared, a variable is just an arrangement of words with no value. As of this point in the tutorial we have so far done the following to "declare" a variable. guy = 4; This is called weak typing. Programs ran using weak-typed variables execute slower that those used with strong typing: guy:Number = 4; After the variable we add a colon followed by the data type. If we tell flash explicitly the data type of the variable, instead of flash trying to figure out by itself, the code executes faster. |
This tells Flash that the variable to be defined is a number. The type of data a variable stores is called a data type. The data type here being used is called a number. |
T he var keyword is optional. If it is there, the variable becomes a local variables, which is only available in the function in which it is placed. Without the var, it is accessable outside that function. |
Lets go over for a moment what every part of the formal decleration means. |
var guy:Number guy = 4; |
As of now, you've learned how to declare and define variables. You've learned that a variable is a way of storing data, and that it can store many types of data. But what are variables used for in the real world of Actionscript? Lets use a platformer as an example. In a typical platformer, the velocity in the x dimension is assigned a variable, as is the the velocity in the y dimension. Movement in the game is controlled by setting or manipulating those two variables. In some platformers, if the user presses the right arrow key, 5 (or some other number) will be added to the x velocity variable. It would look like the statement below: velocityX += 5; You might be asking "How do tell it to change a variable if the key is pressed?" or "How do I allow the user's input to manipulate variables?" The answer to both those questions is simple: using conditions like if. If and other conditions will be covered later in the Actionscript Concept. |
That wraps up my coverage of ActionScript rules and Conventions. I have some links to beginner ActionScript tutorials below. If you want more then I have here on ActionScript syntax, I can really just recommend practicing adding, subtracting, and multiplying variables just to get a good feel for the Syntax. There is one thing that should help you practice (and debug later on). And that is trace(); Trace will output to the developer the value of any variable put into the paranthesis. Note that using trace() won't impact how the program functions, and it will only output values when you're running the Flash program (so if someone is watching it on Newgrounds, trace won't do anything). The following code will output 10 to the screen when ran inside flash: bob = 10; trace(bob); |
Think about a variable as a piece of data. There are diffrent kinds of data. There's a data type for text, a data type for numbers, a data type for lists, and more. These are the data types I'll go over: Number String Array Boolean Date For each data type I'll go over some of the functions used to control that data type. |
Data Types |
Number |
The Number data type is the simplest of the data types, and it stores a single number. If you have programming experience in C, C++, C#, or Java, you'll be used to a few diffrent data types for numbers: like int, int16, int32, float, and double. Flash however, only has one data type for number. Now you might be asking: "Well isn't that inefficient. Of course a decimal takes up a lot more space than the number 3. So does Flash use the same amount of space for both of them?" Yes, a single data type for all numbers is wasteful. But its also easier for beginners, and won't make a big diffrence on non-science or graphics intensive applications. |
String |
A string is a group of letters or characters. Strings are marked by quotes (""). var myName:String = "Alex"; Note that the variable myName, will be given a series of words as its value, this is called a string. String is the data format that all text in Flash is held. Inside of a string, there are a few special symbols that will change how the string is formated: The first is the newline character: \n Whenever the compiler hits a newline character in a string, the text after the newline character is moved to the next line down. \t will be converted to an indentation \\ will be converted to \ |
String Functions |
string.indexOf("word"); - This function searchs through a string until it finds the string value inputted in the arguement. Then it returns the position of the the first character you searched for. If it doesn't find the value inputed in the arguement, -1 is returned. so: myString = "I am cool"; indexOfResult = myString.indexOf("good"); trace(indexOfResult); //Traces -1 subString = string.split("word"); - This breaks the string into substrings based on the word inputted into the arguement. Whenever the compiler encounters the string in the arguement, the string is broken apart. So if I have: myString = "I am a good guy"; myStringSub = myString.split(" "); //String is split whenever a space is found trace(myStringSub[0]); //Traces "I" trace(myStringSub[1]); //Traces "am" trace(myStringSub[2]); //Traces "a" |
String.charAt(position); - This function allows us to retrieve the character that is at a certain position in a string value. Note that the first character is a string is at the 0 position, the second value is at the 1 position, and so on. myString = "bob"; letter2 = myString.charAt(1); //letter2 = 0 String.length; - This property of a string datum is equal to the number of characters in the string. myString = "alex"; stringLength = myString.length; //stringLength is equal to 4 Note that a blank space is considered a character, and will be included in the length. Periods, and all other punctuation are considered character. |
String.toLowerCase(); - This function is extremely useful. Because most things we'll do with strings (such as functions or comparisons) are case sensitive, we'll sometimes want to make the strings we're using all upper or lower case. This function takes a string and doesn't modify it, rather it returns the string with all the characters lower case. myString = "I Am COOL"; newString = myString.toLowerCase(); //newString is equal to "i am cool"; String.toUpperCase(); - This takes a string and returns a new string with all the letters upper case. Its roughly the polar opposite of String.toLowerCase() myString = "I hate people that talk in all caps"; irony = myString.toUpperCase(); //irony is equal to "I HATE PEOPLE THAT TALK IN ALL CAPS" |
string.subString(startChar, endChar); - This function allows you to break off a part of a string and save it as a variable. This does not modify an existing string. myString = "I am a clock"; stringPart = myString.subString(6, 11); //By starting with character 6 and ending at character 11, we give stringPart //the value of "clock". string.substr(startChar, numChars); - This function is very similar to subString(), the only diffrence is that with the subStr() function you don't specify the endpoint, rather you specify the number of characters after the start Character that should be extracted. myString = "I am a clock"; stringPart = myString.substr(6, 5); //By extracting 5 letters after the seventh character (because string counting //starts with 0, stringPart is given the value "clock". |
Array |
In simplest words, an array is a list of values. It is a container which holds numerous diffrent types. It can hold strings, numbers, objects, or even arrays (psst... this is how you might want to make a 2D map. Make an array for each row containing all the columns). var classList:Array = new Array("Alex", "Bob", "George"); The array variable stores a list of numbers, strings, or characters. Arrays are useful for many scenarios. For example, if I want to make a game with mutliple levels, I could have an array which calls diffrent functions for each level of the game. I could make the number of enemies an array, instead of making the number of enemies in each level its own variable. Also, in the lesson on loops, I will explain how to do something called iteration, which makes arrays extremely useful. |
Then if I said: cow = numberList[0]; cow will have the value of 1. If I said: cow = numberList[1]; cow will have the value of 2. 0 will give it the first value, 1 will give its the second value, and so on. |
var numberList:Array = new Array(1, 2, 4); |
The Array is a very complex data type. An array can be a list of numbers, a list of characters, a list of variables, or even a list of strings. |
We can add elements or changes an elements in an array like so: list = new Array("cow", "York"); list[0] = "pig"; Here, we have directly reassigned the first element in the array. Another neat tool we have is the length property: list = new Array("cow", "york"); list.length; //list.length is equal to 2. Although an element in an array is normally given a name such as list[0], however we can give an array a word or series of words as a name: list["bob"] = "cow"; This code creates an element of the array named bob, and gives it the value of "cow". Don't you love how I name variables? |
Array Functions |
Before I leave arrays, there is one last thing I have to tell you about them, you can perform modifications on arrays using functions built into Flash. I will explain these functions. Push takes an array and modifies it by adding a value on to its end. var classList = new Array("bob", "jimbo", "Al"); classList.push("Chris", "Mike"); Basically the push function takes your array and adds one or more values to the end of the array. At the end of this code, classList is equal to: "bob", "jimbo", "Al", "Chris", "Mike" Its important to note that push() returns the length of the array after the new elements are added. So: list = new Array("cow", "norf"); newLength = list.push("bob, "zor"); //newLength is equal to 4 |
unshift() is a function very similar to push. Unlike push, however, unshift() adds the value passed into the function to the begginning of the array, instead of the end. The unshift function returns the length of the new array. list = new Array("pop", "rock", "classical"); listLength = list.unshift("techno"); //The list array is equal to techno, pop, rock, classical //listLength is equal to 4. splice() is a function that can add or remove elements from any part of an array. The splice() function modifies an existing array and returns an array which holds the values that have been removed. splice(startLocation, deleteCount, item1, item2, item3) //You can add as many items as you after the start location and //delete location The start location determines what location in the array the function should start at. The deleteCount determines how many items should be deleted. After that the items listed are added to the array. |
Let me show you a few examples to clarify this: music = new Array("radiohead", "strawberry clock", "Aphex Twin"); //Strawberry Clock isn't a musician, so he needs to be removed music.splice(1, 1); //music is now: radiohead, Aphex Twin We set our startPosition as one, so the 2nd element of the array will be the place function will access. Because arrays start at 0, 1 is the second element of the array. Our removeCount is one, so one element (starting with the start Position) is removed. Lets look at another example: music = new Array("radiohead", "strawberry clock", "b", "Aphex Twin"); notMusic = music.splice(1, 2, "Thom Yorke"); //notMusic is an array containing strawberry clock and b //music contains "radiohead", "Thom Yorke", and "Aphex Twin" |
shift() is a function that removes that last element of an array. It returns the value of the element that is removed. myArray = new Array("me", "you", "bob"); removedElement = myArray.shift(); //myArray is now "me", "you" and removedElement is now "bob" pop() is a function very similar to shift(). However, unlike shift(), pop() removes the first element of an array and returns the value of that element. movies = new Array("The Matrix", "gob", "bob"); removedElement = movies.pop(); //movies is now "gob", "bob"; //removedElement is now "The Matrix"; slice() is a function that retrieves a portion of an array. slice() does not modify the existing array. Slice accepts the start position and end position of the retrieval. alphabet = new Array("a", "b", "c", "d", "e", "f"); letters = alphabet.splice(2, 4) //alphabet is now "c", "d", "e" It has retrieved the values starting with the //first number given and ending with second number given. |
The next array function I'll go over is called concat. This function allows you to take two arrays and put them together to make a single array. var oldClass = new Array("Jim", "bob", "loser"); var newStudents = newArray("Chris", "Mike"); var totalClass = oldClass.concat(newStudents); Basically this function allows us to create a new variable and give it the value of two arrays combined. Sort does not modify an existing array, it returns the value of a new one which can be assigned to a variable. Our next major function is called sort. This modifies an array by alphabatizing its existing content. var classList = new Array("Zippy", "Wuzzle", "Xavier", "klobo"); classList.sort(); The sort function will rearrange classList to make it go in alphabetical order: Xavier, Wuzzle, Zippy, klobo Note that sort will sort always put capitalised words before uncapitalized words. klobo is in the back of the list because it is uncapitalized, even though it comes first alphabetically. |
Boolean |
The last basic data type I will cover is called Boolean. A Boolean is a value that is either true or false. For example, var gameOver:Boolean = true; That variable could also be given the false value: var gameOver:Boolean = false; Now you might be thinking: "Why not just use two numbers, or just have strings representing true and false". Well, you CAN, but its going to take up more memory. A boolean is very small, just one 1/0, while a piece of text or number (especially a piece of text) takes up more more space. And to ensure good performance, minimalizing memory usage is a must. |
gotoAndLearn() |
Kirupa String Data Tutorial |
That's all I have to say about data types. If you want more data, there are some good tutorials I can recommend for you (links to them are below). I'd also like to recommend the book "Actionscript for Flash MX: The Definitive Guide" by Colin Moock. |
_x |
gun |
guy |
Here is that format shown graphically: |
Have you ever double clicked on a movieclip, and created a movieclip inside that movieclip? This is where hierarchies will probably first be experienced by a developer. In the following example I will have a movieclip called guy, and a movieclip called gun will be embedded inside guy, and I will want to edit the x coordinate position of gun (this example uses properties which are covered in the properties section) |
Hierarchies and Dot Syntax |
Here is the hierarchy you just saw, except this time its in a form that can be used in Actionscript: _root.guy.gun._x In an actionscript hierarchy, one moves lower on the hierarchy as they go from left to right. Also a period seperates each of the objects or properties in a hierarchy. So saying gun._x is refering to the _x property of gun, and saying guy.gun is refering to the gun that is embedded in guy. I can use hierarchies to say whether I want a function to be applied to a single movieclip or to an entire movie. _root.gotoAndStop(5); //Applies function to entire movie _root.guy.gotoAndStop(5); // Applies function to single movieclip |
_root is sometimes the root of all evil |
Up to this point, you may have seen that I've began all my hierarchies with _root. Many experienced Flash developers have said that _root is the root of all evil and "Avoid _root like plague". The fact is that _root is very useful for beginners, but can be a problem for advanced Flash developers. _root refers to the main timeline. So most hierarchies start with _root and then go into movieclips, etc. So here you have the basic hierarchy structure: _root.mc.property; _root.mc.function() Experienced Flash developers dislike _root because it can change. If I dynamically load one flash into another, all the _root calls in the loaded Flash will refer to the main timeline of the movie it is being loaded into, and that is a problem. |
_global, it can save a lot of time. |
Now, there is a little something called _global. If I create a variable and put it at the global level, than the variable can be accessed from anywhere in the movie just by using _global when I get the value of the variable. So a variable created on _global can be created anywhere and accessed anywhere without worrying about hierarchies. This is extremely useful sometimes, but can be a pain in some scenarios. This has a few problems. The first is that the variable gets really chaotic when you get into functions, and it can lead to really sloppy programming. The next problem is that you can't strong type variables on _global. You also can't use "var" (the significance of which is dicussed later). And you can't specify the data type of the variable, which makes your code slower. You can't say: var _global.cow:Number = 4; You have to say: _global.cow = 4; |
_parent refers to the "parent clip" of the movieclip / movieclip handler in which the code is placed. So: gun is embedded inside guy _root.gun._parent //Accesses guy movieclip _root.guy._parent //Accesses whatever guy is inside of. If movieclip hasn't been embedded inside another mc, its parent clip is probably _root. The advantage of _parent is that it is relative, so I can access the parent clip of a movieclip no matter where the movieclip is embedded, without changing my hierarchy. |
_parent |
There is one last thing I have to over for hierarchies, and that is a little thing called this. this (forgive the pun) is very important. If I am putting code in a movieclip, than I can just use this to refer to the movieclip that the code is on. For example: _root.guy._x = 10; is the same as: this._x = 10; if both codes are placed in a movieclip's actions panel. Note: In certain functions and something called a handler, you can use this as a hierarchy. So this can be used in other cases than putting the code on a movieclip. But that's a little advacned for now :) Using this saves a lot of time and is also good for debugging because there honeslty aren't alot of ways to mess up a hierarchy that is one word. |
Ever have a scenario where you've wanted to apply one hierarchial reference to multiple functions (say 50 functions). For example: myLine.lineTo(40, 200); myLine.lineTo(10, 27); Okay, we have to give each function a hierarchial reference to a movieclip, or else the code won't work. If you look at the code above, its very messy, and would be a pain to type if you had 200 functions you have to give one reference. So we have something called with() {} with(myLine) { lineTo(40, 200); } In the code above every variable declared or function called in the brackets following if will have the hierarchy that is placed inside in the paranthesis. So place your hierarchy in the paranthesis, and your function calls/variable declerations in the brackets following with(). |
Code with with() can be a life-saver. |
Our lesson on hierarchies draws to a close here. For more information on hiearchies, as well as variable and function scope: |
So far, we've only explained making codes that do the same thing every time. However, to make codes that can run diffrent ways depending on diffrent conditions, you can use if. The if conditional is VERY important. A typical if conditional goes as follows: if (gameOver == 1) { gotoAndStop(2); } The first line of condition begins with the word if to signify the following if condition. Then after if we have in the parenthesis something called the condition. If the condition is true, than the statements inside the brackets below will be done. If not, then the statements in the brackets below will be ignored. |
Loops and Conditionals |
Lets look at our condition a little closer: if (gameOver == 1) { If you look at gameOver ==1, you might think, "shouldn't that == be =" Well, if you remember our first lesson, = is the assignment operator. If I said: if (gameOver = 1) { the program would set the gameOver variable to be 1, and the if statement would always be true! So that is why you always want to use == instead of = in the if conditional. == doesn't set the value of the variable on the left as the value on the right. Rather it sets up a comparison and sees if the variable on the left is the same as the value on the right and returns a true or false value. If it returns true than the statements inside the following brackets are played. |
There are more types of comparisons than just ==. It is important to note that every comparison returns true or false, no matter what. The main types of comparisons are listed below: != This returns true if the variable on the left isn't equal to the value on the right. It is the opposite of ==. > This returns true if the variable on the left is greater than the value on the right < This returns true if the variable on the left is greater than the value on the right >= This returns true if the variable on the left is greater than or equal to the value on the right. <= This returns true if the variable on the left is less than or equal to the value on the right. |
Its important to note that the if condition doesn't need to contain a comparison, it simply needs to contain something that will return true or false. A great example of this is: if (Key.isDown(Key.RIGHT)) { this._x += 5; } Key.isDown(Key.RIGHT) is clearly not a comparison, but rather it is a function that returns true if the user is pressing down the right arrow key. |
if (i == 0) { gotoAndStop(1); } if (i != 0) { gotoAndStop(2); } |
is the same as |
In an if conditional, there in a line of code run if the condition returns true. Else in a modification to an if condition that allows you to fit the content of two if conditions into one. if (i == 0) { gotoAndStop(1); }else{ gotoAndStop(2); } Basically, the brackets after else tell flash what to do if the condition returns false. if (i == 0) { gotoAndStop(1); }else{ gotoAndStop(2); } |
Else - It saves alot of time |
There are two other conditionals I have to go over. The first is called the ternary operator: condition ? true : false; For example, i < 10 ? i++ : i-- is the same as if(i < 10) { i++; }else{ i--; } Using the ternary operator produces code significantly slower than code produced using the if conditional. So my advice is to only use the ternary operator in assignment operations such as x = i > 10 ? 5 : 10; So, only use the ternary operator when the statement being run if the condition is true or false is being assigned to a variable. |
The other conditional I have to go over is called Switch. Switch is simply a conditional that is in some cases more readible than a group of if conditionals. The switch operator is used to compare multiples values to a single variable. Lets say I have a variable named x. If x is 5, it will be changed to zero, if it is 10, it will be changed to 37, and if it is 15, it will be changed to 108. Because I'm comparing multiple values to a single varialbe, this is a good time for the switch conditional. switch(x) { //The variable in () will be used in comparisons case 5 //executes the code following it if x is 5 x = 0; break; //Ends switch conditional, no later part of switch is ran case 10 //Will only execute if case 5 was false. x = 37; break; case 15 x = 108; break; default: x = 100;//Executes if none of the cases before is true |
A loop is basically a method for making a segment of code run over and over again. There are two kinds of loops: loops that end, and loops that don't. Loops that end are very useful. I could create a loop that allows me to run a segment of code 80 times, and then stop. That could (and is) used to make enemies generate on-screen. In this tutorial, a loop was used to run a search function on every page of the tutorial. Loops that don't end aren't very useful in Flash because they cause Flash/your browser to crash. (Please don't create indefinite loops in a Flash movie that cause the user's computer to crash because you think its funny) |
For and While Loops |
The for loop is used to run a series of statements a set number of times. Some uses for this are making a code that attaches a movieclip to the stage 10 times. The syntax goes as follows: for (initial; condition; next) { //statement } This is a real world example: for (i = 0; i < 10; i++) { tree = attachMovie("tree", "tree" + i, i); } The for loop starts by creating a variable called i and giving it the value of 0. It then runs the last segment of code: I++ until the middle segment of code is true. So it says i is 0 and increases it by one until its 10. Each time it goes up by one, it runs the code inside the brackets following the for loop. So in the above program, we attach the Movieclip tree to the stage 10 times. And, conveniently, each instance of tree we attach to the stage has an original instance name. Useful, eh? |
For |
The code above is a perfect example of iteration. In this scenario, we have an array called pageList. Also, in the for loop we define a variable called i. The first time the for loop goes through itself, i is set to zero, and the next line is executed. Because i is 0, the first element of the pageList array will be called (remember that arrays start at 0). The next time that line executes, I will be equal to 1, so the second part of the array will execute. |
for(i = 0; i < 600; i++) { searchReturn = pageList[i].indexOf(search); } |
Iteration is extremely important. Iteration allows you to perform a single process upon each member of an array. We can also use a for loop to attach variables to an array (in preperation for our iterative for loop). Lets say I have a series of variables named page1, page2, page3 (and on like that until page700), and I want to search through their contents. Obviously, searching through each of them manually would be near impossible, and would take lots of time to write. |
Iteration - One of the for loop's biggest uses |
In this scenario, we create a variable called j. Every time the loop executes its commands, j will be increased by 1. Then, when j become 599, Flash will move beyond the loop and go onto the next line of code. What this code does is it takes the variables named page0, page1, page2, (onto page 600), and adds them all to an array (using the push function). The function eval() turns whatever is its arguement into a variable name (even if the arguement is a number or a string). The next line is another iterative process by which each element of the array is accessed using the j variable, and has the toLowerCase() function applied to it. |
for(j:Number = 0; j < 600; j++) { pageList0.push(eval("page" + (j + 1))); pageList.push(pageList0[j].toLowerCase()); } |
Here is another use of iteration loop: |
The while loop is kinda like the for loop, except it has no definite end. It will run its statements forever until its condition becomes false. A friend told me that the following code is common in Professional C++ videogames (PS2, Xbox, Gamecube, Non-Flash PC games): while(gameOver == false) { gameProcesses; refreshScreen; } I personally have never found a use for the while loop, mainly because of the existance of handlers and ClipEvents which can replace while loops in many cases. The reason to use while loops is that you can have a certain segment of code get executed until a condition becomes true. |
While |
This is where my lesson on loops and conditionals draws to a close. If you want a good example of a for loop, rollover the search button the on the bottom of the page. As an exercise in for loops, try to write a program that tells you how many movieclips are embedded in a single movieclip. Does this program require something diffrent than a for loop? If you are confused, read the next lesson on functions and try to work on it again. You'll just have to do it to find out what happens! |
Up until now, you've learned how to create and manipulate variables. And you've learned how to set up conditions and loops to control how variables change in a dynamic manner. This next lesson is very important. This lesson allows you to take everything you've learned and put it to practical use. Put simply, now you will learn how to group statements into functions and how to tell functions to be run. If you created an if conditional in the last lesson and simply put that on the frame and tested your movie, you'd notice that the movie only played the if condition once. The simple fact is, statements and conditionals cannot just be placed on the frame and compiled (in most cases). Most of the time, you have to case your statements and conditionals inside of something called a ClipEvent or a Handler. Explaining ClipEvents and Handlers will be my next lesson. |
ClipEvents, Handlers, and Functions |
This is a little tough to explain, but here I go. Handlers and ClipEvents do the exact same thing. They just do it in diffrent places. A ClipEvent is placed onto a MovieClip, whilst a Handler is placed onto a frame. Lets say you have an enemy. I want that enemy to run a series of AI commands I created. The first option is to use a ClipEvent and put all the codes onto the MovieClip. The alternative is to place no codes on the movieclip and to place all the codes inside a handler on the frame. Which is better? Well, each option works fine. However, today most developers feel the handler is a better choice because it is more centralized. Think about it, in a simple game you might have 3 objects each with their own ClipEvents. That can be managed. However, as your game gets more complex and has more sophisticated code, not having all the code in one place can be very confusing, so much as to destroy a project. So I advise you to place all your codes on a single frame controlled by handlers. It'll really make it easier later on :) |
How are ClipEvents and Handlers diffrent? |
Okay, as I said before, a handler allows you to control how statements are executed for movieclips. Take the below example. _root.guy.onEnterFrame = function() { this._x += 10; this._y -= 10; } Okay, that was a handler. It told the movie to run the code in between the brackets following itself on every theoretical frame. That is, it runs according to the frame rate you set. And it runs on every frame per second. That usually is between 12 and 24 times a second. The enterFrame event is where you want to place the codes and conditionals that you want to be run alot! This is really the main type of handler. |
The Handler |
ClipEvents - How they work diffrently |
_root.guy.onEnterFrame = function() { this._x += 10; this._y -= 10; } is identical to... onClipEvent(enterFrame) { //Type of event goes in paranthesis this._x += 10; this._y += 10; } So now it should be established that ClipEvents and Handlers do the exact same thing, they however do it from diffrent places. The next lesson goes over all the diffrent kinds of events we have. Remember how we learned about enterFrame? Well there are other kinds of evetns. |
1. EnterFrame This runs every segment of code inside of it on every time the screen is redrawn. How many times this occcurs per second is based on the movie's Frames Per Second, which can be established in your movies property options. Most of the code you want to run in a game, you want to run on every frame. Almost all of your code in a game will be placed in this event, so get used to this event, cause he's never going away. onEnterFrame = function { _root.gotoAndStop(2); } |
In the last section we briefly went over the EnterFrame event, which is the main type of event, because it allows you to run your code a large number of times per second. However there are other events which allow you to run your code only once or only when the mouse is down. |
The Events |
This event is far less often used than the first two. This runs its code every time the you click the mouse. This could be useful for maybe running bullet shot code for a movieclip when the mouse is down. An example would be: onMouseDown = function() { numBullets -= 1; aggressive(enemy); //Calls aggressive AI function for enemy so they // change behavior when bullet is fired } |
3. MouseDown |
This event runs its codes only ONCE. And that one time is when the game is loaded. This is good for declaring variables and setting the game's initial state. onLoad = function() { friction = .80 gravity = 2; } |
2. Load |
This events runs its code every time that any key on the keyboard is being pressed. To be honest, I have never used this event. But I guess you could use it to hold all your keyboard based input functions. onKeyDown = function() { inputFunction(); } |
This event runs the code following it whenever the mouse is moving. The only great application I think of for this is to maybe use this event to change the enemy's AI when you move the cursor(gun) in an FPS game. Obviously that action will make the enemies want to change tactics. But you are smart and probably can come up with something good! onMouseMove = function() { respondAI(enemy); } |
5. KeyDown |
4. MouseMove |
What is a function? Simply put, a function is a way of organizing large chunks of code into groups called functions which can be called (used) at will. Believe it or not, you've already used functions. And most beginners to Actionscript use 100s of functions before realizing they're doing it. You see, a MovieClip is something called a class, which in a simple sense is just a structure which contains related functions. More on classes later. And the MovieClip contains tons and tons of preset functions for you to use. play(); is a function gotoAndStop(1); is a function stop(); is a function lineTo(); is a function When you say gotoAndStop(1), you are calling a function. Although the functions that come with movieclip are very useful, you'll find that to make a game you'll want to create your own functions and call them later on. As you'll come to see, functions are extremely useful and important. |
The Function |
The following code creates a function called resetPosition. resetPosition = function() { this._x = 225; this._y = 225; } Then to call the function we just say: resetPosition(); Assuming we have already defined the function, just calling the function by saying resetPosition(); will run the entire function. Now imagine the benefit developers have at having functions like stop(); and play(); Just having to write one word every time you want the movie to stop is much, much nicer than having to write 100s of lines of codes on every line. So, in this way, functions build efficiency. |
Creating and Calling a Simple Function |
Arguements are a little hard to explain, but I'll start by going back to a function that I'm sure is familiar to all of you: gotoAndStop(1); This function is fundamentally diffrent than stop(); in that when you call, the function, you put something inside the paranthesis. In the function gotoAndStop(), you have to put in the paranthesis the frame number you want it to stop at. What's inside the paranthesis is called an arguement. An arguement is basically a part of a function that allows the user to give it some input when the function is called. |
Arguements |
In most cases, you'll simply access the value of the arguement by accessing the variable. For example, attack = function(speed, agility) { move(speed); dodge(agility); } attack(1, 5); In that example, the function can simply use the variables speed and agility, and they will have the value the user gave them. However, what if we want to create a function with an arguement that can accept an indefinite number of values? Well, here the arguements[n] array comes in! When an arguement is passed into a function call, the value passed in is made part of the arguements array. |
Here's a good example of the arguements array in action: kill_kill_kill = function() { //In real life use more descriptive function names for(i = 0; i < arguements.length; i++) { arguements[i].removeMovieClip(); } } Well, this function doesn't exactly deliver on the promise of kill kill kill, because movieclips can't die (except in Flash 9). However, this function does remove every movieclip that is passed into this function's arguement. Whether I pass one arguement into this function, or one hundred, this function removes each and every movieclip passed into the arguement. Herein lies the power of the arguements array, the ability to perform an operation on any number of values passed into the arguement. If you remember the last section, you'll know that this code is an example of iteration. If you're unsure about this, go back to the data types section and read about arrays, and go back to the loop section to read about for(). Trust me, few things are more fun than iteration. |
This is an example of a function with an arguement: enemySpawn = function(numEnemies) { for(i = 0; i < numEnemies; i++) { enemyMC = attachMovie("enemy", "enemy" + i, i); } } To call this function, we'd say: enemySpawn(10); When we call the function, we place in the paranthesis the value or the variable that we want to be the arguement for the function. When the function above is ran, the variable numEnemies in the function will be set as the value inputed when the function was called. Now wasn't that convenient. As a note, a function can be created with as many arguements as you want, such as attachMovie! |
Some functions, like all the functions we've dealt with up to now, don't return a value. They aren't equal to anything. These functions are called "void". Other functions however return a value based on the arguement. Look at the example below: areaCalc = function(length, width) { area = length * width; return(area); } Then to call this function, I'd say houseArea = areaCalc(5, 7); This code will give houseArea the value of 35. Because this begins by calling the function and giving it an arguement of 5, 7. That arguement is used to return a variable called area. The variable that is returned becomes the value of the function, and via the assignment operator, that value is given to the variable houseArea. So when I create a function that returns a variable, that function is equal to a certain number when its called. Confusing, eh? |
Functions that return values |
Recursion is a very, very interesting technique. Its a rather difficult concept to learn, and there are few day-to-day applications of it. So if you don't feel like learning something hard without a good reward, you might want to skip this and come back later. Recursion is the act of calling a function inside itself. For example: recursion = function(n) { if(n < 10) { recursion(n + 1); } } recursion(1); This code begins when it is called. We pass the variable n the value of 1. Because n is less than 10, the function procedes to call itself. This time, however, the recursion function is passed the value of n + 1. So the code will eventually stop calling itself when n isn't less than 10. |
Recursion - Very interesting technique |
If you don't include a way for the function to STOP calling itself, you will have infinite recursion, which is bad. Luckily for you, Flash will automatically stop a recursive function if a function is called inside itself 256 or more times. In a lot of ways, recursion is similar to looping. Both are used to perform a process a number of times. The bottom line is: Recursion consumes a ton of CPU and should thusly only be used when a for loop can't solve the problem effectivly. The case where you'd want to use recursion to solve a problem is when you want the problem's solution to determine whether or not the loop continues or does not. |
Recursion Tutorial |
That sums up my lesson on functions. Sparknotes has a really good tutorial on recursive functions, and I suggest you try it out. |
One of the most exhilirating features of Flash is the ability to create graphics dynamically. In Flash, you can create lines and curves that go to certain points, as well as fills to well, fill those shapes. The advantages of creating shapes dynamically using ActionScript is that you can make the lines and fills based on the user's input. For example, I could draw a line to the position to the user's mouse. I could make a fill that works based on the user's input. |
ActionScript Rendering |
Before I explain making the actual graphics, I have to explain something called hexidecimal number system. You're used to a system of numbers with a base of ten. When counting, you begin in the ones position 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Okay, once you reach 9, you run out of numeric symbols, so you changes the tens position to one, and reset the ones position at 0. When you run out of symbols in the tens position, you change the hundreds position to one, and reset the tens and ones position. That system, where there are ten numeric symbols, is called base 10. In Flash Drawing API, the colors are stored using hexidecimal numbers. Hexidecimal numbers are just like the base 10 system you know and love, except this system has 16 number symbols instead of 10. So: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F And once you get to f, you just set the "tens" position as 1 and reset the "ones" position. |
Hexidecimal Number system |
In Flash, colors are represented and stored as three hexidecimal numbers. The first represents red, the second is green, and the third is blue. color = 0xRRGGBB In the example above, RR represents the hexidecimal color that stores the strength of the red in the color. GG stores the strength of the green color, and BB stores the strength of the blue in the color. 0x comes before every hexidecimal number to make it distinguishable from base 10 numbers. |
9 is 9 A is 10 B is 11 C is 12 D is 13 E is 14 F is 15 |
1 is 1 2 is 2 3 is 3 4 is 4 5 is 5 6 is 6 7 is 7 8 is 8 |
So in hexidecimal: |
The first thing I'm going to teach you about the Flash drawing API is creating lines and curves at runtime. One good application I can think of is drawing a line from a gun to the enemy to simulate gunfire, or draw a line from the mouse to an object. Or you could draw lines and curves just because you can let variables control how they're drawn at runtime. Before we begin, I'd like you to remember that the lineTo() and curveTo() functions are all methods of the movieclip class (meaning that they'll need to be called by a movieclip). You can either create a movieclip programmatically, as will be demonstrated on the next page, or you can create one using the Flash GUI. |
Drawing Lines and curves at runtime |
createEmptyMovieClip(myLine, 10); This function creates an empty movieclip. This function has two arguements: instance name and depth. In this scenario, I'll make my instance name myLine and I'll make my depth 10. Depth is basically just a number that controls how high in the SWF stacking order the object is. Think of depth as the Actionscript equivalent of layers. |
To make our lines and curves visible, we must call the lineStyle() function before we call the functions to create the lines. Note that we can call the line functions without first calling lineStyle(), but all our lines will be invisible. When we draw lines and fills in the flash API, we'll want to create a Movieclip in runtime that can old these lines and fills, so that Actionscript can be applied to that object and the object can have Movieclip methods. |
After we set our lineStyle, we need to set a starting location for all the lines we'll draw. To do this, we use the moveTo function: moveTo(x, y); After we set an initial position, we'll call the line to function: lineTo(x, y); so: myLine.lineStyle(2, 0xff00ff, 100); myLine.moveTo(_xmouse, _ymouse); myLine.lineTo(Stage.width / 2, Stage.height /2); This code draws a line that starts at the mouse position and goes to the center of the stage. If we put another lineTo function after this code, the line will start at the center of the stage and go to the coordinates passed into the last lineTo function. |
Here is our line being drawn at runtime in action: |
Now, you might've noticed a problem with that. The lines simply accumulate. We need to have a way to delete old lines. Assuming we drew all our lines in the myLine Movieclip, this is what we'd do to clear everything drawn with the API: myLine.clear(); Sometimes its useful to clear all your lines every 10 or 20 miliseconds. To do that we'd use: intervalID = setInterval(myLine.clear(), 20); //Clears drawings every 20 miliseconds. One good example of a need to clear a drawing is when you draw a line from say a gun to the mouse location. Only a milisecond or two after the line is drawn, we'll want to delete it (because a bullet trail doesn't stay forever in the air, at least where I come from). |
Now, as cool as lineTo() is, we may someday aspire to draw curves. For that, we use the curveTo() function. At a fundamental level, drawing curves is the same as drawing lines. Our curve will start at the end point of the last line or a point established by moveTo(); Unlike lineTo, curveTo() needs to have 4 values passed into its arguement to work. Like lineTo(), curveTo needs to have the two end coordinates passed into its arguement. In addition to the two end coordinates, curveTo requires control coordinates. The "hump" on the curve will face towards the control point. The slope on the "hump" will be higher if the control point is farther away from the curve. So here is our curveTo() function being called. curveTo(controlPointX, controlPointY, endPointX, endPointY); Remember that all these points can be set and changed dynamically at runtime, so that the curve can change based on certain variables. |
Once you have your lines and curves drawn (and you have produced a closed shape), you can add a fill to that shape. Lets look at the code below: with(_root.myLine) { beginFill(0x00ff00, 100); lineStyle(2, 0x0000ff, 100); moveTo(250, 250); lineTo(0, 250); lineTo(0, 0); lineTo(250, 0); lineTo(250, 250); endFill(); } The with() {} code just takes a certain hierarchial reference (in this case _root.myLine) and applies it to every function/property in the brackets following it. |
Fills |
Using ActionScript (Flash 8 or later), we can control many cool filters on movieclips at runtime. This is what I will teach Bevel Filter Glow Filter Convultion Filter Blur Filter Color Matrix Filter All of these diffrent filters are set up as part of the filters class. To use this class we will have to import it manually using: import flash.filters.*; We can create an instance of a filter using myFilter = new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); |
Dynamic Filters |
Here is an example: myGlow = new GlowFilter(0xFF00FF, 100, 2, 2, 50, 10, false, false); This sets the color as purple, the alpha as 100 (opaque), and it sets the blurs as an even 2 and 2 on both axis. The blur arguement is a number from 0 to 255. The 50 is a measure of strength. Strength is an arguement from 0 to 255. 10 is a measure of quality, the arguement's values range from 0 to 15. False and False set the filter as not inner and not knockout. To set our filter to a movieclip, we use: mc.filters = [myGlow, filter2, filter3]; //filters holds an array of all the filters //for that movieclip. filter2 and filter3 are only included for //demonstration purposes. |
That sums up ActionScript rendering. I hope you continue to use dynamic lines and fills in your applications. |
At the most basic level, the webcam and the microphone are just two more input devices your Flash. The webcam lets you take in video from the user's PC and the microphone lets you take in sound from the user's PC. What you choose to do with that sound or audio is your choice. You can attach the sound or video, or anything else. You could store the data, or you could display it back to the user. You could even use it to make a video/microphone chat program (but you'd need XML, which isn't in this tutorial). |
Webcam and Microphone |
To get data from the microphone, we firstly create a variable to store incoming data from the microphone. Then we have to attach that data from the microphone to the stage (so it plays in the flash). Luckily for us, getting data from the microphone is summed up into one function. Really easy, eh? onEnterFrame = function() microphoneData = Microphone.get(); attachAudio(microphoneData); } The get() function is applied to the microphone data. The get() function returns the data coming from the microphone, and that data is assigned to the microphoneData variable. Then that data is attached to the stage using attachAudio(). Now, that would be the end of the microphone, and we could go on with our lives. However, we cannot, because there are several properties of microphone data! |
Getting Microphone Data |
The first function we can apply to microphone data (and modify it) is setUseEchoSuppresion(true) When this function is called and its arguement is "true", Flash will modify the microphone data by suppresing the echos. Some people prefer to leave echos on, whilst others find suppressing echos gives the audio a cleaner sound. Play around with it! The second property I'll go over is microphoneData.muted This property can be retrieved, and is true if the user has allowed the microphone on their PC to be accessed by Flash, and is false if the microphone has been denied. We can use this to cancel all microphone activity if the user has denied the mic. We can also tell the user that they've disabled the mic: if(microphoneData.muted == true) { txtField = "You have disabled the microphone. Please enable it to continue"; } |
Using Flash's support for video, you can import in video from the webcam. You could use this to create a fun webcam game, maybe even a video chat. You could also teach your webcam to recognize itself, that is, to become self-aware. You could teach it to learn about the universe, to feel human pains and emotions. Although that does go a little bit beyond what this tutorial will cover ;) The basic concept of using a webcam is similar to using a microphone, you use: webcam = myCamera.get(); And then you have to attach that video to a video symbol, which needs to be created manually. webVideo.attachVideo(webcam); |
Using the webcam in Flash |
Look to the top right of the library. Click that small button (shown inside of red square on above screenshot). Once you click it, a small menu will come up. From that menu, select "New Video". |
Click here, inside the red circle (but inside your own Flash of course) |
We have to create a video symbol on stage manually. This video symbol will be the holder for our webcam video. To begin, press Ctrl + L to access the library. |
***Make sure the Type is set to Video(ActionScript-controlled)*** |
You'll see video properties pop-up. You can give the symbol a good name to make it easier to find in the library later, although this is NOT the identifier we will use to access this video via ActionScript. |
Your final step is to give your video symbol an instance name so that it can be accessed via ActionScript. Click on the video symbol and open the properties panel (Ctrl + F3). You can give your video any instance name, but for this tutorial's ActionScript I will be using the instance name webcam. |
Nextly, find the video symbol in the library. Click and drag on that symbol to bring it on to the stage. Once the symbol is on the stage, it should like like the video symbol below: |
That sums up use of the microphone and webcam. I hope you enjoy it. I didn't include any examples in this section because to use webcam/microphone Flash will automatically pop-up a prompt asking you if you want Flash to have access to your mic/webcam. That would be annoying to anyone trying to casually cruise through this tutorial : ( |
Object Oriented Programming (OOP) is a way of using something called classes to store functions and variables. Here is the real shocker, you've been using classes all along when programming in Actionscript. One of the major classes you've used is the class Movieclip. The class movieclip has functions like gotoAndStop() and it has variables like _x and _y. So to do basically any sort of programming in Actionscript, you have to use classes, however this tutorial will teach you to go to the next level by creating your very own classes! Here is what this tutorial teaches: How to create a class and make an instance of it Private and Public data Constructors and methods of Classes Properties Inheritance of Classes |
Object Oriented Programming |
The first thing to know about creating classes in Actionscript is that they can only be created in .as files outside of your main FLA. Creating a class will not work if you do not have Actionscript 2.0 or higher (Flash MX 2004 or higher). Anyway, the first step to creating the class is to create an empty AS document. You can reach the screen where you create new documents by pressing Ctrl+N. |
Creating a Class |
Once you have created your AS document, you need to give it a name. Now, unlike an FLA, the name of an AS document is key to its function. An AS document MUST be given the same name as the class defined in it. Only one class can be defined per AS document. Once you have your class finished, you'll have to include the AS document inside your FLA, by using import className; import bob; When you're ready to import your class into the FLA, you'll have to tell Flash where to look for the .as file, otherwise Flash will tell you that it can't find your .as file. To tell Flash what folders you want it to look in to find .as files, go to File>Publish Settings>Flash>Settings (Small rectangular button to the right of where it says "ActionScript version"). That will open a little prompt which will let you add or remove folders forF Flash to look on. On the top of the prompt, you'll see a little crosshairs symbol. If you click there you can browse through diffrent folders to select the one you want. Remember that you aren't looking for the .as file, you're looking for the folder its in. |
Now a lot of people might think, why don't I use #include "filePath" Well, the simple answer is that using #include makes it the same as if you had copied and pasted the code into the place where the include directive is placed. While this is okay for bringing in functions, it won't work for classes because Flash has a rule that you can't define classes in an FLA. Once you have your AS document up and ready, its time to start your wonderful adventure in OOP. |
The first step we're going to want to take in creating our class is to declare the class. (Remember right now that we're in the .as file with the same name as our class. The file must have the same name) class spaceship { Every code between the brackets following class spaceship will be part of the class. Our next step is to give our class spaceship what is called a constructor function. The constructor function is what we'll call inside our FLA to create an object which is a member of the class spaceship. The constructor function should have the same name as the class itself. spaceship = function(x, y) { var xPos:Number = x; var yPos:Number = y; } |
This space should NOT be empty |
In our main FLA, we can use the following code to create an object of the class spaceship: import spaceship; spaceship(200, 200); If it doesn't work, go to Publish settings and make sure you told Flash where to look for the class file. |
Now that we have a constructor function, our next step should be to give our class methods and properties. In the class Movieclip that you are probably very familiar with, there are methods like gotoAndStop(), play(), and properties such as _x, _y, _quality, _xmouse, and _ymouse. Anyway, you can create your own methods and functions for your class. There are two types of methods and properties: getters and setters. An example of a getter is _xmouse. xPos = _xmouse; _xmouse is called a getter property because it gets a value from a function of the class movieclip and lets the user work with it. An example of a setter is _x. _x = 5; _x is called a setter because it sets properties of the class. |
Its also important to note that you can make your variables or functions either private or public. Private variables are accessable only to the class which defined them, its subclasses, and its friends. Public variables are accessable to any and all classes. Generally the rule is that you want to make a variable private unless there is a specific reason you want it to be accessable to all classes. To declare a variable or function as private or public, simply place the word in front of your decleration as is done below: private var x = 10; public var x = 10; private bob = function() { //stuff } public bob = function() { //stuff } |
Now back with our example of the class spaceship, we can create our own methods and properties, which is cool, but in some cases we'll want to use the functions or properties of the MovieClip class. This is why there is something called inheritance integrated into Actionscript. I can create a class which has all the properties and functions of another class. The class which inherints the methods and properties of another class is called a subclass. In Actionscript, almost all the classes you create for your player, your enemy, or some sort of object on stage will be subclasses of the class Movieclip. This is because the functions in movieclip are extremely useful. To make a class a subclass of another class, simply use the code below: class spaceship extends MovieClip { Here, we include "extends className" to denote what class we want our new class to be a subclass of. The above code creates a class which inherints all the methods and properties of the class MovieClip. |
This is the end of my lesson on OOP as well as my lesson on ActionScript overall. : ( However, to reward your diligence, I will reveal here to you a cookie! Yes, a cookie. Simply enter pronote, trivia, or betatest into the goto Page bar to read something fun! |
This is a 26 question quiz that reinforces everything you've learned in the entire Flash tutorial. If you don't know something, you get a full explination of what you missed and a place to go in the tutorial for more information. |
Publishing Flash |
Publishing Flash |
This section goes over optimizing and compressing your Flash as well as security issues for Flash. This covers everything you need to know to publish your Flash. |
Debugging ActionScript |
Debugging ActionScript |
This section goes over debugging ActionScript. Thorough and deep, this section goes over a diverse range of methods for fixing errors and writing clean code. |
Music |
Music |
This covers adding music to your flash and controlling it with both ActionScript and timeline methods. It covers techniques such as panning and volume control. |
Trigonometry and Physics |
Trigonometry and Physics |
This covers trigonometry that enables the user to work with angular velocity and rotation. This also covers gravity, collision detection, and collision physics. |
Using Text |
Using Text |
This section covers creating and using dynamic and input textboxs, as well as creating textboxes at runtime using ActionScript. |
Flash Chapter 3: Beyond the Basics |
Taking a first look at this title, you may foolishly rush to the conclusion that this topic is going to just restate the painfully obvious, and will just cover the basics of making text boxes. Thankfully, this is not the case. Text can be dynamic, allowing it to display the values of variables (such as a health counter in a game). Also you can make text input text, where the data can be inputed by the user into the text box and stored as a variable. Also, you can generate text using the createTextField(); function. A few other things I'll teach you is giving the user the ability to search through a paragraph for a specific word or letter, letting the user |
Using Text |
Part of this tutorial will go over creating a textbox that displays a variable, a textbox that lets the user define a variable, and using Actionscript to control and manipulate text data. If you read the Actionscript section, you'd know that text is stored in a data type called a string. String data is enclosed in quotation marks. Below is an example of a string. "bob" "This tutorial is pwnage" "5" Although the last one may look like a number data type, Flash treats it as a string, because it is enclosed in quotation marks. If I let the user input text to define the variable health, the health data will automatically be in string value. To convert a string to a number, simply subtract zero from the string. "5" - 0; //Before subtracting 0, "5" is a string. Afterwards, 5 is a number. |
Using and Storing Text in Actionscript |
Here you can select whether you want your text to be static, dynamic, or input. To the right you can turn your text into a hyperlink. If you enter a url into the hyperlink box your text becomes a link to that website. I would advise not to do this, however, because this does not give you the precise control you'd get from creating a button that links to a website. In the box shown below, enter the url you'd like to link to: |
Static text is the first type of text I'll teach you. Static text cannot be edited while the program is running via actionscript (hence the name static). To create a static textbox, simply select the text tool (T) and drag the tool over the stage to create a textbox. If you look down at properties, you'll see a drop down option in the top left corner. |
Static Textbox |
Once you create dynamic text, you'll notice that it looks diffrent than static text. The dynamic textbox will be surrounded by a dotted line. This is done because most dynamic textboxes have no text in them until the program is run, and thusly the user needs a dotted line to locate the textbox. |
The next type of text I'll go over is dynamic text. Dynamic text displays a variable that can be changed dynamically while the movie is being run using actionscript. This is useful for creating health counters in Actionscript, displaying a datum that is set by a series of actionscript rules, etc. The first step to working with dynamic text is creating your actual dynamic text box. To do this, select the text tool (T) and drag it on the stage to create a text box. Then select that text box and go down to the properties. Then, in the top left corner, click the drop down menu and select "dynamic text". |
Dynamic Text |
Remember that your variable name can only contain letters a through z, numbers, dollar sign ($), and the underscore character (_). Also, variable names are cap sensitive and the variable name can have no spaces. When putting a variable name into your dynamic text box's properties panel, you can place your variable on a hierarchy via dot syntax. For example, you can define a variable as _global.health or _root.health I find _global to be extremely useful for dynamic textbox variables. |
The next step we have is to give our dynamic textbox a variable. That is the variable through which the textbox's content can be accessed or edited via Actionscript. To give our dynamic textbox a variable, select a dynamic textobx, and look down to the properties panel. At the center of the properties panel you should see a box that says "Var: " It is in this box that you can place your variable name. |
Creating input text is really no diffrent than creating dynamic text, so I'll be rather brief in my explination. Input text is diffrent than dynamic text in that dynamic text allows the user to display the contents of a certain variable into a textobx, whilst input text allows the user to type text (or numbers) into an input text box and have that set as the value for a certain variable. To create an input textbox, first change the type of the textbox from or dynamic to input. This drop-down box is located on the left side of the properties panel right next to a giant A. |
Input Text |
Lets just be frank, scarcely any piece of visual entertainment would be half decent without audio. The audio in flash can be controlled a number of ways. It can be placed on a timeline so it starts and stops with the animation. Music can also be controlled with Actionscript. As you may have guessed, movies generally put music ont he timeline because it can be easily coordinated with keyframes inthe animation. However games tend to use Actionscript, because of the precise control that many programmers prefer. In this tutorial I will first cover controlling music with Actionscript, the first step of which is bring music into the library. |
Music |
Once in the file menu, go to the file menu, scroll down to import, and go click "Import to Library". (The process is shown below). |
Hit ctrl + L to enter the library. Than find your audio file. Right click on that audio file and scroll down to linkage, and click that option. |
Once you import your audio file, you'll have to give it a linkage identifier. If you don't at all understand what that is, go back to instances and linkage to refresh yourself. If you need a quick refresher, linkage is a way of letting AS access objects in the library. An identifier can be given to an object to let AS codes reference it. |
That's what will pop up. You'll want to give your audio a name, and as you can see above I gave my audio the name "ots". That'll be important later on. In the techniques for using audio that I will teach you, export in first frame will be unchecked. That is done for a key reason. In a normal flash, your first frame is a preloader. If your audio is exported in the first frame, that means your audio will be loaded before the preloader. That's usually a bad thing. So for the time being, uncheck Export in First Frame. |
The next thing I'll go over is scripting a button that plays music as well as a button that stops music. Below is the code that is used in this tutorial to start the music: |
on (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); _root.mus.volume = 70; } This code starts out by creating an onPress event. That means that the code will be ran when the mouse clicks on the button. The next line of code calls the function stopAllSounds(); That function stops every sound that is currently running. We run that function first to clear out any sounds that might be playing before we play our new music. |
_root.mus = new Sound(); _root.mus.attachSound("ots"); The next step is that we create a variable called mus. That variable is declared as the sound datatype. _root.mus = new Sound(); is the same principle as saying: bob = new Array(); Our next line calls the function attachSound. For that function we tell it to look for the linkage identifier "ots" (that was why we went into the library and created the idenifier earlier). |
_root.mus.start(0, 1000); _root.mus.volume = 70; } Our next line calls the function start for the mus variable. The start function has two arguements (shown in parenthesis). The first is how many seconds you want the music to start at. In this script, I want the movie to start at the very beginning, so I put in zero as the first arguement. The second arguement we have is how many times we want the audio to loop. I selected the number 1000 because I want the music to loop indefinitly. If you set it at 1 than your audio would only loop once. Our next line sets the property volume for the variable mus. I choose to set the volume at 70 because I found it to be the best level after conducting numerous tests (they were more like guesses but whatever). That basically sums up the Actionscript used to make a button that plays music. |
Remember when you created the linkage identifier? You had an option of whether you wanted to export the music in the first frame or not. If you choose not to export in the first frame, then your music won't load at all. If you choose to export in the first frame, then the music will load before your preloader, which will mean the preloader won't appear for a while. Both of those are very undesirable scenarios. However, I have found an effective workaround. What's going on at the core level is that Flash won't put a symbol in the SWF exported unless there is an instance of it or if we choose to export the music in the first frame. Because the later won't work, we have to create an instance of the music in the timeline. Now, we can't add the music to the main timeline, because there the music would start playing outside of our Actionscript controls. So, basically, we have to add our music to a movieclip's timeline. And we can use stop frames in front of the music so that it never plays. |
Above you can see what I did with the tutorial you are using now. Inside of a movieclip that is loaded after the preloader, we have the audio. However, because of the first frame being a stop frame, the music is never actually played by the movieclip. But because the music on the timeline, it is loaded, which makes it accessable to AS. So basically, to be able to use linkage and Actionscript with your audio, you have to make sure that the audio is loaded, either with your own tecnique or the one I just explained. |
Doing audio with actionscript is a great method for if you're making a game or some sort of interactive project. However it isn't the best technique for adding sounds that you don't want to be controlled dynamically. Some examples of times when audio should be put on the timeline instead of controlled by AS are: When you want to add sound effects to a movie When you want to have charaters talk in a movie When you have a sound that you want to play the same way every time the movie is run (not controlled by user interaction) Audio that is controlled by the timeline can be easily synched to occur at the same time as an animation, so that your explosion sound can be made to start exactly when the missle hits its target. |
Timeline Audio |
After you import you audio to the stage, click on the keyframe that you want to add the audio to. Then go down to the properties panel. On the right side of the properties panel, click on the drop down menu that says sound, and select the audio you imported. |
When you add music to the timeline, you must add it to a specific keyframe. To add audio to a keyframe you must first import the audio the stage and then you have to declare an instance of the audio on your time To import audio to your stage, simply go to File > Import > Import to Stage. (Or you can just press Ctrl+R). |
This is an example of effective audio. By moving around the keyframe where the audio begins, you can make an audio clip play at the same time as an animation. This is invaluable for special effects, as the sound of a gun firing can be made to occur exactly when the gun's firing animation begins. In the above example, my audio begins to play when the animation does, this is called synching audio to events. |
One very important note is that music should generally be on its own layer (labelled music) on your timeline. Below is an example of a well constructed timeline that integrates audio. |
You should then find that music has been added to your timeline. Note that if music is added to a blank keyframe, the keyframe will still stay blank. Only graphics on stage will turn a blank keyframe into a regular keyframe. |
Now you know how to import your audio into Flash and add it to the timeline. However, once you add your audio to the timeline and get it into the right position, you are not done yet. There are a number of options which can greatly effect how your audio functions (especially regarding your filesize). So continue reading, to hear about the wonderful options you have for your timeline audio. To change your audio's property, select the keyframe with your audio in it, and then open the properties panel (Ctrl + F3). You'll see something resembling the screenshot below on the right side of the properties panel: |
Timeline audio properties |
In this drop down menu you can select any audio you've imported to the stage. The audio you select from this drop down menu will be added to the timeline on the keyframe that you selected when you entered the properties panel. |
This opens up a graph where you can control the volume of the audio on each speaker at any given point in the song. |
Here you can select from a variety of options for your audio's volume and panning. The option left channel will play your audio entirely on the user's left speaker. Right channel will play the audio entirily on the user's right speaker. Fade Left to right will begin by playing the audio on the user's left speaker, and will then gradually move to playing entirely on the users right speaker. Fade right to left starts playing the audio entirely on the right speaker and gradually fades to playing the audio entirely on the left speaker. If you select custom, a graph will open that allows you to create a custom effect. To read about this, rollover the "edit" button to the left of this. |
This controls how many times the audio repeats (if you have repeat selected). |
This displays the settings being applied to the selected audio. Note that these settings can be changed in the publish settings. |
Here you can choose whether you want the audio to loop or repeat. If you set the audio to loop, it will repeat itself indefinitly. If you set it to repeat, you can specify how many times you want the audio to be repeated. |
Here you can select how you want your audio to be ran, or rather what type of audio you want to have. If you select start, the audio will start on that keyframe and will go until it reaches a keyframe with a stop audio keyframe. Secondly, you can select stop. That will make your keyframe stop audio started by audio with the start syncing. The best option in most cases is stream. Stream will crop your audio and will also reduce your file-size DRAMATICALLY. Rarely have I choosen to use something other than stream. Rarely... |
Rollover the object below to read about all the options you have: |
In a Flash, the point of sound is to immerse the viewer. The sound of a bullet blazing by the player is incredibly powerful in building mood. Lets say that bullet blazes by the right side of the character. Using the code I gave your earlier in this section, the sound woud come out equally on the right and left speakers. Suddenly the immersion is shattered. Panning is the process by which the volume in one speaker is set to a diffrent level than the other speaker. We can use the setPan() function to control how much of the audio comes out of each speaker. The setPan function's arguement determines how the audio is distributed amongest the speakers. music.setPan(100); //All sound comes out of right speaker. music.setPan(0); //Sound comes out of speakers equally. music.setPan(-100); //All sound comes out of left speaker |
Panning Sound |
Generally, the best way to set pan is to have the _x property of an object passed into the setPan function's arguement. Now, that gives us a slight dilemna. The _x property of a movieclip is a value that ranges from 0 to the stage's width, whilst the arguement of the setPan function calls for a value from -100 to 100. This is how I did the coversion: panLevel = (((_xmouse - Stage.width) / Stage.width) * 100 + 50) * 2; _root.music.setPan(panLevel); All that code does is it create a variable which will hold our pan amount. The panLevel variable is given a value that will be -100 when the mouse is on the left side of the SWF, and 100 when the mouse is on the right side. There are two ways to change this code to meet your unique needs. The first is that you can change _xmouse (shown in blue) to the _x property of any movieclip or button (myMC._x), so the audio level varies based on the x coordinate of that Movieclip. Secondly, you can change the red number from 2 to 1 to make the audio panning less dramatic (so the sound is never 100% out of one speaker). |
Psybot's Audio Page - I recommend Madness Beep, Heaven Cries, First Level, Focus, and The Last War. This is my favorite audio portal artist. His music is characterised by fast and innovative electronic music with an array of bass, drums, and colorful synth. |
JohnFN001's Audio Page - I recommend A New Hope, Tropick, into the white, into the sun, and Straightforward. His music is characterised by powerful piano contrasted with an excellent sytrus sound. |
That basically sums up my lesson on audio in Flash. As in every other section of this tutorial, I will provide links to build upon what I've taught you. This time I'm going to link to two Newgrounds Audio Portal authors that could be good for a Flash. All Newgrounds Audio Portal submissions can be legally used in Flash destined for Newgrounds. |
This section goes over a few of the math and physics techniques neccessary to make games. I'll explain what the formulas and functions mean, but some of the topics I teach would take a full semester on the topic to get a really deep and thorough understanding. This section will cover the following: Friction and velocity Triangles, angles, and sine/cosine/arctangent ratios. Gravity Advanced Collision |
Trigonometry and Physics |
The first code you created to move an object probably directly set the _x and _y values of an object, like the code below: if(Key.isDown(Key.RIGHT)) { this._x += 5; } Despite its convenience, there are several limitations to this model: 1. Movement looks static, objectss stop dead when the condition is false. This looks unatural. 2. Having more than one force affect the object is difficult/ impossible to do. For example, making wind move the character would back would look strange and unatural. 3. Implementing gravity, springs, or angular velocity is near impossible. So in light of that, we don't just change the _x and _y coordinate directly. |
Velocity and Friction |
Instead of directly working with _x and _y coordinates, its best to work with velocity variables. I personally use vx and vy(my friends uses xacc and yacc). onLoad = function() { vx = 0; } onEnterFrame = function() { if(Key.isDown(Key.RIGHT)) { vx += 5; } myMC._x += vx } The code above might not seem like a huge improvement, but it is. Using velocity variables to control objects is really a neccessity when it comes to doing all the things we'll work with later on in this section. But, if you really analyze the code above, you should notice a problem. If you don't notice it, try plugging it into the first frame on your main timeline with an object on stage with an instance name of myMC. |
Friction |
If you tried out that code, you'd notice that the object its applied to never stops! Yep, velocity is just raised when you press the right arrow key. It isn't lowered. And that brings me to my next topic of discussion, friction. To have friction, all we do is multiply our velocity variables by a number lower than 1. Generally we'd use .9 - .99 What this will do is lower the velocity variablea certain amount depending on how high the velocity is. This makes more sense and looks more natural then subtracting a constant from the velocity variable. Now, if you work for NASA or have some sort of a physics background, you might be thinking "That's not how friction works!!!!!" And you'd be right. Friction doesn't actually just multiply velocity by a constant number. However, in a Flash game (unless its a physics simulator), precision is less important then processing power. So: vx *= .97; is usually the way to go! |
(Press Shift to reset the ball's position) |
So now, with friction integrated, our code looks something like this: onLoad = function() { vx = 0; friction = .97 } onEnterFrame = function() { if(Key.isDown(Key.SPACE)) { vx += 1; } friction *= vx myMC._x += vx; } Press the space key to see it in action below: |
The Hypotenuse is simply the longest side of the triangle. The adjacent side touches our angle but isn't the longest side. The opposite side doesn't touch our angle. |
Hypotenuse |
Opposite Side |
Adjacent Side |
Well, now you know how to make an object with a velocity variable. We can increase or decrease that variable to move our object across the screen. This is good for many applications, but lets say I want to move my object not left or right, but at a certain angle. To do that, you're going to need to learn a little about trigonometry and triangles. This is our friend the triangle, he has 3 sides. In this scenario, we're looking at the angle on the left side of the triangle. |
Triangles |
Think about motion. You have an x coordinate movement, a y coordinate movement, and the path you actually move on. The x coordinate movement you have is like the adjacent side of the triangle, and y coordinate movement is like the opposite side of the triangle. The path you actually take is the hypotenuse of the triangle. Right now, it should become a little bit clearer why we're thinking about triangles. If you know the opposite and adjacent sides, you can know the hypotenuse. If you know the opposite and adjacent lengths, you can figure out the angle. |
On frame 20: |
On frame 1: |
Now, "How does this relate to motion?", you might ask. Well, it does. But its a tad bit difficult to explain, as this is a quite challenging topic. |
The next thing I'll go over is angles. Normally, you think of an angle as a number from 0 to 360, 180 being a half circle, and 360 being a full circle. You measure angles with degrees. Unfortunatly, Flash does not measure angles that way. Flash (and all the Actionscript functions dealing with Trig) require you to use a format called radians. To calculate radians, simply multiply your angle degree (0-360) by Pi, and then divide by 180: radians = angle * Math.PI / 180 One radian is roughly equal to 57.2 degrees. This might make radians seem like an arbitrary unit, however there is a great deal of logic behind it. One circle (360 degrees) is 2 Pi radians. 180 degrees is exactly equal to Pi. Because Pi is used to calculate the cirumfrance of a circle, it makes sense that the unit measuring the angles of a circle is linked to Pi. |
Sine: Sine is the ratio of a triangle's opposite side to its hypotenuse. The Sin() function in Actionscript allows you to plug-in a triangle's angle, and the ratio of that triangle's opposite side to its hypotenuse will be returned. So if we have a triangle with an opposite side of 4, and a hypotenuse of 2, the sin() function will return 2. To use this, begin with your angle (make sure its in radians now). Then pass that value into the sin() function. radians = angle * Math.PI / 180; Math.sin(radians); Sine, being the ratio of the opposite side to the hypotenuse, will reflect the y velocity of your object. (Because the opposite side of the triangle runs up and down the y coordinate). In fact, that is the use of sine, deriving y coordinate velocity from an angle measurement. |
Flash has some inbuilt functions that allow you to plug in an angle or the length of a side, and have another aspect of that triangle returned. |
Cosine: Cosine is a lot like sine, except for this is used for deriving x coordinate velocity from an angle measurement. As you can guess, cosine is the ratio of the triangle's adjacent side to the triangle's hypotenuse. So if our adjacent side is 4 units long, and our hypotenuse is 2 units long, our cosine will be 2. Like sine, we have to enter our angle into its arguement in radians. So the code would be: Math.cos(radians); |
I remember thinking a long time ago, "I want my object to go at a set speed towards a certain angle" (which is useful for having an object balance off of something). But I needed to have vx and vy values, but I had no idea how I'd get them from my angle. Well, the answer is sin() and cos(). radians = angle * Math.PI / 180; vx = Math.cos(radians) * speed; vy = Math.sin(radians) * speed; We say Math.cos and Math.sin instead of simply sin or cos because the sin and cos functions are methods (functions) of the math class. This is the same principle as saying myObject.gotoAndStop(1) instead of simply gotoAndStop(1). Using cosine and sine, we can get axis-based velocity values from angles. |
Using Sine and Cosine to convert anglular velocity to axis velocity. |
So, it really makes a lot of sense. The value cos returns is just the adjacent side / hypotenuse, and the sin value is the opposite side / hypotenuse. |
Opposite |
Adjacent |
When looking at an object moving from one point to another, think about your y coordinate change as the opposite side of a triangle, and the x coordinate change as the adjacent side. |
velocity y |
velocity x |
When you remember what cosine and sine really mean, this all makes a lot of sense. |
Adjacent 2 + Opposite 2 = Hypotenuse 2 or... a 2 + b 2 = c 2 So, the length of our adjacent and opposite sides (vx and vy) are direactly proportional to the hypotenuse (the actual motion path of our object). In cosine the value returned isn't just the adjacent side's length, but rather the adjacent side's length divided by the hypotenuse. The length is divided by the hypotenuse in sine and cosine because the x and y values need to be relative to the overall path of the triangle. |
This brings me to the Pythagorean theorem. |
Now, the last triangle ratio I'll go over is arctangent. There are others I won't discuss like arcsine, arcosine, and tangent, but they have no immediate Actionscript uses, so I won't explain them. If you must learn some more detailed trigonometry (I admit it's quite fun), then I advise you take a class at your local community college/school you are currently in attendance at. Anyway, Arctangent serves the opposite role of Sine and Cosine. Arctangent allows you to derive an angle measurement from a triangle's opposite and adjacent sides. In Actionscript, the Atan function is: angle = Math.atan2(opposite, adjacent); Remember that the atan2() function returns its values in radians. To convert this to angles, simply use: degrees = radians * 180 / Math.PI; |
Arctangent |
Here is an application of the arctangent function. This function creates an arrow that points to a moving button when you rollover the button or arrow with the mouse. onEnterFrame = function() { distButtonX = button._x - arrow._x; distButtonY = button._y - arrow._y; radianAngle = Math.atan2(distButtonY, distButtonX); degreeAngle = radianAngle * 180 / Math.PI; arrow._rotation = degreeAngle; } Basically this code takes two objects, the arrow and the button, and measures the distance between them into the variable distButtonX and distButtonY. Then that is fed into the atan2 function (the y distance being the opposite side of the hypothetical triangle, and the x distance being the adjacent side of the hypothetical triangle). |
Here it is: |
Rollover me! |
Rollover me! |
This is sort of a full Pi (That's a joke because traditionally one would say a full 180 degrees, which is turning around. In radians, a full turn is 1 Pi. However there is also a pun because 1 Pi is phonetically equivalent to 1 Pie, which is actually 2 Pi radians). Anyway, time to talk about gravity. Gravity is an attraction between matter. The strength of attraction between the matter is determined by each of the object's masses, and the distance between the objects. This should all seem pretty logical. The Sun of course exerts more force on you then, say, your toothbrush. The sun's gravity is much stronger than the earth, but there Earth's gravity effects you more because it is much closer. You have observed many times that an object's mass determines the strength of its gravitational pull. This is why the Earth manages to stop you from moving more than a few feet from it (without rockets of course), whilst something mundane, say a toothbrush, barely exerts a force on you. |
Gravity |
In Actionscript, we can express it like this: gravityForce = (mass1 * mass2) / (distance * distance) |
distance 2 |
_____________ |
mass1 * mass2 |
= |
Gravitational Attraction |
So, gravity gets stronger as the objects get more massive, and weaker as they move apart. Below is a simplified version of the gravity equation. This is a simplification, so it would be a bad idea to use this as a source if you work for NASA, but this is good enough for your typical flash application. |
So, now you know how to calculate the force of the gravitational attraction. But, to make this really useful, we should write a function to control gravity. The advantage is that by using a function, you can use a for loop to apply the function to 100s of unique movieclip instances. We start out the function like this: gravity = function(thing1, thing2, mass1, mass2) { This first line creates four arguements for our function: thing1, thing2, mass1, and mass 2. When the function is called, the instance names of two movieclips will be passed into the function along with their two mass values. Our next step is to create distance variables, which will be used later to calculate how strong gravity will be: distanceX = thing1._x - thing2._x; distanceY = thing1._y - thing2._y; Okay, now we have our distance variable. |
After we have a distanceX and distanceY variable, we'll want to create an overall distance variable by using the Pythagorearn theorem. distanceX is our adjacent side, distanceY is our opposite side, and we're trying to find the hypotenuse. distance = Math.sqrt((distanceX * distanceX) + (distanceY * distanceY)); Our next step is to create the gravity force: gravityForce = mass1 * mass2 / (distance * distance); Now, we want to create the angle at which our object will travel. Note that I'm using some trig functions I explained in depth at the beginning of this section, refer there for help. degrees = Math.atan2(distanceY, distanceX); radians = degrees * Math.PI / 180 Okay, now that we have a gravity force, we'll want to actually create acceleration variables for thing1 and thing2. xacc = Math.cos(radians) * gravityForce; yacc = Math.sin(radians) * gravityForce; |
Our final step is to take our acceleration and use it to modify the velocity values of thing1 and thing2. Now, this step makes the assumption that you gave the movieclips you passed in the arguement a variable named vx and vy. We divide our acceleration values by the mass of our object because an object with a greater mass requires more force to move than an object with less mass. (Think about the diffrence between moving a feather and a boulder). thing1.vx += xacc / mass1 thing1.vy += yacc / mass1 thing2.vx += xacc / mass2 thing2.vy += yacc / mass2 On the next page I have the entire function compiled. |
And here is our total code: |
gravity = function(thing1, thing2, mass1, mass2) { distanceX = thing1._x - thing2._x; distanceY = thing1._y - thing2._y; distance = Math.sqrt((distanceX * distanceX) + (distanceY * distanceY)); gravityForce = mass1 * mass2 / (distance * distance); degrees = Math.atan2(distanceY, distanceX); radians = degrees * Math.PI / 180 xacc = Math.cos(radians) * gravityForce; yacc = Math.sin(radians) *gravityForce; thing1.vx += xacc / mass1 thing1.vy += yacc / mass1 thing2.vx += xacc / mass2 thing2.vy += yacc / mass2 |
Basically this code works on the assumption that we have 50 movieclips, each named mc1, mc2, mc3, etc as well as each of those movieclips having a mass variable. The first for loop iterates throught the i variable. When it goes through, it assigns a certain Movieclip (based on the value of i, so if i = 2, it will be working with the movieclip mc2) to thing1. Then the second for loop goes to the movieclip after the movieclip named thing1 by the first for loop and assigns it to thing2. (Because k starts out as 1 whilst i starts out at 0). Then the movieclips are passed into the gravity function. |
for(i = 0; i < 49; i++) { thing1 = eval("mc" + i); for(k = i + 1; k < 50; k++) { thing2 = eval("mc" + j); gravity(thing1, thing2, thing1.mass, thing2.mass) } } |
And this is how we'd call the gravity function we created: |
Over the course of working with Flash, you've probably thought about how I can work with detecting collision between two objects, and making objects react to those collisions. Well, that's what I'll teach you now: detecting when two objects collide, and coding objects to crash back or reverberate in a somewhat realistic fashion. I'll explain the diffrent methods for detecting collision between objects. I will go over 3 techniques: 1. hitesting 2 movieclips 2. hitesting a movieclip and a coordinate 3. hitesting using shapeflags And finally, I will go over the technique for hitesting multiple objects (using for loops). |
Advanced Collision |
There is a function in flash called hitTest which detects when one movieclip hits another. if(movieclip1.hitTest(movieclip2)) { //collision code } However, this method isn't perfect because it doesn't actually detect when part of the shape hits another, it actually calculates the highest x and y, and then lowest x and y values of the shape, and then draws a little box around the oject which is actually used to determine if the two objects are hitting. So this works 100% perfectly if the two objects are squares, but horribly if the two objects are circle or abstract shapes. Below, using hitTest method, the two objects are hitting (Because the boxs drawn around them based on minmum and maximum coordinates collide. |
1. Hitesting two movieclips |
This technique works perfectly for circles, because every point on the circles perimeter is an equal distance from the center. This technique works very poorly, however, for squares. To do distance based detection, our first step will be to calculate the distance between the two objects. distX = ball1._x - ball2._x; distY = ball2._y - ball2._y; distance = Math.sqrt((distX * distX) + (distY * distY)); if(distance <= ball1._width + ball2._width; //collision code for two objects. } The first line of this code generates the distance on the x coordinate and the second line calculates distance on the y coordinate. After that, we use the pythagorean theorem to calculate the overall distance. (There's that trig again). Think about distX as our adjacent side, distY as our opposite side, and distance as the hypotenuse of our triangle. |
2. Distance based detection |
In ActionScript: |
In Algebra: |
c = a 2 + b 2 |
c 2 = a 2 + b 2 |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>distance =</b><b> </b><b>Math.sqrt(distX * distX) + (distY * distY));</b></font></p> |
To calculate the length of the hypotenuse, we use a 2 +b 2 = c 2 (Pythagorean theorem). |
If the blue line is shorter than the two black lines put together, the two objects are hitting. |
Distance |
width/2 |
if(distance <= ball1._width / 2 + ball2._width / 2; //collision code for two objects. } For our first ball, we take its width, and then divide that width by two, to give us the ball's radius. Then we take ball2 and calculate its radius. The radius of each ball is the distance from the center of the ball to the ball's perimeter. Then we add those two distances together. If the distance between the two objects is less than the distance of both the object's centers to their collective perimeters, the two objects are hitting. |
Our final step is our actual conditional that checks for |
Blue is box used in hitTest Black is actual shape |
This method is used to detect if a movieclip is hitting a single coordinate. One good example of using this is detecting if a movieclip is hitting the coordinate position of the mouse. The syntax is: if(mc.hitTest(X, Y) { //collision } In the code above X and Y are the coordinate positions we are hitesting the movieclip with. Note that similar to hitesting one movieclip to another, the movieclip used in the hitTest will have a "box" drawn around it, so that it encompasses the entire shape. That box is used to determine where the two objects are hitting, not the actual shape of the object. |
3. Hitesting a Movieclip with a coordinate position |
There is an option in Flash where you can hitTest with a movieclip and a coordinate position, and have every point on the movieclip active in the hitTest (so no drawing a box, the actual shape is used). Note that we can not use shapeflags with two movieclips, we have to use shapeflags to detect collision of a movieclip and a set of coordinates. if(mc.hitTest(X, Y, true) { //collision } Basically, to use shapeflags, we have to make the third arguement after X and Y true. If we leave that arguement blank, the point is hitested with a box drawn around the object. If we set that arguement as true, the point is hitested with the actual shape of the movieclip. |
4. Hitesting with shapeflags |
Now that you know the techniques for hitesting two objects, its time to move on to hitests with more than 2 movieclips. Because the hitTest function only accepts two movieclips (or a movieclip and a coordinate), how do we run hitTest on 10, 20 movieclips? Well, the simple answer is for loops. The rough technique we're going to use is to use a for loop to run through every movieclip we're running detection on. That movieclip will need to have a hitTest ran on every other movieclip. Then we move on to the next movieclip, which runs a hitest on every other movieclip. |
Collision Detection with more than 2 objects |
Lets say we're detecting a collision amongst 6 movieclips. This is the code I'd use, don't panic though if the code seems complicated, I'll explain it all :) for(i = 0; i < 5; i++) { mc1 = eval("mc" + i); for(j = i + 1; j < 6; j++) { mc2 = eval("mc" + j); if(mc1.hitTest(mc2)) { //collision } } } Our first line of code of begins by iterating through the variable i. Then the next line creates a variable called mc1. Using eval, we give this variable a unique name based on the current value of i. Lets say i is 0, and we're going through the first movieclip. For this movieclip, we'll need to hitTest is against every other movieclip. |
This code iterates through each of the other movieclips after the movieclip that was named mc1. *IMPORTANT* In the for loop, the initial value of j is set as one more than i. So, the for loop only goes through every movieclip after the movieclip currently being iterated in the first for loop. *Complicated* |
for(j = i + 1; j < 6; j++) { mc2 = eval("mc" + j); if(mc1.hitTest(mc2)) { //collision } |
That is where our next for loop comes in: |
Anyway, why do we do this? Firstly, setting j as the same as i would mean that the movieclip iterated in the first for loop will be hitested against itself, that makes no sense. But, why would we want the 4th movieclip to only hitest itself against the 5th and 6th movieclip? Why doesn't the 6th movieclip do any hitTests? The answer, as always, is found in the SATs. If you've ever seen a question that says "Bob has 6 ties and 2 hats. How many unique combinations are there?" Well, here we aren't asking ourself how many combinations there are of hats and ties, rather we're asking ourself how many unique combinations of movieclips we have. We only want unique combinations because running the same hitTest twice is a total waste of CPU. Anyway: mc1 pairs with mc2, mc3, mc4, mc5, mc6 mc2 pairs with mc3, mc4, mc5, mc6 //mc2 isn't paired with mc1 //because that was done in the first pairing with mc1 mc3 pairs with mc4, mc5, mc6 //mc3 already paired with mc1 and mc2 mc4 pairs with mc5, mc6 mc5 pairs with mc6 |
Well, that basically sums up collision detection, gravity, and trig. Ironically enough, what I've gone over constitutes quite a few SAT questions. So believe it or not, that test isn't just academic. What you learned in Trig really does have a real world application : ) Well, anyway, I've taught you to use Trig, create graivty, and collect detections. If you can do everything taught in this section, pat yourself on the back, this was a hard section. Anyway, if you want to read something interesting about this tutorail, enter "betatest", "trivia", "pronote", or "eagle" into the goto Page bar. It'll take you to a nice fun little cookie. Take a break, eat a cookie, or visit one. Its your choice. |
In my programming experience, a solid foundation in debugging and experience with diffrent scenarios has been one of my greatest assets. When writing a program unlike anything you've written before, you'll probably spend more time debugging than writing the program. You may find that projects dealing in familiar grounds won't require any debugging. It really all depends. Although a great eye for debugging programs can only be built with experience and hard work, there are some techniques I can share with you in this tutorial that should make the process of debugging far less painful and easier to grasp. For most people, the real world introduction to debugging is swift and brutal. What happens is you've written a nice little program, but once you go to test it, you see a white screen, or you see objects but nothing works. A third possibility is that you get an error message explaining why the program couldn't compile. The first type of debugging I'll go over is fixing a fatal error, that is an error that stops a code from compiling. If your code fails to compile, you'll get a nice little error, telling you the line of the code that failed, the reason it failed, and where that line of code is located in the movie. |
Debugging |
This is a rather common error that is experienced by a lot of people on a regular basis, but luckily its easy to fix. This error basically means that you put code designed for a Movieclip unto a frame. The first possibility is that you accidently selected the frame instead of the movieclip when you entered the code, and all you need now is a copy and paste job. The other possibility is that you want the code on the frame, but used a clipEvent instead of a handler, the latter of which would be proper. |
Bugs that return an error message are the easiest to fix, because Flash tells you what line failed and why it failed. Here are some common fatal errors: |
Its important to note that you can get the opposite of the error I just showed you, where a handler is put inside a Movieclip's actionscript. Another common error can be seen below. This error is where the user places a character where it does not belong. For example, if one placed a semi-colon in the middle of a line, or if one had more opening braces than closing braces or more closing braces than opening braces. Having an opening paranthesis without a closing parenthesis is also a common error. These errors are easy to fix, just look through your code to find where you placed the extra bracket. Rarely, if ever, will there be a deep fault in your program behind this error, usually you just accidently add an extra bracket or parenthesis. . |
Sometimes, a program will compile successfully and will not return an error message, but the program will not run properly. They are called logic errors. A logic error is when a program has proper syntax, so you communicate with the computer properly, but what you communicate doesn't do what its intended to do. An example would be putting your code in a load event instead of in an enterframe event. Even though you are expressing the load event correctly and the computer can understand what you're telling it, you still have an error because what you're telling the program to do doesn't give you the desired result. These are the difficult bugs. These bugs can take hours to fix, or worse, ruin an entire project. But I have laid out a procedure for handling difficult logic bugs thatshould minimalize debugging time. Step 1: Look for common mistakes Step 2: Use trace function to isolate error Step 3: Disable chunks of code to isolate error Step 4: Make drastic changes to program structure |
Logic Errors: The difficult bugs |
Whenever you have a serious bug, the first step should always be to look for common errors. When I say common mistakes, I mean incorrect scripting that makes a code dysfunctional, but doesn't return an error message. The first common mistake is using an assignment operator instead of a comparison operator. That is using: if (bob = 0) { // This gives bob the value of zero before performing //the if statement instead of if (bob == 0) {//This is the correct method, as it sets up a comparison //as you intend to do with the if statement. Using only one = sign in an if statement does not return an error message. In fact, when the code compiles, bob will be given the value of 0 and the if statement will always be true. |
Using = instead of == can mess up an entire program, because it will change the value of a certain variable in a detrimental way and it will run the statements inside the if statement no matter what the value of the variable is before it enters. When you have a serious error, look through your if, for, a while loops to ensure that you are using setting up a comparison when you intend to do so, by using ==. |
This is the insert target path button. |
The second common mistake is incorrect hierarchy use. An example of this is saying _root.variable as opposed to _root.guy.variable (in this case we are assuming that the variable is embedded in guy). If you find your hierarchy has an error, but are confused about how to fix it, try using the insert target path button to get an accurate path. So basically, after you check for the == error you should run over your hierarchies to make sure they're correct. Oftentimes I've spent hours debugging a program, using complex hypothesis, only to find that the code failed because my hierarchy referenced the wrong variable. So check for the common errors first! |
In the eternal war between Actionscript programmers and bugs, trace is the atomic bomb. Basically, trace is a function that allows you to take a variable (or any sort of value) and have it displayed in the Flash developing environment when you test your movie. Its essential to note that the trace function doesn't do anything to your published SWF. Trace is only used in the debugging process, and is not part of the final product that your distribute via the internet or any other network. The trace function only works when you're in the flash authoring environment, and you go to Ctrl > Test Movie (Ctrl + enter). Lets say I have the following code: velocityX = 20; trace(velocityX); When I go to test my movie in the Flash authoring environment, 20 (or whatever the value of velocityX is, will be outputed to the screen in a small window. |
Step 2: Using Trace Function |
When you test your movie, Flash will open a little output window like the one above, showing the value of whatever is the value of the variable being traced. It should be noted that you can run as many trace functions as you'd like. However, this isn't a smart idea because its can be confusing which variable is being outputted to the screen. As a note, I can also have trace output a string (or a string and a variable): trace("velocityX is:" + velocityX); |
Anyway, I've explained what trace does and how it works, but I've never explained how to use it to. The way to use trace, is to determine what segment of your code isn't functioning properly. Lets say we have the following code: on(press) { numGuys++; for(i = 0; i <numGuys; i++) { guyMC = attachMovie("guy", "guy" + i, i); } } Okay, now when you look over this code, you have no idea what's wrong, since the movieclip guy isn't being attached. Now, for this code, there are 3 potential parts of the code that could be failing. numGuys could have the wrong value, or could be undefined. AttachMovie could be failing. Or our for loop could have some sort of dysfunction. And finally, the on(press) event could be failing. On the next few pages I'll explain the procedure for using trace to find the error. |
The most logical procedure for using trace to find the error is to test each part of the code, starting with the most general handlers, then going to specific functions, then going to conditionals and loops, and finally going into specific statements. We do this because if the handler or function in which all the code is placed is broken, the statements inside those handlers will be broken as well. So always start general and then work you way into specific statements! With that in mind, we'll start our test by running the trace function to see if on(press) is working. on(press) { trace("On press is working"); numGuys++; for(i = 0; i <numGuys; i++) { guyMC = attachMovie("guy", "guy" + i, i); } } |
If we go to test Movie, and the Flash output window says "on press is working", we'll know that the trace function got run, and that the press event isn't what's causing our error. Our next step will be to test out the for loop to see if that's what's causing our problem. on(press) { numGuys++; for(i = 0; i < numGuys; i++) { trace("For loop is working"); guyMC = attachMovie("guy", "guy" + i, i); } } Here, we place our trace function inside the for loop. If the trace function executes, we know that the for loop is working and isn't causing an error. If you were to run the code above, the trace function wouldn't be executed. That's because the for loop is broken. See how using trace can let you see what's causing the problem? |
for(i = 0; i++; i <numGuys) { guyMC = attachMovie("guy", "guy" + i, i); } |
Okay, so now we know that the forloop isn't working. And that could be all or part of the problem (its possible that attachMovie isn't working too for all we know). Anyway, what we have to do now is fix what's broken. Lets look at the variables we're using. The variables we are using are: i and numGuys. And also we are also calling the linkage indentifier of Guy. Our first logical step should be to trace i and numGuy variables. However, we can't really trace i, because the variable is created in the for loop. And we can't run trace inside the for loop, because its broken. However, we don't really need to trace i, because it only exists in one line, and is defined exclusively in the for loop. |
If you run that code, the Flash output box will display NaN. This means "Not a number". The reason for this is that we never defined numGuys or gave it a value! And so we have it, the reason the code didn't work was because we never declared the variable numGuys. And we discovered this fact using the trace function! After you find what part of your code is failing with the trace function, you can take steps to fix it! Using trace should be the first thing you to do debug a code after you scan for common errors. |
on(press) { numGuys++; for(i = 0; i < numGuys; i++) { trace("For loop is working"); guyMC = attachMovie("guy", "guy" + i, i); } } |
So that leaves us to run the trace function on numGuys. |
In my experiences, most bugs can be solved by looking for a common error, or by using the trace function. However, sometimes, you use search for common errors and find nothing. Then you use trace and find that your results are cryptic or don't point to a clear source of error. In my opinion, after you've exhausted trace and you're sure there isn't a common error, the next step should be to disable code. Basically, we disable most of the code, so that it doesn't work. Then we decomment the code line by line in such a way so that we are individually testing every line to see if it works. |
Step 3: Disabling Chunks of Code to find and fix error |
So, that brings me to my next point of lesson: How do you disable a chunk of code??? Well, the simple answer is comments. Anything you mark in AS as a comment is ignored by Flash and isn't part of your final program. Take the following code: on(press) { bob += 5; //This increases the variable bob by 5. } On any line, any code after // will be ignored by the compiler. To create multiple line codes, we can use /* to start a comment and */ to end a comment. For example: /* This code controls the user interaction for this application. */ You'll know you've made a comment because everything ignored by the compiler will turn grey. |
/*if (i == 0) { i++; //This increases i by 1 }*/ |
Good. Embedding // inside of /* */ comments is okay. |
BAD!!!!!! You can't embed /* */ comments in other /* */comments. |
/*if (i == 0) { i++; /*This increases i by 1*/ }*/ |
There are two general applications for comments: one is to leave brief notes with your code that makes it easier to read. The other use is to disable chunks of codes. This is an example of using comments to disable a code: /* if(i == 0) { i++; } */ The general convention is that // is used for leaving short notes to make your code easier to read and that /* and */ are used for disabling segments of code. This is because sometimes I might want to disable large chunks of code that include comments: |
Okay, below is an example of a case where disabling chunks of code could be advantageous: on (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); _root.mus.volume = 70; } |
Hopefully it never comes to this, but sometimes after hours and hours of debugging, you've found that your code doesn't work. Sometimes you'll need to try dramatically changing a code's structure to make it work. Because trying to fix a program is good experience, I recommend not giving up on a program until you've spent a few days trying to debug it. Sometimes however, you make a program which is just flawed at a fundamental level, and needs to simply be largely retwriten. There's not much to say about this one :) Basically, if all else fails, you have to rewrite the program. |
Step 4: Make Drastic Changes to Program Structure |
Well, I basically just went over how to remove bugs once you get them. And that is a very useful skill, because no matter what, you'll encounter bugs. However, I have 5 easy things to do that reduce the number of bugs you'll make. |
5 ways to write programs that have less bugs |
One day, I wrote a neat little program that calculates the area, volume, and height of various shapes. It was cool, a little over 100 lines. It worked fine, however, the variables were named things like yoko, toko, pokgo, noklo. The variable for what would be couted to the dos prompt was called nogo. The program was totally worthless after it was written, because it was impossible to read, and insanely hard to debug. Now that might seem like an extreme example, but a lot of people don't give their variables good names. I see a lot of people who give variables names like "player", "class", or "list". If you are making a serious project that has more than 5 or so variables, every variable should be given a precise or specific name. Some people try to save time by using variables like class instead of currentClassList (which is much more descriptive) because they think it will save time. Let me assure you that for every second you save by typing the shorter variable name, you'll spend another 2 debugging because you confuse your variables. So when it comes to variables, be precise and descriptive! Others (not just you) should be able to know what your variables mean without reading the entire program. |
1. Name variables descriptivly. |
Remember how I talked about comments a few page ago. Well, they've come up again, except here we're not using them to disable chunks of code, now we're using comments to make codes more readible to humans. Comments are little notes that you can add to your actionscript that make the codes more understandible to humans. The notes are ignored by the compiler and do not change how you program functions. The comments are not included in the finished and published SWF because they're never compiled. I'd advise that every time you define a variable, define a function, operate on a variable, or call a function, you include a comment. Look at the well commented code below: mainPlayerMove = function() { //Controls main character movement if(Key.isDown(Key.LEFT)) { this._x -= 5; //This makes the player move to the left this.gotoAndStop(2); //This makes the character face left Maybe you're thinking "Well I know what my code means, after all, I wrote it". Well, you're wrong. Even if its just going to be you reading your code, its important that you have human comments to read. Its very important. |
2. Comment your code |
When you program, put all your code in one frame of an otherwise empty layer called "Actionscript". Yes, I know, we all love the ClipEvent, but quite frankly, you need to put all your code in one frame, not onto a bunch of movieclips. When you open your Flash, you want to be able to see all your code in one place. There is nothing more frustrating then trying to debug a program when you're creating a variable in one movieclip and working with it in another's actions panel. Basically, when you create a code, you want to have it all in one place. However, if you're working on a big project it is okay (and probably neccessary) to put your code into diffrent class files. Its just fine to keep code in diffrent files, it makes it easier to look at and sort through, if each file represents a single class. However, putting code into a bunch of diffrent movieclips is still bad style. DON'T DO IT! |
3. Centralize your code |
Although this isn't feasible on a lot of really advanced projects, you should try not to write your program all at once. You should try to write it one function at a time, as much as it is feasible. And then when you write a function, test the movie and see if the function works. Again in some programs that use flash API rendering and some other advanced things, writing one function at a time might be infeasible, because every part of the code is so inter-dependent. At the very least, code every movieclip seperatly and test to make sure that works before moving onto the next movieclip. |
4. Code in Chunks. Don't write it all at once |
This is a decent code, however it would be better if we made the part that draws the line and the part that deletes the line two diffrent functions. |
drawline = function(x, y) { moveTo(x, y); lineTo(_xmouse, _ymouse); counter = setInterval(function() { clear(); }, 10000) |
When you learned to write english, you probably were told not to make your paragraphs too long. Well, the same thing applies to programming. Don't make your functions too long. If you have a function which is over 80 lines of code, you should consider breaking that function into 2. The simple reason for writing managble functions is that it makes your code easier to comprehend and digest. Also, if you have very large functions as opposed to small ones, you have to call a very large and cumbersome function, even though parts of that function may not be relevant. For example, |
5. Don't make your functions too big |
<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.actionscript.org/tutorials/beginner/Common_Errors_and_Debugging/index.shtml"><b>Actionscript.org guide to Debugging</b></a></font></p> |
Well, that basically sums up my lesson on debugging. Hopefully I have given you a few good techniques for writing clean error-free code :) Honestly, being an effective debugger is a huge part of being an effective programmer. And becoming an effective debugger takes years, its really an acquired skill. Below I have some links to help you debug Actionscript. |
Although it may seem like a matter of pushing the "publish" button, finalizing and publishing your Flash is immensely important and actually rather complex. When you've finished your Flash, there are 3 things you'll want to do to make your SWF the best it can be. 1. Optimize your Actionscript and graphics (using techniques I'll teach you). 2. Set publishing options to best suit your Flash. 3. Think about the Flash security to best suit your needs 3. Test your Flash on bandwith settings to ensure it works properly 4. Publish your final SWF This section will go over in a great deal of depth the ways that you can optimize your Flash, choose export options that fit you, and make your Flash all that it can be. |
Publishing Flash |
Believe it or not, there are a few simple but highly effective ways to make your Actionscript execute more rapidly. And we all know that lower execution times means lower lag, and lower lag means a happier audience : ) 1. Strong-Type Variables Believe it or not, your code executes faster when you strong type your variables. If you need a refreshing in your memory, strong typing variables is explicitly stating the variable's data type. Strong Typed: x:Number = 10; Weak Typed: x = 10; So whenever possible, include the datatype of the variable you're creating by explicitly stating its datatype. |
Optimizing Actionscript |
2. Don't use extraneous Data-types. Each diffrent data-type uses a certain amount of memory. For example, a boolean: x:Boolean = true; takes up only 1 byte of memory (since all that needs to be stored is 1/0). However a number takes even more memory (I'm not sure quite how many bytes it is, but its a fairly signficant number). So if you can get something done using a boolean data-type, use a boolean data type. Only use a more consuming data type if you need to store more data. Also, strings(text) take up even more memory. So if you can get away using a number/boolean instead, do it! |
2. Some Operations are fast than others For example, if(i == 0) { i++; }else{ i--; } is faster than: i == 0 ? i++ : i-- although they both do the same thing. On the next page or two, I'll go over some of the operations which are faster than others. |
In most cases for loops are faster than recursive functions. So when you're thinking about using one or the other, ask yourself "Is the number of times I want my loops to iterate defined before the problem or is it part of the problem's solution?" If the number of iterations is determined before the problem is handled, then a for loop will suffice. The following is an example of that: bob = new Array(1, 2, 3, 4); for(i = 0; i < bob.length; i++) { bob[i] += 1; } In this example, we know the length of the array before we start iterating, so we can put in a value for the for loop. An example where recursion is needed is a program that finds all the factors of any number between a lower and an upper limit set by the user. In this example we'd need recursion, because the number of times we need to factor a number can't be set before the program is compiled. For example, 18 needs to be factored more than once to get to 3*3*2, whilst 4 requires only 1 factoring process to get to 2*2 |
Realise how every factor tree is diffrent. To know how many times you'll need to factor a number out, you have to start factoring, which is a great place to use recursive functions. |
2 |
4 |
3 |
12 |
8 |
144 |
16 |
Here is a graphic model of the last example: |
Here is an example of factorial solving using recursion: function factorial(n) { if(n < 0) { return 1; } if(n <= 1) { return 1; } return factorial(n-1) * n; } Generally, I believe that recursion should be avoided because it makes the job of coding difficult. When you look at a function, you can't just see that function in the context in which it will be called by the program, you have to see how the function will react when its called by itself. If its possible, my advice would be to use for or while loops in place of recursion whenever it is possible. More on point, RECURSION TAKES ALOT OF RAM, AVOID LIKE PLAGUE! |
Because vectors are covered extensively in the Swift 3D publishing section, I will only provide a brief summary here. |
There's a LOT you can do with your graphics to reduce the toll you flash takes on your user's processing power. If you draw something on screen like the cube below, it will be stored as a vector data-type. |
Optimizing Graphics |
Vectors store images as a series of lines, fills, and circles. The file only stores the color of the object, center/radius of cirlces, and positions of lines, and draws the actual object while the image is being viewed. Rasters simply store the location and color of every single pixel. As you can imagine, this provides a lot of detail, but requires a good deal of processing power. Vectors are the graphics created by Flash's drawing tools. They take up very little file-size, but they are very consuming on processing power. Conversly rasters take up a good bit of file-size, but they aren't drawn at runtime, so they don't take up a lot of processing power. |
The following quiz is the final part of the Flash section. This quiz is designed to help you find out what you know and don't know well enough regarding Flash. The quiz is composed of a series of questions. If you answer wrong, you see an explination of why you're wrong and what the right answer is. If you get it right you go to the next question. I realise you can cheat extremely easily using the right and left arrow keys, however this is really futile as no one is keeping score. The point of this quiz is to help you know what you need to study more. |
Reinforcement Quiz |
Variable Definition Operator |
Transitive Operator |
Equals Operator |
Assignment Operator |
Comparison Operator |
In Actionscript, which of the following is the name for the = operator? |
The symbol = is called the assignment operator. This operator takes the value on its right side and assigns it to the variable on the left side. Look at the example below: numTrees = 10; Here the assignment operator is used to give numTrees a value of 10. The assignment operator is diffrent from equals (==), because equals sets up a comparison. Look at the example below: if (bob == 10) { In this example, the equals comparison is used to compare two seperate values, which is diffrent than the assignment operator which gives the variable on the left a value. The choices such as transitive operator, comparison operator, and variable definition operators are incorrect terminology. Also, a statement with the assignment operator doesn't posses the transitive property and is not a comparison. |
You got it wrong. Time to see why : ) |
0x0000FF |
0xFFFFFF |
0000FF |
FF0000 |
00FF00 |
0x00FF00 |
001 |
b1 |
blue(RGB, B) |
0xFF0000 |
Which of the following expresses blue properly using hexidecimal numbers? |
This question basically asks you how to express blue in hexidecimal colors. Allright, first let me explain hexidecimal numbers. The hexidecimal number scheme counts from 0 to F. 0123456789ABCDEF In accordance with this, F = 15, E = 14, and so on... The beginning of a hexidecimal number is denoted with 0x. Also, colors in Flash are measured using RGB (Red, Green, Blue). So basically, colors are expressed like this: 0xRRGGBB Each hexidecimal number after 0x sets how much red, green, or blue is in a color. For example, 0x0000FF is blue (hence the answer to our question). 0x00FF00 is Green. 0xFF0000 is red. 0xFF00FF is a mix of red and blue. This way of expressing colors can be used to set the color of lines and fills in the Flash drawing API, the use of which is covered in the Actionscript section. |
Sorry, you got it wrong. :( |
.gif |
.as |
.exe |
.swf |
.jsfl |
.fla |
Which of the following Flash file types can be easily distributed over the internet and read by the Flash Player? |
This is the kinda thing you either know or you don't. .as is wrong because it is the file format your use to create classes to be imported into an fla. This file isn't read by the Flash Player. .fla is wrong because that is the file format you use when editing or creating your Flash. It can only be read by the program Flash, not the Flash player. .jsfl is wrong because it cannot be read by the Flash Player .gif is wrong because it is not read by the Flash Player, although it can be easily distributed over the internet. .exe is close, however the .exe is run autonomous from the flash player and is not distributed via the internet. .swf is the right choice. The swf is read by the Flash Player and is easily distributed over the internet. SWFs are the files distributed on sites like Newgrounds and Armorgames. |
You got it wrong. Time for me to explain why :) |
In Actionscript, the following code is proper syntax: oldClassList + newStudents = 28; |
For a little recap, the assignment operator (=) takes the value on the right and assigns it to the variable on the left. So for the assignment operator to work, there must be one variable on the left side. This code does not work because it has two variables on the left side. I could replace this code with oldClassList = 28; newStudents = 28; or something else depending on what precisely I want to do... |
oldClassList + newStudents = 28; |
The statement was not legal Actionscript. |
You got it wrong :( |
Hypotenuse/Adjacent |
Hypotenuse/Opposite |
Opposite/Adjacent |
Adjacent/Hypotenuse |
Opposite/Hypotenuse |
Sine is the Ratio of the ______ to the _______? |
Sine = Opposite/Hypotenuse Cosine = Adjacent/Hypotenuse Tangent = Opposite/Adjacent |
Sine is the ratio of the length of the opposite side to the length of the hypotenuse. |
You got it wrong :( Time to see why! |
Parameter |
Loop |
Modifier |
Operator |
Conditional |
Arguement |
Function |
Class |
gotoAndPlay(1) is a... |
gotoAndStop() is a function. As a recap, a function is a way of organizing code. A function is in the simplest sense a series of statements grouped together that can be reused over and over again. How we do this is we first define a function myFunction = function() { //statements, codes that perform operation } Then we can reuse all of the codes from our function, simply by calling it: myFunction(); When you say gotoAndStop(), you are calling the function gotoAndStop(). gotoAndStop() is a function built into Flash, and it has already been defined for your use :) For more information, visit the Actionscript lesson of the Flash section. |
Functions |
Members |
Objects |
Instances |
If a shape is converted to a symbol, multiple ________ of that symbol may be used without significantly increasing the filesize. |
The correct answer was instances. When you create a symbol, each occurence of the symbol on stage is called an instance. You can create as many instances of a symbol on stage as you want without significantly inreasing your flash's filesize. When you edit the actual symbol, you change every instance of that symbol. Members, objects, and functions are all wrong. They are the wrong words, and they are the wrong concepts. |
========== |
****LOL**** |
thing.guy |
break |
new |
()_() |
iPwn uAll |
$$$$_$$$$ |
Which of the following is a legal variable name? |
In ActionScript, variales names can only be composed of dollar signs, letters, numbers, and underscores. Also variable names are caps-sensitive. And finally, certain words cannot be variable names because they are reserved by the compiler. For example, I can't name a variable "if" because the compiler already has a use set aside for if. Break and new are both words reserved by the compiler, which knocks off two of the choices. One of the choices contains a period in it, this isn't okay because the compiler uses dot syntax for hierarchies. Also, a variable cannot contain a space, which knocks off another choice. And that leaves us with $$$$_$$$$ as our only valid variable name. |
t:Number = getTimer(); for (i:Number = 0; i < classList.length; i++) { lowerCaseClassList = classList[i].toLowerCase(); toCaseEnable:Boolean = false; searchEnable:Boolean = true; refreshSearchInit(); time:Number = getTimer() - t } |
t = getTimer(); for (i = 0; i < classList.length; i++) { lowerCaseClassList = classList[i].toLowerCase(); toCaseEnable = false; searchEnable = true; refreshSearchInit(); time = getTimer() - t } |
Which of the following codes executes faster? |
When you saw that you were asked to compare 2 codes, you first step should have been to find how the 2 codes were diffrent. If you did this you'd find that the only diffrent between the codes is how the variables were defined. In one code all variables were strong-typed, where the data type was included in the variable definition. The other code had all the variables weak-typed. Strong typing variables is faster than weak typing (note that strong typing only works in Flash MX 2004 or later). var bob:Number = 10; executes faster than: bob = 10; So when writing a program, remember that entering the data type of the variable after the variable name (bob:Number, words:String, list:Array) makes your code run faster! |
You got it wrong. But I can't blame you. This question is tough! Well, time to explain to you the answer... |
Shape Changer |
Shapehint |
Shape morph |
Custom Shape Tween |
Transform Property |
Shape Guide |
Motion guide is to motion tween as ______ is to shape tween. |
The correct chocie was shapehint. The other choices were simply the wrong terms. Shapehints basically allow you to have more precise control over how a shape tween is executed. Basically, in the first keyframe of our shape tween, we press Ctrl +shift + h to add a shape hint. We proceed to snap the shapehint to the edge of the shape. Then on the second keyframe we move our shapehint to some point on the shape. When the shape tween is executed, it will be done in such as a way so that the point at which the shapehint is located on the first keyframe is moved to the point of the shapehint of the second keyframe. A much longer and more complete explination is available in the tween section. |
Method modifier |
Class Function |
Creation Function |
Instance Function |
Constructor Function |
Main Function |
The function of a class that is called when an object which is a member of the class is created is called a: |
The correct choice was constructor function. Let me explain this from the beginning. When we decide we want to create an object that is a member of a certain class, we use the code below: objectInstance = new myClass(); But when we create an object that is a member of a class, we are calling that class's constructor function. Basically the constructor function is called when the object is created. So think of the constructor function as having all the things that will initialize your class. And also give it an arguement which will give each member of the class distinct qualities upon initialization. To create the constructor function, simply define a function in your class with the same name as your class. That function will automatically become the constructor function. This is a good example: ship extends MovieClip { ship = function(xPos, yPos) { _x = xPos; _y = yPos; } } |
Resonance |
A syntax error |
Recursion |
Iteration |
function factorial(n) { if(n < 10) { factorial(n + 1); }else{ return(0); } } |
is an example of: |
The following code: |
However, recursive function are MUCH more consuming on memory than for loops, and are usually harder to read. Sometimes however, you do not know how many times you want a certain code to execute. This is where recursion comes in. Recursion is useful when you're not sure how many times you want the code to run, and that itself is defined by the problem. If possible, however, use for loops because they consume less memory. |
That code was an example of recursion. In short, recursion is calling a function inside itself. In the example below, the function continuously calls itself until the n < 10 condition evaluates to false. Because a certain segment of code is being ran a set number of times, recursive function is similar to a for loop. |
i < 10 ? i++ : i = 0; |
i < 10 ? i++ : i = 0; |
if(i < 10) { i++; }else{ i = 0; } |
Which of the following codes is better (considering what the two codes do)? |
The correct choice was using if. Although the conditional operator/ternary operator (?) is an allowable way of doing the code shown, the conditional operator was not the best choice in that scenario. In this scenario, the if/else code was much easier to read, and thusly easier to debug, making it a better choice. The conditional operator should really only be used for assignment. For example, i = d > 10 ? 1 : 2; |
When creating classes in Flash, one must define the class in .as file outside the main fla. This .as file can be imported into the main FLA by going to File > Import > Import to Library. |
The correct answer was false. You do not include a .as file in your main FLA by going to file > import > import to library. Rather, you have to include a pre-processor directive in your FLA. A pre-processor directive is basically a line of code that isn't executed whilst the SWF is being ran, rather it is executed while the code is compiled, and the result of that is included in the final SWF. To include a .as file in your main fla, simply use the #include directive: #include "filename.as" When Flash compiles your fla into an SWF, the compiler will take the code inside the .as file and add it your main SWF, so that the code is included in your SWF and can interact with all your other codes. |
for(i = 0; i < 10; i++) { // Runs the code inside the //loop 10 times result = pageList[i].indexOf(search); //Searches through each member of pageList array. If //it finds the search word it returns its location in //the string. If it doesn't find it, it returns -1. |
for(i = 0; i < 10; i++) { /* Runs the code inside the loop 10 times*/ result = pageList[i].indexOf(search); /*Searches through each member of pageList array. If it finds the search word it returns its location in the string. If it doesn't find it, it returns -1. */ |
Which of the following codes will be easier to debug in the future? |
The correct choice was the second code (on the bottom). If you looked through it, the only diffrence between the two codes is that one used // for comments, and the other used /* */ for comments. You should use // for comments, it is better. This is because it helps when it comes to debugging. In the debugging process, /* */ is used to disable code, so as to isolate an error. Now, here's the thing: I can't embed one of the /* */ comments inside another. /* a++; /*This adds 1 to a*/ */ The code shown above causes an error. So, in conclusion, whenever adding comments to your code that make it more readible and understandable, use //. |
Delete any and all special effects. |
Cache vectors as bitmaps |
Don't worry about lag. Any and all performance issues are ALWAYS the user's fault. |
Bob makes a fun game. He notices though that it really lags on its ideal frame rate. Bob should do which of the following to boost performance: |
The right answer here was to cache his vectors at bitmaps. To cache a vector as a bitmap, we simple change the cacheAsBitmap property of any given movieclip to true. We use the code below: mc.cacheAsBitmap = true; Basically, any shape you create with the Flash art tools will be in vector format. For vectors, SWF only contains a small set of rules by which to draw all the shapes. Vectors have very low filesizes, however they are very consuming on CPU, because the computer has to redraw every vector graphic on every frame. This causes lag when the vectors in use are complex. cacheAsBitmap is the solution to this problem. When a shape is cached as a bitmap, it will be converted to bitmap format in the SWF. This reduces lag because content in the bitmap format is not generated from a series of rules on every frame, rather the bitmap format stores the color and location of every pixel. Having visuals stored as bitmaps instead of vectors can greately reduce lag. |
Bob is starting to use the cacheAsBitmap() property. He's got this one movieclip that pulsates (by rescaling itself) and then has these other movieclips that following it and flash on and off. Bob should cache the Movieclip in this scenario. |
Generally caching your Movieclips as bitmaps is a good idea. However, if the movieclip or its shapes are being rescaled, caching them as bitmaps will actually make them slower. This is because rescaling a bitmap reduces its quality (because only the coordinates of all the diffrent pixels is stored). In light of this, Flash redraws the shape when scaled and recaching it as a bitmap, making caching vectors as bitmaps slower if you're going to rescale the said shape. |
Sets focus to a certain object |
Moves variable to a specific cache |
Moves Movieclip to a set coordinate |
Sets initial coordinates for lineTo() function following it. |
The moveTo() function _____________ |
In the Flash drawing API, the moveTo() function sets the initial x and y coordinates for the lineTo() function following it. Take the example below: moveTo(250, 250); lineTo(_xmouse, _ymouse); This code draws a line from the coordinate position 250, 250 to the position of the mouse. |
It does not matter what Actions panel I place my codes in. They will work the same no matter what frame or movieclip they're placed in. |
This is an important concept. Placing my code on frame 30's actions panel is diffrent than placing my code on frame 1's actions panel. Placing my code on a movieclip is diffrent than placing it on a frame. Sometimes code that will compile well when placed on a frame won't work when placed on a Movieclip. For a full explination of this, read through the rest of the tutorial, as the concept of the hierarchy is worked with everywhere (although its referenced most heavily in the timeline and Actionscript sections). |
Give Up |
Look for and remove Common errors |
Start disabling chunks of code |
Use Trace to isolate error |
Lets say Bob makes an incredibly fun and addictive game. But the last time he tests it, he finds that nothing works. What should his first step be in debugging the game? |
The first step in debugging a program should always be to check for common errors. I know extremely skilled and experienced programmer who spend hours debugging a program, only to find that the error is confusing == with =. Its happened to me too more than a couple times, and it will probably happen to you. To learn more about my debugging procedure, including common errors, consult the debugging section of my tutorial. |
onEnterFrame = function() { gameProcesses(); } |
while(1 < 2) { gameProcesses(); } |
These two following codes do the exact same thing: |
Those 2 codes were very diffrent. A while loop will run the code in while loop until the condition returns false. That means that the code will not move onto the next line nor will the program run any other functions until the while loop's condition is false. And because our while loop's condition was 1 < 2, our while loop will never stop, and the program will never move beyond it. This is could an infinite loop, and Flash can frequently detect it and stop the Flash program. The enterFrame handler is diffrent though. The code in the enterFrame handler will be run a certain number of times each second (determined by your framerate). Although this code will run indefintly, the program will still move on to do other things, unlike in the while loop where the program will not move beyond the while loop until the condition evaluates to false. |
Call a function within itself |
Run a segment of code a set number of times |
Run a segment of code an indefinite number of times |
What does a for loop do? |
A for loop runs a certain segment of code a set number of times. Take the following example: for(i = 0; i < 10; i++) { //this code will be ran ten times } For loops are useful for some things like attaching enemy movieclips to the stage, or something called iteration. Iteration is using a for loop so that a certain process is applied to each member of an array a single time. for(i = 0; i < 10; i++) { classList[i].indexOf(search); } So basically this code starts out with i being 0. That time the loop is run, the first member of the array has the indexOf function applied to him. The second time i will be equal to 1, so the second element of the array will be given the function. This process will continue until all 10 elements of the array have been given the function. Very neat, eh? |
The hierarchies of symbols embedded within other symbols affects how an instance of a symbol is referenced in Actionscript. |
The hierarchy of a symbol effects how it is referenced in Actionscript. Lets say, for example, that I make a movieclip with an instance named gun and I put it on the main timeline. That movieclip can be accessed with Actionscript using the code: _root.gun We add the _root because the gun movieclip is inside the main timeline. But what if we are to change things so that gun is no longer on the main timeline, but rather embedded in a movieclip called guy. We'll have to change how we reference the Movieclip in Actionscript. _root.guy.gun The movieclip gun is inside guy, which is inside the root timeline. The hierarchy starts with the entire flash on the left side, and then narrows down to a single movieclip as it moves to the left. Pretty neat, eh? |
When using audio on the timeline, the best method is to stream the audio. For when the audio is streamed, unused parts of the music are cropped, reducing file-size. |
In almost all scenarios, audio should be set to stream. When audio is set to stream, the audio will be cropped if the entire song is not used. This is a huge world of advantage over start which will add the entire song to your file whether or not you use all of it. So, use stream. Do it for your file-size! |
Array |
String |
Char |
Date |
Object |
Which of the following is not a datatype? |
In Actionscript, char is not a data type. If you want to make a single character a variable in Actionscript, simply use the string data type. This isn't C... :P Number, String, etc. are all datatypes. So good luck and happy coding. :) |
A regular frame is simply a holder for the content of the most previous keyframe or blank keyframe. |
A regular frame has no real content of its own. It is simply a holder of the content in the keyframe before it. I'm not sure if there is a lot more I can say about this one. To learn about frames, keyframes, and the timeline in general, go to the timeline section of this tutorial. |
I can't learn ActionScript or any Flash very well. I am really struggling to learn the concepts. There are a lot of problems that I can't solve. |
www.armorgames.com - This site has some of the best games on the internet. And no, Armorgames didn't pay me to say this. To learn the best techniques, you need to see the best techniques. And the artists using those techniques are on Armorgames. |
Kirupa Forum - This is one of the best Flash forums on the web. Its full of Flash experts, and there is never any flaming for asking bad questions (at least none that I've seen). One problem you might have here is that few users are Newgrounds users, so they probably won't be able to help you in that respect. |
Newgrounds Forum - This forum has some really skilled Flash users like Denvish and Inglor. However, people on the forum will flame you if you use bad grammer or talk like a demanding n00b. For example, "I need the code to make a full mmorpg for this game. K, thanks" will get you heavily flamed and insulted. A few people might link to a disturbing website but have the link text say "www.adobe.com", so be wary! But don't let me mislead you, there are a lot of people willing to help there :) |
Not learning so well, eh? There are places to get help! |
http://msdn.microsoft.com/vstudio/express/visualcsharp/ |
Some time ago I started thinking about other things to do beyond ActionScript (as that was my first programming language). I wanted to expand my horizons in the world of programming and make applications that go beyond the computational limits of Flash, as well as the limitations of web-based distribution. And I found a series of programs known collectively as Visual Studio. Now, for any people out there who began programming with ActionScript, I simply must recommend Visual C#. The syntax is quite similar to the AS we all know and love, and also the interface is quite similar to Flash. The advantage of C# is that it is much faster than Flash and it allows the user to write Windows Applications which are more powerful than the Rich web applications that Flash makes (although Flash is still pretty cool). Its pretty fun, and I advise Flash programmers to try it out (there is a free "express" version as well as an expensive "Professional" version. |
One final note before the conclusion... |
Before I draw things to a close in the Flash section, I have something to tell you. There is a section of this tutorial that can only be accessed by typing a special word into the gotoPage bar either on the main menu or on the bottom navigation menu. By typing in these special words, you can access a nice little tidbit about this tutorial. You deserve it after reading and learning so much. trivia - Goes to page talking about fun misc. facts about this tutorial pronote - Lets you access some interesting production notes about how this tutorial was made. betatest - Lets you know who read this tutorial before-hand to point out errors. |
Continue to Actionscript Gallery |
Sadly, this is where are great voyage in discovering Flash must come to a close. I hope that the knowledge I have given you here aids you in your future endeavors. |
Conclusion |
3D Basics |
Toggling Quality |
Advanced Right Click Menu |
Hotkeys |
Search Engine |
Save/Load Variables |
Scroll Wheel |
Normal Preloader |
Attach MovieClip |
Custom Cursor |
Digital clock |
Movement |
Intermediate |
Beginner |
Code Gallery |
<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Copy and paste this</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">code into a movieclip's</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">actions panel:</font></p> |
To read more about this code, including usage facts and a full explination, press the right arrow key on your keyboard or click the arrow on the right side of this page. |
<p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(Load){</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">friction = .80;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._x += vx;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._y += vy;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.RIGHT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.LEFT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.UP)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.DOWN)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
Download a sample Fla with commented code here. |
Basic Movement |
This code is a movement script that allows a movieclip to be controlled with the arrow keys. It is placed on a movieclip and allows that movieclip to be movable. Because the code incoroporates a concept of velocity, it allows the movieclip to have leftover velocity even after the user lifts their hands off the arrow keys. Look at the example below. Btw, remember that pressing the right or left arrow keys will move you forward or backward a frame >< |
What does it do? |
The next part of this code begins with an enterFrame event, which means the following code will be run on every theoretical frame (as determined by the frame rate). We have two main operations occuring here. The first is that we multiply vx and vy by friction. Because friction is less than one, the value of vx and vy will drop in a manner similar to real-life friction. |
onClipEvent(enterFrame) { vx *= friction; vy *= friction; |
Basically here I tell the program to start out with 3 variables. vx and vy are x-axis acceleration and y-axis acceleration. Then I have created a friction variable. |
onClipEvent(Load){ vx = 0; vy = 0; friction = .80; } |
This code I created begins by declaring several variables in the load event. |
How does it work? |
if (Key.isDown(Key.RIGHT)) { vx += 2; } if (Key.isDown(Key.LEFT)) { vx -= 2; } if (Key.isDown(Key.UP)) { vy -= 2; } if (Key.isDown(Key.DOWN)) { vy += 2; } |
This is our next operation that will be performed on every theortetical frame. This changes the code bearing movieclip's x coordinate position and y coordinate position by adding to them the x acceleration and the y acceleration. Ok, so up until this point we have a program that creates an x velocity and y velocity variable, reduces those variables over time via friction, and changes the x and y position of the object to reflect velocity. The last part of this program is what actually sets the values vx and vy. You can see that in this program we use arrow keys for control, each of which has its own condition. Basically this code says that if a certain key is pressed than vx or vy have their values increased or decreased. Because each code has a seperate if statement, the code can respond to right and left key being pressed together. |
<p align="justify"><font face="Courier New" size="15" color="#000000" letterSpacing="0.000000" kerning="1">this._x += vx;</font></p><p align="justify"><font face="Courier New" size="15" color="#000000" letterSpacing="0.000000" kerning="1">this._y += vy;</font></p> |
If you get that error message, you put the code on the frame's action panel instead of the MovieClip's actions panel. You need to delete the code from the frame's actions panel, and then move it to the movieclip's actions panel. |
This code might just be the easiest to use I'll go over. To use this code, simply copy and paste it onto the actions panel of any movieclip. In the last tutorial I made, alot of people were confused when they got the following error message. |
How do I use it? |
This code has a few spots where it can be customized to meet a developers unique needs. The first place is where vx and vy are defined in the load event. If you switch the code to say vy or vx equals something other than zero, then the movieclip will have a velocity when its loaded to the scene. Friction is a big thing to edit. If you make the friction variable higher, the movement will have a looser feel. If you make friction lower, the movement will have a tight feel with the movieclip coming to sharp and quick stops. Below, where the if statements are, you can increase or decrease the effect pressing the key will have on the velocity by changing how much is added to or subtracted from vy or vx. Higher values make the movieclip faster, and lower values make the movieclip slower. |
<p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(Load){</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">friction = .80;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._x += vx;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._y += vy;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.RIGHT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.LEFT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.UP)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.DOWN)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
How do I cutomize it to meet my unique needs? |
To read more about this code, including usage facts and a full explination, press the right arrow key on your keyboard or click the arrow on the right side of this page. |
<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Copy and paste this</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">code into a movieclip's</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">actions panel:</font></p> |
Download an FLA of this with the working MovieClip + commented and well-formated code here. |
<p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">thisDate = new Date();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">pmAM = thisDate.getHours() > 11 ?</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">" PM" : " AM";</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">if(thisDate.getHours() > 12) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numHours = thisDate.getHours() - 12;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}else{</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numHours = thisDate.getHours();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">if(thisDate.getMinutes < 10) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numMinutes = "0" + thisDate.getMinutes();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}else{</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numMinutes = thisDate.getMinutes();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">time = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numHours + ":" +</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numMinutes +</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">pmAM</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
Digital Clock |
<p align="justify"></p> |
This code, when used properly with a dynamic textbox, creates a box of text that displays the current time in a digital clock format. An example of this movieclip can be seen below. Note that in the following pages I'll include help for modifying and enhancing this movieclip. |
What does it do? |
This code begins by creating a variable called thisDate. By setting it as new Date(); this code is declaring the variable's data type to be date. This might sound confusing, but it is the same principle as saying: classList = new Array(); Except for here we are creating a date instead of an array. |
onClipEvent(enterFrame) { thisDate = new Date(); |
How does it work? |
Basically, the next segment of code we have creates two variables, called numHours and numMinutes. When I call getMinutes() and getHours(), it returns the number of minutes and the number of hours respectivly according to the pc's clock, but that doesn't return exactly what I want. getHours() returns a number from 1-24, which isn't what I want. So I used an if condition so that it returns a number from 1-12. getSeconds returns a number from 1-60. I needed to use the if condition so that my numSecond variable displays 01 instead of 1 if getSeconds() is below 10. |
if(thisDate.getHours() > 12) { numHours = thisDate.getHours() - 12; }else{ numHours = thisDate.getHours(); } if(thisDate.getMinutes < 10) { numMinutes = "0" + thisDate.getMinutes(); }else{ numMinutes = thisDate.getMinutes(); } |
The next part of this code creates a second variable called pmAM. This code basically says that if the time is after 11, the variable pmAM will be set to pm. If it is before 11, then the variable will be set to am. This code allows the clock to display whether it is pm or am. |
pmAM = thisDate.getHours() > 11 ? " PM" : " AM"; |
Begin by creating a dynamic textbox. Then, click on the textbox and resize it so that it will fit the contents of our digital clock. Then click on the textbox and go to its properties and find an empty box labeled var (seen below) and give that the value: time as you can see has been done below. Then convert the textbox to a movieclip (F8), and give the movieclip the code you could have copied and pasted a few frames ago (but if you haven't done it already I advice you to go back and do it) |
How do I use it? |
You can do a few things to this code. The way to edit this code is to edit contents of the time variable. You can make it so it just says 9:21 instead of 9:21 am by deleting the pmAM variable and the last addition operator from the statement. You could change getHours(), getMinutes(), or pmAM to getDays(), getMonth(), getSeconds() or many other things. Once you know how this code works, you can change all the diffrent values and functions for time to make it really display any sort of time! |
pmAM = thisDate.getHours() > 11 ? " PM" : " AM"; time = thisDate.getHours() +":" + thisDate.getMinutes() + pmAM } |
How do I customize it to meet my unique needs? |
<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.show();</font></p> |
<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Paste this on the frame where</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">you want the mouse to reappear</font></p> |
<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Copy and paste this</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">code into a movieclip's</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">actions panel:</font></p> |
<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">this._x = _root._xmouse;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">this._y = _root._ymouse;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.hide();</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
Custom Cursor |
This code makes the Movieclip its placed on the cursor for the movie. It also makes the regular cursor invisible. The second code: Mouse.hide(); should be placed on the frame where you want the regular cursor to become visible. |
onClipEvent(enterFrame) { //This makes it run the following code on every theoretical frame this._x = _root._xmouse; //This set's the mc's x position as the mouse's x position this._y = _root._ymouse; //This set's the mc's y position as the mouse's y position Mouse.hide(); //This is a function of the Mouse object that makes it invisible } |
This code does two things. On every theoretical frame it takes your movieclip and gives it the same x and y position as the mouse cursor. The second thing it does is that it makes the default cursor invisible. |
<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.show();</font></p> |
This code is very easy to use. Begin by creating the movieclip you want to be a cursor. Then select that movieclip, and enter its actions panel (F9) and paste in the main code (found on the code page a few frames back). Then on the frame where you want the default cursor to reappear paste the code below, |
There isn't really a way you can customize this code. There are alternative methods for doing the same thing as this by using the startDrag() function, but alas that is an entirily diffrent code. Sorry :( |
Paste this code into the frame where you want the movieclips to be attached: |
<p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>numThings = 100;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>for(var i; i< numThings; i++) {</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>var thing = </b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>attachMovie("thing", "thing" + i, i);</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>thing._x = Math.random() * Stage.width;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>thing._y = Math.random() * Stage.height;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>thing._xscale = thing._yscale = </b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>Math.random() * 100 + 50;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>}</b></font></p> |
Attach MovieClip |
This code basically takes the object you've given the proper linkage in the library and puts a certain number of instances of that object onto the scene. It then gives the instances each random sizes and locations. This code gives you alot of balls for very little processing power and filesize. |
numThings = 100; for(var i; i< numThings; i++) { var thing = attachMovie("thing", "thing" + i, i); |
This code starts by creating a variable called numThings. This is how many instrances of thing will be added to the stage. Then we have what's called a for loop, which basically establishes that the code inside its brackets will be run until i =numThings. In this way the program will attach the number of thing movieclips equal to the variable numThings. Then we create a variable called thing, which will hold our attachMovie code. The attachMovie code basically calls the movieclip with the "thing" identifier and attachs it to the stage. Every movieclip it attachs to the stage is given an instance name which is "thing" + i. If you remember the i variable from the for loop, you'll realize that this code gives every attached movieclip a distinct instance name. The last part of attachMovie gives every movieclip a depth of i, which means each movieclip will be put on a diffrent depth. Depth is the AS equivalent of layers. |
The next part of this code is pretty simple. The first two lines basically say that the x and y coordinates of every generated movieclip will be a random location on the stage. The next part of the code scales the movieclip by a random number * 100 + 50. Math.random() by default produces a random number from 0 to one. These numbers would make our movieclips a little bit too small, so I multiplied the random number by 100. I added 50 to that number to ensure that no matter what Math.random() spits out, no movieclip will be reduced in five by less than 50%. The code than assigns the _yscale to the _xscale, to ensure that the movieclip is rescaled the same amount on each axis. |
thing._x = Math.random() * Stage.width; thing._y = Math.random() * Stage.height; thing._xscale = thing._yscale = Math.random() * 100 + 50; } |
To use this code, you must first create a movieclip with the linkage identifier "thing". Then you must copy and paste the code I've given you into the frame. Its important to note that when using this code you do not need to place an instance of your "thing" symbol on the stage. To give your movieclip a linkage identifier, go to the library. Then scroll down and right click on your movieclip. In that right click menu scroll down and choose the option linkage. Then a dialogue will pop-up like the one below. Where it says identifier type in "thing" and make sure "Export for Actionscript" and "Export in first frame" are checked. |
There are truly a wide variety of ways that you can edit this code. The first one is that you can change the value of the variable numThings, thusly changing the number of instances of thing that will be attached. Technically you can edit the next couple of lines, but I seriously see no way to improve or modify them. |
Okay, the first part of this code you can modify is the part where we set the locations of the movieclips we've attached. You could tell thing._x and thing._y to be equal to something complex, dynamic or changing. For example you could make it so that the movieclips are all loaded in a straight line on the screen, or really any arrangment you can imagine. You can modify the next part of the code to make thing._xscale and thing._yscale seperate concepts. So that each movieclip isn't scaled equally in each axis. Then you can take the Math.random()*100 + 50 and edit to make all the movieclips attached smaller or larger. For example if you multiplied Math.random() by 10 instead of 100, then all the movieclips you attach will be smaller. |
<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">on (press){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">var savefile = SharedObject.getLocal("flashName");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">savefile.data.nameThing = "Grant";</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">savefile.data.healthData = health;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">savefile.flush();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
On save button: |
on Load button: |
<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">saveInfo = sharedObject.getLocal("flashName");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">health = saveInfo.data.health;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">nameThing = saveInfo.data.nameThing;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
To read more about this code, including usage facts and a full explination, press the right arrow key on your keyboard or click the arrow on the right side of this page. |
Download an FLA of this with the working MovieClip + commented and well-formated code here. |
Save and Load Variables |
This code creates a cookie on the user's PC. In the code on the last page, we store 2 variables on the user's PC. You can store numbers, arrays, strings, etc. on the user's PC. However, the user can choose how much data they want to allow you to save on this PC. To do this, the user would right-click, go down to settings, and select local storage. Then the user can set how much data the Flash Player can store (the default storage amount is 100kb). Anyway, this code stores variables on the user's PC with one button, and then retrieves those variables with another button. You could save the player's position or progress for a game, or you could save detailed health data, ammo data, etc. |
This is the beginning code of the save button. Our first line of code creates an on(press) event. This means that our code will be placed on a button. And that the code in the brackets following the on(press) event will be executed every time the button is pressed. |
on (press){ var savefile = SharedObject.getLocal("flashName"); savefile.data.nameThing = "Al"; savefile.data.healthData = health; |
This code works by defining a shared object on the user's PC. Then we create properties of the shared object's data property (which hold our variables). Then we save the file and retrieve it, storing the values to new variables. Pretty nice, eh? : ) |
Our savefile object will have a property called data built into it. Any variables we wish to save to the file will be properties of the data property. Here we create nameData and healthData as properties of data. Note that your actual code should use your own unique variables. You can assign an array, a number, a string, etc. to a variable of the data property. |
The next line of code creates our cookie (shared object) on the user's PC. We create a variable called savefile. On the other side of the assignment operator, the getLocal function is called. That functions tries to find a file called "flashName" (or whatever you specify as the function's arguement). If it finds that file, it then returns the data in that file. If it can't find the file, it creates a file with that name (in our case flashName) and returns the value of that file. |
var savefile = SharedObject.getLocal("flashName"); savefile.data.nameThing = "Al"; savefile.data.healthData = health; |
Now, automatically Flash will save the savefile to the user's PC when the Flash Player is closed. And that often works fine. However, its better to use the flush() function to force the Flash player to save the sharedObject. One advantage on this is that we can check to see if the data was saved successfully to the user's PC. if(savefile.data == undefined) { saveResult = "The save failed"; } This way, we can inform the user when the save failed, because the save will be performed at a specified point. |
Now that we've created properties of the data property, and given them values, we need to think about actually saving our saveFile to the user's PC. We do this with the following code. |
savefile.flush(); } |
health = saveInfo.data.health; nameThing = saveInfo.data.nameThing; } |
Because the code is on a button, we start with an on(press) event, which means that the code will be ran when the button is pressed. Our next line of code is very interesting. The getLocal function looks for the file called flashName. If it finds the file, it returns the data on that file and stores it in the safeInfo variable. Because this is, after all, a load button, we are ideally retrieving the data from the flashName file. Our next line of code is retrieving the health and nameThing variables from the saveInfo data and assigning them to the current health and nameThing variables. In that way, the current health and name of the player are given the health and name values stored on the user's PC. |
This next piece of code is for our load button. |
on(press) { saveInfo = sharedObject.getLocal("flashName"); |
Change the blue variable to whatever you want the file saved on the user's PC to be named. Change the red variables to change the names of the variables you want to save on the user's PC. Change the green variables/values to change what values are saved to the user's PC. |
//Save Button on (press){ var savefile = SharedObject.getLocal("flashName"); savefile.data.nameThing = "Grant"; savefile.data.healthData = health; savefile.flush(); } |
Change the blue word to the name of the file that you want to be stored on the user's PC. Make sure this file name is the same as the file name on your save button. If it is not then your file won't be loaded : ( Change the red word to whatever are the names of the variables you're storing on the user's PC. These variable names must match the names of the data stored on the user's PC in the save button. Change the brown variables to whatever variables you want the data from the file to be saved to. These are usually the same variables as we stored on the user's PC on the save button, but they do not have to be. |
//Load Button on(press) { saveInfo = sharedObject.getLocal("flashName"); health = saveInfo.data.health; nameThing = saveInfo.data.nameThing; } |
<p align="justify"><font face="Verdana" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>Download a fully built preloader</b></font></p><p align="justify"><font face="Verdana" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>FLA with commented codes, 100%</b></font></p><p align="justify"><font face="Verdana" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>complete, </b><font color="#ff0000"><b>here</b></font><b>. </b></font></p> |
<p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.stop(); </font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">PercentLoaded = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.getBytesLoaded()/</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.getBytesTotal()*100;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">if (PercentLoaded != 100) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">bar._xscale = PercentLoaded * 4;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">} else {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop("loaded");</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">var PercentDisp = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Math.round(PercentLoaded*1000) /</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">(1000) + "%";</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">var PercentDisp2 = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Math.round(PercentLoaded) + "%";</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">percent1._x = bar._xscale - 240;</font></p> |
Normal Preloader |
Al's Preloader |
This code is for a standard preloader, similar to the preloader newgrounds distributes regularly. The preloader I'm going to create allows you to display the percentage loaded for the movie in two places, make a loading bar, and go to a play button once the movie is loaded. The preloader I'm going to show you is similar to the preloader on this very tutorial. If you just want to download the FLA of my preloader isntead of constructing it from my description, use the link below: |
This next line of code creates a variable called PercentLoaded. This variable is given the value of the number of bytes loaded divided by the bytes total, multiplied by 100, hence giving us a percentage. Its important to note that this percentage variable is not an integer and is rather a very long decimal. |
PercentLoaded = _root.getBytesLoaded()/_root.getBytesTotal()*100; |
This code is placed inside the first frame of the movieclip preloader, on a layer called Actionscript. Our first line of code tells the entire movie to stop. This is done so that the movie/game does not try to start until it is later told to do so. |
<p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.stop(); </font></p> |
So basically, if the movie is loaded, the preloader movieclip goes to the frame with the play button. And if the movie isn't loaded, the _xscale property of bar is set to be equal to the PercentLoaded variable multiplied by 4. Because percentLoaded variable will increase as the movie loads, the load bar will get longer and longer due to the _xscale property being increased. Below you can see the loading bar used on this tutorial. |
Our next line of code is an if condition. This condition basically checks to see if PercentLoaded is not equal to 100. If percentloaded is not equal to 100, it sets the _xscale of the bar movieclip. If percentLoaded is 100, then the preloader movieclip goes to the frame with the play button on it (this frame is named "loaded") |
if (PercentLoaded != 100) { bar._xscale = PercentLoaded * 4; } else { gotoAndStop("loaded"); } |
The next variable we create, PercentDisp2, is identical to PercentDisp1, except that its rounded to one decimal place, instead of 3. Our final line references a movieclip called percent1. That movieclip is the small textbox that is beneath the load bar. This line of code changes the x coordinate position of percent1 so that it goes to the right as the loadbar movieclip gets bigger. |
Our next part of code creates a variable called PercentDisp. This var is based on PercentLoaded, however we have done two things to it. The first is that we have rounded it to 3 decimal places. This is because we want this display for how much the movie is loaded to not go out as a really long decimal. The second thing we do is we add the string value "%" to the end of the variable. The variable PercentDisp applied to a dynamic textbox is shown below. |
var PercentDisp = Math.round(PercentLoaded*1000) / (1000) + "%"; var PercentDisp2 = Math.round(PercentLoaded) + "%"; percent1._x = bar._xscale - 240; |
Place this code anywhere where it will be played once at the beginning of the Flash: |
<p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">mouseL = new Object();</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">mouseL.onMouseWheel = function(scroll) {</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">pageNum = _root._currentframe;</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">pageNum += scroll/3;</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">_root.gotoAndStop(pageNum);</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.addListener(mouseL);</font></p> |
Scroll Wheel |
This code moves your movie forward a frame if the user scrolls up (using the tiny scroll wheel at the center of the mouse). It moves the movie backward a frame if the user scrolls down. Note that this code can be used to allow the user to change weapons (like in Unreal Flash) or to change the volume of the audio. Really anything, and I'll go over that in a few pages when I talk about customizing the code. I'll also go over allowing the user to make something happen when the user clicks down the scroll wheel. If you want to see an example of scroll wheel functionality in action, simply scroll up or down on your own scroll wheel inside this tutorial. It should move you forward or backward a frame. Warning: Not all people have a scroll wheel on their mouse. So you should make the scroll wheel do something non-essential or have an alternate control mechanism for people who lack scroll functionality. |
The next line of code creates a handler for the mouseL listener. When mouseL "hears" the mouse wheel move, it runs the onMouseWheel handler, which is defined on our second line. One interesting thing here is that we create an arguement of our function called "scroll". Basically, when the Flash Player calls this function at runtime, it passes a value into the arguement, and that value becomes the scroll variable. When the user scrolls up, scroll is equal to 3, when the user scrolls down, scroll is equal to 3. |
Our first line of code creates an object called mouseL. This object will "listen" for when the mousewheel moves, and will react accordingly. In other words, mouseL is an object that will run certain codes on a certain event. |
mouseL = new Object(); mouseL.onMouseWheel = function(scroll) { |
Now that we have our scroll variable which increases by 3 if the user scrolls up, and decreases by 3 when the user scrolls down, we'll want to apply that to our unique situation. In my scenario, I tell the root timeline to go forward one frame when the user scrolls up. Now, to do this what I do is: 1. Take the current frame number 2. Add 1 if the scroll is going up, add -1 if the scroll is going down 3. Tell Flash to go to the new frame number Our first line sets pageNum as the current frame. Then, because scroll is equal to 3 or -3 and we're looking for 1 or -1, we divide scroll by 3. Then we tell the root timeline to go to pageNum. We add a close bracket to end the mouseWheel handler, and then we use the addListener function to make the mouseL object a listener of the Mouse object. |
pageNum = _root._currentframe; pageNum += scroll/3; _root.gotoAndStop(pageNum); } Mouse.addListener(mouseL); |
This code should be placed on a frame, and it should be placed in such a position that the code is only executed once (usually at the beginning of the movie). Because we create a listener in this code, the mouseWheel handler will be active the entire movie (or until removeListener() is used). If this code is executed twice a very major bug occurs. Instead of the page number increasing by 1, the page number increases by a very large amount. |
In the code above, you must change minimumFrame to the frame that you don't want the user to go before, and change maxFrame to the frame that you don't want the user to go past. (Both shown in blue). |
if(_root._currentframe > minimumFrame and _root._currentframe < maxFrame) { _root.gotoAndStop(pageNum); } |
This code is fairly good by itself, however to make it more useful there are a few important modifications: 1. Set limits on how far user can scroll. 2. Use scroll number to change weapons The first modification is fairly simple. To set limits on what frames the user can scroll in, we simply have to encase the gotoAndStop() function in a condtional: |
How do I customize this code to meet my unique needs? |
<p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">mouseL = new Object();</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon = 1;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">mouseL.onMouseWheel = function(scroll) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(currentWeapon > 0 and currentWeapon < 10) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon += scroll/3;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(currentWeapon >= 10 and scroll < 0) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon += scroll/3;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(currentWeapon <= 0 and scroll > 0) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon += scroll/3;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">trace(currentWeapon);</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.addListener(mouseL);</font></p> |
The next thing I'll teach you to do is use the scroll wheel to change the current weapon. In my opinion, this makes a lot of sense for a side-scrolling shooter. (It frees keys for movements and mouse for aiming). Anyway, lets say currentWeapon is a number between 0 and 10, which specifies the current weapon, and then you use functions to change rate of fire, bullet holes, etc. Anyway, here is how I'd use the scroll wheel to change weapons: |
This is virtually the same code as before, except now we simply increase the currentWeapon variable by scroll/3 (so -1 or 1). The conditional that surrounds that statement insures that the currentWeapon variables has to be from 0-10. That makes the scroll perform normally if the currentWeapon value is in that range. However, what if currentWeapon is 10 or 0? The condition will evalutate to false, and nothing will happen! The variable will be stuck >< So, we have to create two seperate conditionals to deal with both of those scenarios. If currentWeapon is 10, we want currentWeapon to only be able to go down. If currentWeapon is 0, we want to currentWeapon to only be able to go up. So in our conditional, if currentWeapon is greater than or equal to ten, and our scroll value is negative, we want the scroll to change currentWeapon. The opposite goes for 0, if the scroll value is positive, we want it to impact the currentWeapon value. |
<p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//For this function to work you MUST have an array called pageList which</font></p><p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//contains all the text on your diffrent pages. You need a dynamic textbox</font></p><p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//called searchResult. You need an input textbox called search. This</font></p><p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//search is NOT cap sensitive! </font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">search = search.toLowerCase();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">_root.searchResult = "Result:\n";</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">for(i:Number = 0; i < 600; i++) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> searchReturn = pageList[i].indexOf(search);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> if (searchReturn != -1) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> _root.searchResult += "Page " + (i + 1) + "\n";</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> }</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> if(searchResult == "Result:\n") {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> searchResult = "Sorry, no pages found content relevant to your query. " +</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> "\nMake sure your search terms are single words or compound proper nouns\n";</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> }</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
Search Engine |
<p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">hotkey = function() {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(82)) { //r key</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(1);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.PGUP)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">_root.mus.setVolume(_root.mus.getVolume()+10);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.PGDN)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">_root.mus.setVolume(_root.mus.getVolume()-10);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(81)) { //Q key</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">prevFrame();</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(87)) { //W key</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">nextFrame();</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onEnterFrame = function () {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">id = setInterval(hotkey, 20);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
Hotkeys |
This allows certain events to happen when the user presses a certain key. Just like how pressing M will take you to the main menu in this tutorial, pressing m down should take you to the main menu. Pressing Q should move you back in the tutorial quickly, whilst W should take you forward quickly. The code on the last page is for creating hotkeys to control your movie/game. Its very important to note that you need to modify this code (I will explain how on the "Guide to customizing the code"). If you leave this code as it is, it won't meet your unique needs, which makes it totally pointless. So read on! |
This code creates an enterFrame event which holds a series of conditionals. These conditionals run certain statements when the user presses a key (or something). |
To use this code, simply copy and paste it into the first frame of your movie. However, to make this code useful, you will need to customize it, which I will go over on the next page. |
There are really two things to customize in this code: 1. What key is used in the conditional 2. What happens when the condition evalutates to true Now, in Flash, we don't say: if(Key.isDown(B) { //something } Instead of using the actually letter on the keyboard, we use a number that represents the letter. This is called a keycode. The reasons key codes are used instead of regular letters is that a number can be added, subtracted, divided, and changed in a wide variety of ways. Now, this would be very useful in C++ where I might need to change all lower case letters to upper case letters, however I have never found it very useful in ActionScript. |
i = 73 j = 74 k = 75 l = 76 m = 77 n = 78 o = 79 p = 80 q = 81 r = 82 s = 83 t = 84 u = 85 v = 86 w = 87 x = 88 y = 89 z = 90 |
mouse = 1 right-click = 2 1 = 49 2 = 50 3 = 51 4 = 52 5 = 53 6 = 54 7 = 55 8 = 56 9 = 57 0 = 58 a = 65 b = 66 c = 67 d = 68 e = 69 f = 70 g = 71 h = 72 |
Here is a list of key codes. Because they are nice to have on a cheat sheet, I've given you the option to print them out : ) Simply press the print button. |
Rollover the keys to see their values! |
Finally, any statement can be placed after the conditional. You can use gotoAndStop(), lineTo(), whatever. Here is an example of using keycodes in action: if(Key.isDown(53) { //If user presses 5 key _root.gotoAndStop(1); } That comment on the right is very important. Giving the keyboard equivalent of the keycode makes the code easier to read, and makes it more accessable to people not familiar with Flash keycodes. |
Copy and paste this code into your frame: |
<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">Stage.showMenu = true;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">var myMenu = new ContextMenu();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.hideBuiltInItems();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">_root.menu = myMenu;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler1(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop("main");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler2(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop("swift");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler3(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop("flash");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler4(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop("code");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler5(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop("grounds");</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem("Swift 3D", itemHandler2));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem("Flash", itemHandler3));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem("Code Gallery", itemHandler4));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem("Newgrounds", itemHandler5));</font></p> |
Advanced Right-click menu |
This code creates a custom right click menu, where each option can display a certain set of words or variables, and each item can perform a specific action when clicked. If you want a demonstration of this code, simply right click anywhere in this tutorial, and you'll see a custom right click menu : ) |
Our next line of code creates a variable called myMenu. This variable becomes a member of the class ContextMenu, gaining access to all its methods and properties. This is the same principle as saying classList = new Array() or saying gunShot = new Sound() On the variable myMenu we will proceed to use the methods and properties of ContextMenu() to create a Context Menu. |
Stage.showMenu = true; var myMenu = new ContextMenu(); |
This code works by modifying the right click menu built into Flash. When you think about it, it makes perfect sense that the right click menu is an array (fancy programmer word for list). By adding values and removing values from this list, we can change the contents of the array, and thusly the contents of the right-click menu. The first statement in our code sets the value of a property called showMenu. If showMenu is true (as is the default), Flash will display a right click menu, if the showMenu property is false, Flash only displays settings and About Flash Player 8. It is essential that we set this value as true, because if we don't then Flash will not display our right click menu array, even if we define it. |
This next line of code calls a function of the class contextMenu, called hideBuiltInItems() What this function does is it hides the items normally on the right click menu such as Zoom in, Zoom Out, and rewind. The next thing that the code does is it assigns the myMenu variable to become the value of the movie's right click menu. This is imporant because it means that whatever we assign to myMenu will become the movie's right click menu. Our next step will be to add values to myMenu that make it a useful and functional right click menu. |
myMenu.hideBuiltInItems(); _root.menu = myMenu; |
Our next step is to create a series of functions that control what Flash does when the user clicks on an option on the right click menu. In my right click menu code, I've made 5 functions, one for each right click menu option. Each function has been named itemHandler 1, itemHandler 2, etc. to make the code clearer. Inside each of our functions, we define what we want the right click option to do when clicked. What we define our function of can be 100s of lines of code, so that clicking a right click menu option does a very complex and sophisticated process. Or our function can be empty, which will mean nothing happens when the user clicks the option in the right click menu. |
function itemHandler1(){ gotoAndStop("main"); } |
Above you can see the code we're using to add options to the right click menu. Now, one confusing thing about this code is "new ContextMenuItem". Basically what this code does is it creates an object which is a member of the class ContextMenuItem. In the paranthesis following new ContextMenuItem we pass (input) two values into the constructor function of the object we just created. Now that is quite a dousy to understand for someone who doesn't have a strong background in OOP. In basic terms the code creates an object. When we create the object, we input two values into it in the paranthesis following "new ContextMenuItem". Then we take that object we've made and we add it to an array of values called customItems, which is a property of our right click menu. |
The next step we have is to take our function for the menu item and add it to the right click menu. Well, remember the object myMenu? myMenu is an object which is a member of the class contextMenu. As a member of the class, the object myMenu has a series of properties. Right now, we'll be working with the property "customItems" of the object myMenu. The property customItems is an array, and to add values to an array we use the push function. |
myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1)); |
When we create our new ContextMenuItem object, we have to pass 2 values into it. The first value we have to pass into it is a string value (which must be encased in quotes). This string value is the text that will be displayed on the right click menu option. The second value we have to pass to the ContextMenuItem object is what we want the option to do when clicked. In our code, we simply use the function itemHandler1, so that whatever is in that function will be done when the user clicks on the option. Make sure that the name of the function is the same as the name of the function you defined earlier. |
new ContextMenuItem("Main Menu", itemHandler1) |
This code should be placed on the first frame (or wherever you want your right click menu to appear) of your movie's main timeline. For this code to make a right click menu relevant to your Flash, you'll have to go to the next page and read about customizing this code for your Flash. |
Before you start working with the actual code, you need to ask yourself a few questions: What options do I want to give my user in the menu? What text will I display this option as in the menu? What will happen when the user clicks on an option? For each option, you can set the line of text that will be displayed to the viewer, and you can also set what will occur when the user clicks the option. You can make the movie go to a certain frame, you can open a website, or anything else really! The first step is to address what we want each of our codes to do when clicked. |
So basically, define your itemHandler functions as something that is useful and relevent in the context of your Flash. |
function itemHandler1(){ getURL("http://www.mywebsite.com", "_blank")//The blank part tells //function to open website in new window } |
Remember when I went over this code, how I talked about defining the itemHandler functions. Well, whatever you put in your itemHandler function defintions will be ran when the user clicks on the right click menu option. So, to make your code do something that is relevent to your own Flash, you'll have to change this function's definition. Let's say you want your right click option to open your website: |
function itemHandler1(){ gotoAndStop("main"); } |
The first step is to address what we want each of our codes to do when clicked. |
That should be simply enough... The final note I have on this code is that the menu items you add to the array first in the code will appear on the top of the right click menu. Its very logic. Play around with it. Well, that's all I have to say. I hope you enjoy this right click menu code :) |
myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1)); |
When we add a menu item object our array, we can give it a string value that dictates what the option says. For example, the menu item created by the code shown above says "Main Menu". The code below creates an option that says "You can make your option say anything". |
myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1)); |
In addition to customizing what our option does when we click it, we can customize what our option says. |
Copy and paste this code into any button: |
<p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">on(press){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(_root._quality == "HIGH"){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "MEDIUM";</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}else if(_root._quality == "MEDIUM"){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "LOW";</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}else if(_root._quality == "LOW"){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "HIGH";</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
Toggling Quality |
This script makes a button toggle the movie's quality when clicked. The button cycles through quality levels in the order high - medium - low - high. This button is very useful because in many scenarios its more efficient to produce one quality button instead of 3. I'd love to show you an example below, but sadly that button would be the only quality button in this Flash, which is a problem. |
The first line of this code on(press) { establishes that all the code in the brackets following it will be ran once whenever the button on which the code is placed is pressed. The next line of code has an if conditional. If the current quality level is high, the quality will be set to medium. |
on(press){ if(_root._quality == "HIGH"){ _root._quality = "MEDIUM"; |
This code basically sets the quality property of the movie (remember that quality controls how much smoothing is applied to the movie's graphics. The higher the quality, the smoother lines and fills are, but the longer each frame takes to render). When the button is pressed, ff the current quality is high, then the quality is set to medium. If the current quality is medium, then the current quality is set to low. If the current quality is low, then the quality is reset to high. We use the else because we only want the quality level to be set once, as opposed to having each if conditional executing. |
How Does it work? |
If the quality was medium when the button was pressed, the first if conditional will evaluate to false, and thusly the else if follwoing it will evaluate to true (because quality is equal to medium). Then quality will be set to low, and that will be the end of the story. If the qualty was low then the button was presssed, the first two conditionals will evaluate to false, but the last one will evaluate to true because _root._quality == "LOW" is true. Then the quality will be set to high, and it will be the end of the story. |
Then we run into else if. This conditional will only run if the current quality level wasn't high. If the quality level was high when the button was pressed, the else if conditional won't execute, and that will be the end of the story, and the quality will have been changed to medium. |
}else if(_root._quality == "MEDIUM"){ _root._quality = "LOW"; }else if(_root._quality == "LOW"){ _root._quality = "HIGH"; } } |
This code doesn't really require any special effort to use, simply copy and paste the code into the button which you want to toggle quality. |
How do I use it? |
I have two diffrent ways to customize this code to be more dynamic. The first is to split the code into 3 diffrent buttons. Each button sets the quality at a seperate level. The second modification is quite diffrent, and sets quality not based on button click, but based on the status of the user's PC. Instead of letting the Morlocs (read Jules Verne) set their own quality level to match their PC's strength, why not set the quality automatically based on the newness of their OS? Changing our quality code so that we have a seperate button to set each quality level is pretty simple. |
To create a series of buttons, each of which changing quality to a diffrent value, on should use the codes below. The first code goes on the button that changes the quality to high, and the second one should go on the button that changes the quality to medium, and the third on the button that changes the quality to low. This code is similar to the toggling code except that instead of using toggling to determine what the quality is set to, which button the user clicks determines quality. |
<p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">//On Button 2's actions</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "MEDIUM";</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
<p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">//On Button 3's actions</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "LOW";</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
<p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">//On Button 1's actions</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "HIGH";</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">onLoad = function() {<font color="#999999">//we put all our code on the onLoad event</font></font></p><p align="justify"><font face="Courier New" size="13" color="#999999" letterSpacing="0.000000" kerning="1">//because we only need to detect the user's OS once, it won't </font></p><p align="justify"><font face="Courier New" size="13" color="#999999" letterSpacing="0.000000" kerning="1">//change at runtime</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">if(System.capabilities.os == "Windows XP") {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "HIGH";</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">if(System.capabilities.os == "Windows 2000") {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "MEDIUM";</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">if(System.capabilities.os == "Windows 98") {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = "LOW";</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
The next modification I have is a tad bit more complicated. This code changes the quality based on the user's OS. os is a property of the capability object which is equal to the operating system the user has. Rather clearly the method shown above is flawed because it assumes that users with newer operating systems have faster Computers. This however is not always the case, so I'd advise against this method, but its good to have this out in the open. |
<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">onLoad = function() {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpX = 0;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpY = 0;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpZ = 0;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">lens = 250;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vanishX = Stage.widht/2</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vanishY = Stage.height/2;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">onEnterFrame = function() {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpX = _root._xmouse - vanishX;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpY = _root._ymouse - vanishY;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">if(Key.isDown(Key.CONTROL)) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpZ += 5;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">if(Key.isDown(Key.SHIFT)) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpZ -= 5;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">scale = lens / (lens + vpZ);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._xscale = scale * 100;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._yscale = ball._xscale;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._x = vanishX + vpX * scale;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._y = vanishY + vpY * scale;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p> |
3D Basics |
This code itself does nothing really stunning. Basically, it allows the mouse to move a movieclip with the instance name of ball, and it allows the shift and control keys to move an object forward and backward on the z dimension. The real significance of this code is how it teaches the two core fundamentals of 3D. So by learning this code you're enabling yourself to go into deeper 3D concepts. This code works by setting an object's x and y coordinate positions based on their virtual x, virtual y, and virtual z positions. With the virtual x, virtual y, and virtual z positions, we set the actual scale and _x and _y properties of our objects. That's a little complicated, but read on and it will all get clear. :) |
When an object moves forward and backward on the third dimension (z), two big things happen: 1. The object moves towards a vanishing point. 2. The object gets bigger as it gets closer to the viewer. |
Our code begins by creating variables for the virtual x, virtual y, and virtual z positions. We have to create virtual positions because Flash has no built in 3D, and we have to set our objects _x and _y property. Because an object's z position affects its _x and _y properties, we cannot simply map our x coordinate to _x. Rather we have to create formulas to link our virtual 3D coordinates to the _x and _y properties we're setting. |
onLoad = function() { vpX = 0; vpY = 0; vpZ = 0; |
This distance is z variable |
This distance is lens variable |
Eye |
Object |
Here we create an x and y position for our vanishing point, which happens to be the center of the stage. Next we create a variable that stores the distance between the lens and the image sensing device(both of which are just metaphors though. There is no real lens in flash). We'll use this variable to calculate how perspective is applied later on. 250 makes puts our lens at a very normal distance. A lower number will give our image a sort of "wide angled lens" look. |
lens = 250; vanishX = Stage.widht/2 vanishY = Stage.height/2; } |
These next few lines set our virtual x and y positions based on the position of the mouse relative to the vanishing point. The reason to subtract our vanishing point from the position of the mouse is because we want the object to move more dramatically as it is closer to the screen. Relative to your perspective, does a car a mile away or a car in your face move faster? |
onEnterFrame = function() { vpX = _root._xmouse - vanishX; vpY = _root._ymouse - vanishY; |
With this code, as Z increases, the scale gets smaller. When the lens position increases, the scale increases. |
lens + Z |
lens |
= |
Scale |
This next line of code creates a variable called scale. This variable controls how the object is scaled based on its distance from the lens. Basically, the higher the z position is, the farther away the object is. And based on this formula, the object gets smaller as it gets farther away. The two lines after that simply apply the scale coordinate to the ball movieclip. The _xscale property is set to the scale variables times 100 (its multiplied by 100 because the _xscale and _yscale properties work around 100. Higher than 100 makes the object larger, lower than 100 scales it down. Then the _yscale property is set as the same as the _xscale property. |
scale = lens / (lens + vpZ); ball._xscale = scale * 100; ball._yscale = ball._xscale; |
This code is quite easy to use. Simply create an instance of a movieclip named ball, and copy and paste the code into the first frame of the main timeline's Actions panel. |
You could expand this 3D code to do just about anything 3D in Flash, however if haven't the time or the space in this tutorial to teach you all of them. So, what I'll teach you is: Z-Sorting Doing 3D with more than one object Rotating 3D Drawing lines and Fills in 3D (I'll assume you've read the section on AS rendering). |
Choosing the right language for making things |
Submitting to Newgrounds effectivly |
Making a game or a movie more appealing to Newgrounds |
Making Highly Effective Storys |
Making highly effective Storys |
Introduction |
Other |
The first three sections were rather clear as to what they covered. This section, however, is a little diffrent. This section is a little bit of a mixed bag, carrying alot of the advice and ideas that didn't really fit with the Flash section. The first lesson in this section is my game design theory. Its basically a brief essay covering my theory about videogames, what they mean, why people play them, and how they compare to more conventional mediums. The second lesson basically goes over literary elements and suggestions for making effective stories. The third lesson goes over how to make your movies more appealing to Newgrounds by doing things that I've found to increase a movie's score. The last lesson basically just goes over how to submit well, how to leave good comments, and choose a good icon for your game/movie. |
When I look through Newgrounds, I see that sometimes the producers of movies and games aren't familier with literary elements used to tell effective stories. This brief section will focus on explaining a few of the diffrent literary elements with you, and how you can use these techniques to communicate ideas effectivly. |
Making Highly Effective Stories |
Put simply, a theme is an idea expressed by a story. Theme is the heart and soul of any movie. Now, sometimes comedies or other purely entertaining movies don't have themes, but in 99% of any art form there is some kind of theme. Sometimes a story's theme is called a moral. A simple example of a theme: Bob goes to the store and steals because he is poor and needs the money to save his dying brother. This helps him in the short term, but in the future he steals and steals until he gets killed by cops, ending a dark and meaningless life. The theme of the story is that stealing will make you unhappy, even if you steal to try to help someone. When making a Flash movie, theme is very important, unless you are making an escapist comedy. Some complex stories, like Frank Herbert's Dune, have 100s of themes. In a Flash, try to give at least 5 complex (sublte and overt) themes. |
Theme |
Conflict is when two diffrent ideas, people, abstract concepts, groups of people, or natural elements meet in opposition. A conflict usually isn't a literal "fight" where the two forces engage each other in physical combat. Conflict drives a story and oftentimes defines the theme. Some very, very common conflicts are: Good vs. Evil (Star Wars) Liberalism vs. Facism (Main theme is many Disney movies) Person's dreams vs. social expectations (Citizen Kane) Individualism vs. Collectivism (The Wrath of Khan) Human Society vs. Nature (Moby Dick) Sense of Ethics vs. Personal Gain (Lord of the Rings) In your Flash movies, make sure you have a couple conflicts. The above conflicts are OK for your a Flash movie. But I personally think they've been over-used and artists should start making more original conflicts. As a Flash artist, try to branch out and experiment with diffrent conflicts. |
Conflict |
Mood is the emotion conveyed by a Flash. Moods can give help make the user feel immersed in the story and give them exciting and exhilirating emotions. Some examples of mood are: scary, sad, happy, playful, joyful, and depressing. Mood is the emotional message of a movie, theme is the intellectual message of a movie. Mood is best conveyed by the use of backgrounds, music, and powerful imagery. Remember that for any specific part of a movie or game, mood needs to be consistent. Don't put sad music with a happy story, or vice versa. Although so far we've mostly focused on movies, however games tend to put a huge emphasis on mood. For a videogame, mood is extremely important. If you want to learn how to use mood effectivly, study Metroid Prime. In all honesty, I've never seen a game that develops stronger mood. Remember: Mood keeps your user immersed, so always make sure you give off strong and consistent mood. |
Mood |
Dramatic Irony is when the viewer knows an important fact that a character doesn't. If you've ever watched TV, you've see dramatic irony. In fact, I've never seen a sitcom that's plot doesn't revolve around this technique. This is because dramatic Irony is a tool that makes a movie entertaining and can help build suspense. An example of dramatic Irony is: Bob goes to the store to buy a $50000 diamong ring for his wife. To hide it, he puts it in a completly random box. Then, his brother, completly clueless, takes the box and throws it out. All the while the viewer is thinking "Don't do it, Don't do it", and this creates suspense which can keep a viewer interested. The classic example of dramatic irony is Romeo stabbing himself because he thinks Juliet is dead, whilst she's really in a temporary comatose state. Really work on adding dramatic irony to your Flash. People tend not to switch off your movie when you're using this technique becuase they really don't want the inevitable to occur. Use dramatic irony as a way to keep the viewer entertained whilst you go for the kill with your brilliant themes! |
Dramatic Irony |
Characters are in almost every kind of writing. They are the human forces in the story. They usually are what drives events, and they usually are the base from which theme is developed. Creating interesting, deep, and thoughtful characters can be the key to a good movie. For every character, there needs to be a solid rationale behind the way they act, and the events of the story should change how the character thinks and feels. As well, how the character thinks and feels should shape the story. If a character had a traumatic childhood, they should reflect that. But avoid simple and obvious things. People are complex, and your characters should reflect that. When you create your "bad guy", I'd recommend avoiding a shallow or purely malicious character. Make your villians complex, shaped by a deep history, and maybe even a little bit vunerable. |
Characters |
Characterization is the way by which your reveal characters to your audience. Doing it properly can be an immense challenge. But every moment the character is on screen shapes your audience's view of the character. Oftentimes, I see stories that begin with camera zooming around and the narrator saying something like: "John had been here for twelve years. He didn't know who he was. Or what he was doing. " Although sometimes you want to talk directly to the audience, most of the time its better to let the characters actions speak for themselfs. The audience will be enthralled as they struggle to decipher the motives and histor of the characters. And also people might come to more complex and personal ideas about the character than if you had just told them everything outright. |
Characterization |
Put simply, this guy is your main character. He's the guy who the audience is supposed to support. Being the protaganist doesn't neccissarily mean being the "good guy" though. A protaganist can be rude or criminal, but in this sort of a story the protaganist is usually a tragic character that the audience can sympathize with. One of your protaganist's key roles should be to deliver theme. Take the following example: Bob is nice guy. Bob sees an old man struggling to get around. Bob really wants to go home to play games, but he decides instead to sacrifice his free time helping the old man. Bob lives happily ever after knowing how much he has helped the world. The theme here is that helping people is a rewarding and enriching practice. That theme is supported by the actions of the protaganist. |
Protaganist |
A foil is a character who exists to provide a context by which to judge the behavior of the protaganist. For example, if the protaganist is clean and orderly, the foil is messy and disorderly. The foil makes the protaganist's qualities clearer and more distinct. |
Foil |
This is the character that opposes the protaganist. He is sometimes coined the "bad guy" or "villian". Over the years, I have compiled a few diffrent types of antagonists: 1.) Purely Malicious. This guy has no ethical thought or moral dilemna. He simply wants to kill. In general, this is a bad type of antagonist. 2.) Insecure and Afriad. This guy opposes the protaganist because he's afraid of people and because he's emotionally scarred. When done properly, this can be a great type of antagonist. 3.) Choose Evil over good conciously. This character can understand good and evil. But he choose to be evil for personal gain or due to inherint maliciousness. 4.) Rejects ethics of protaganists and doesn't see himself as evil. This is my favorite type of antagonist. This guy doesn't see himself as evil, he has diffrent ethics and values. A wonderful example of this is the Borg from Star Trek. |
Antagonist |
Metroid Prime - This videogame develops mood like no other piece of art I've ever experienced. This has incredible environment and sound. Star Trek (The Original Series or Next Generation) - This TV show has great theme and has really interesting stories. Very innovative. Dune - This novel is just brilliant. It develops very interesting characters and has hundreds of layers of theme. The Matrix - This movie has tons of motiffs and a few interesting themes. Its also builds mood pretty well. Halo - Has interesting themes, a interesting story, and develops mood nicely Very immersive FPS. Legend of Zelda (Wind Waker and Ocarina of Time) - Not a really deep storyline, but the environments are immersive and the graphics powerful. |
One of the best ways to learn to make interesting and thoughtful stories is to watch and read great stories. Below I have a list of movies, games, and books that I highly recommend for any aspiring artist. |
Movies and Books that use literary elements Well |
That's basically all I have to say about making good stories. Remember to hit at an intellectual level with theme, and at an emotional level with mood. Thanks for reading, and remember to review! |
I created this section because a lot of times I see programs done in Flash that could have done much more justice in another program, or programs made in C++ that could have been better done in Flash. Right here I'm going to go over some various diffrent tools for creating applications, as well as their various advantages and disadvantages. |
Choosing the right programming language for your job |
The first big advantage of Flash is its mobility. One SWF published in Flash can be put all over the internet, and almost all internet-capable PCs will be able to use it without installing anything on their PC. Also, someone will be able to play your Flash game casually while on the internet, and the Flash Player won't hog their PC's resources. The other advantage of Flash is the small file-size. Because of Flash's strong vector support, complex Flash's can be built at less than 100kb, a small download on almost any PC. Another advantage of Flash is the ease through which effective visual effects can be added. Adding original artwork to your buttons and making Flashy custom animations are both a breeze with Flash. |
Flash: Advantages |
The biggest disadvantage to Flash is speed, and this one is a big deal. In all of my efforts, I haven't been able to render more than 200 polygons in Flash without making the framerate drop too low. Although ActionScript 3.0 looks to be much faster than 1.0 or 2.0, Flash is quite the turtle compared to C++ (Many C++ codes can render billions of polygons at a very nice framerate). Another big disadvantage that a lot of people don't realise is Flash's compiler. To be honest, it's very, very bad. The Flash compiler won't tell you if you're referencing a non-existant object (so one little typo, everything stops working, and you have no idea why). Also, the Flash compiler has very few special features that make your life as a programmer a little bit easier. One other disadvantage to Flash is access to computer resources. A Flash SWF cannot move or delete fies on the users computer, and it cannot directly work with system memory or the hard-drive. In fact, there is only one way to store and retrieve data on the user's computer, and this is by using a sharedObject, which |
Flash: Disadvantages :< |
Assembly |
Assembly is the language your computer speaks. Basically one line of assembly code is the same as one line of 1s and 0s. Its very, very hard and extremely time consuming to write, but it gives you an unrivaled level of runtime speed and precision. |
Native C++ |
A lot of Windows Apps are written in Visual C++, like the Flash maker or the Flash Player. Native C++ is quite the speed-demon, and it has tools that make creating windows form a breeze. The biggest disadvantage is that it is difficult to really distribute over the internet, and viruses can be written in C++. I personally recommend Microsoft's Visual C++ or Bloodshed's Dev-C++. |
Visual C++ |
CLR (C#, BASIC) |
CLR is a virtual machine (kinda like the Flash player) made by Microsoft. Its a pretty good compromise between speed and simplicity of use, so I'd definitly recommend you give it a shot. The CLR machine handles a lot of challenging problems in programing like opening/writing to a file and memory management with built in functions. |
Visual Basic |
Java |
Java is similar to Flash in that it runs via a virtual machine on the user's computer. Although this makes Java relativly slow, it is still faster than Flash (but this diffrence might be made much smaller by the release of Flash 9). The Java virtual machine however is less well distributed than the Flash Player. |
ActionScript |
Flash is quite slow as it does not write code directly for your processor, it writes code for the Flash Player. But what it loses in speed it makes up for in portability. According to Adobe, over 97% of households have Flash Player 7. A single Flash can run on any OS that runs that version of Flash. |
0 |
+ |
Portability |
Speed |
Assuming your creating a PC application, you have 3 real if you want good 3D performance: DirectX, Managed DirectX, and OpenGL. Unmanaged DirectX is what the majority of your favorite PC games use. This library has a lot of nice functions like loadMesh() that make your life pretty good. A word of caution: DirectX is built for Windows. You can get it to work on Linux if you have a Windows emulator, but this has performacne rammifications. Unmanaged DirectX is built for C++, and as such you'll have to work with the somewhat challenging syntax of that language. Managed DirectX is what I'm using a lot of right now. Its built for C# of Visual Basic, and its pretty good. It won't give you the performance of unmanaged DirectX, but it will still allow you to make pwnage 3D games. OpenGL will work on all major Operating Systems, so consider this if you want to have a really broad range beyond just the Windows Community. |
The Right tool for making Graphics |
My first submission to Newgrounds was blammed. The submission was a game called "Attack of the Blue Eagles". It was a basic FPS where the user had to fire to defeat an onslaught of murderous Blue Eagles. The game had a starting cut-scene, an instructions sheet, a kind of fun, buggless gameplay scheme, and passable graphics. I figured it would do well on Newgrounds, but i was wrong. The fact is that looking back on it, that game could've gotten a decent score. But there were alot of silly and easily fixable bad decisions I made that took a huge beating on my score. My goal in this tutorial is to help ensure that you don't let a few bad decisions ruin weeks/months of hard work. My recommendations are listed from most to least important. |
Making a game or movie more appealing to Newgrounds. |
When you submit a movie to Newgrounds, the first people who see it will probably be people who have blammed and protected a lot of movies. They're looking to decide the fate of your submission quickly, and if they get a bad first impression, they'll probably go ahead and vote with-out watching the entire thing. So that brings me to my point: Play your best cards first. Make your first few seconds of viewing time the most visually stunning. Show your user that you are delivering a product that is worth their time. I'm not encouraging you to make awesome intros to Flash movies and then not follow it up with a great movie. All I'm saying is that a movie or game with a low quality beggining or menu screen won't be taken seriously. The irony is that when I was making this tutorial, my friend said no one would even read the content of the tutorial because they'd just look at my ugly menu. I tried to improve my menu, but if I failed then you either have disproved me or I have made pretty menus :) |
1. Don't save the best for last. The first Impression might be the only impression. |
When an experienced Newgrounds user is looking through the Portal, few things say "n00b" more than a preloader that doesn't work, or even worse, the lack of a preloader entirely. No one likes to see a white screen whilst the movie loads or start using a movie before its fully loaded! (Playng a partially loaded game is not a good experience). So, for your movie, make sure you have a preloader, and test it out to make sure it work (go to test movie, and then on that SWF, scroll down to simulate download on the file menu). |
2. Make sure you have a working preloader |
I have very, very bad handwriting in real life too. I've seen a lot of submissions that leave a very bad first impression because the author used the brush tool to do some of the words early on. The text tool exists for a reason :) |
Don't use your own handwriting for a menu unless you are an artist and know how to pull it off. Not many people can write words with the brush or pencil tool and make it look professional. In fact, one major reason my first submission was blammed was that I used my own handwriting in the menu. Btw, below is a sample of my "good" handwriting. |
3. Don't use your own handwriting |
On about my fifth day of doing Flash, I discovered the shape tween, and I loved it. Soon all of my (still very n00by) movies used shape tweens for all major transitions. The shape tween is very cool, and if one uses it in moderation combined with frame by frame then it can really bring alot to a movie. However, do not overwhelm your movie with shape tweens for a few reasons: 1. Experienced blammers see poor use of shape tweens as a tell-tale sign of a n00b. People might not judge your movie fairly. 2. Alot of times changing one object to another looks better (and more artistic) if you use frame by frame. |
4. Don't abuse the Shape Tween |
This problem has gotten so bad among n00bs on Newgrounds that sometimes when I cruise the portal, I turn my speakers off. Now, don't get me wrong, music can add alot to your Flash, but alot of times I just see a movie with drums n' bass music that does nothing for the movie but ballon the file-size. The key to adding music is to ask yourself: "What do I want music to bring to my flash?" Generally, music's best use is to build mood. An example would be a slow melodic song that builds up the emotion in a sad movie. Or maybe a Psybot song to build intensity and give a sense of thrill to a swift and fast moving game. On some occasions music can serve as an eerie and ambient motiff. For example, if a music piece plays in the beggining when a man's dad saves him from an alien and losses his life. And then when he grows up and gives his life for mankind, the same music piece plays, which will revoke the memory of he himself being saved in the viewer's minds, giving the story a feeling of absolution and completion. But, don't just use music because you think its normal. Put it there for a reason! |
5. Don't throw in pointless music |
<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>Keeping your filesize small is essential to keeping your audience</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>happy with you and your movie. No one wants to wait 5 minutes to</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>watch a movie with 200kb of vector graphics and a massive, </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>uncompressed song. </b></font></p><p align="justify"></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>And after waiting that long, people might be a little less forgiving</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>when voting on your movie. When you go to your movie's publish</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>settings, go down to select a bitrate. My advice is to spend a couple</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>days getting the audio down to the right settings by testing all</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>of the diffrent bitrates. If you want a detailed explination on this, </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>go to the Publishing lesson in the Flash section. </b></font></p><p align="justify"></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>Also, if you're making a long movie and you have alot of vectors, </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>you might want to consider taking steps to optimize your graphics. </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>All this is covered in detail in the Publishing lesson of the Flash section. </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>But at the time being I advise you to look into a product called </b><a href="http://www.erain.com/products/Optimaze/"><b><i>Optimaze. </i></b></a><b> </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>Its really good if you're making movies with complex vectors. </b></font></p> |
6. Optimize your music and graphics |
When an experienced blammer/protector sees an icon on your Flash (especially a nice one), its an indicator this project is important enough for you to spend 5 minutes drawing an icon. I don't think this will raise/lower your score a whole lot, however it will really increase your views. Think about it, when you go do a search on Newgrounds, do you go for the Flash's with an icon to entice you, or do you go to the Flash's where all you can see is the title and author's comments? Also, having an icon will make it more likely for you to be entered into a collection, which will dramatically increase your views. |
7. Submit with an icon |
Nothing says lazy like a broken play button. If something fundamental like a play button, a stop button, or the preloader is broken, people will assume you didn't try very hard, and will just blam it. So that brings me to my next point, test your movie multiple times before you upload it to Newgrounds. This tutorial has been beta-tested by me and other people 100s of times before I uploaded (although I didn't read the whole thing every time I did a test). So remember, before you upload, do beta tests. Sometimes its hard to beta test your own project, since you only see what you want to see, not what's really there. My advice is to get a few friends to run some beta tests for you. A few days of beta testing can change a 1.9 submission to a 2.5 submission. |
8. Make sure Everything works |
And those are my 8 dos and don'ts to making Flashs that do well on Newgrounds. Good luck, review and vote this tutorial. There is only one more section left before this tutorial ends. If you've skipped some of this tutorial, I encourage you to go and read what you've missed, since this tutorial is very comprehensive, and it would be a shame if you missed some of it :( |
Although it might seem that your work is done when you're finished with your flash, in many ways the really fun part has yet to begin. When you're filling out the submission form for Newgrounds, you can give your submission a title, a brief summary for if it gets featured, comments to be seen by your user, and more! Once you've uploaded your submission, you'll get reviews which you can respond to. In this lesson I will give you my advice on filling out the submission form to give your movie its best chance, writing good comments, as well as responding to reviews. If you followed the Universal Tutorial in a linear fashion from the beginnings of Swift 3D to here, I commend you! This lesson is the last lesson in this long tutorial. If I have helped but a single n00b to become a better Flash maker, then the 3 months it took to write 700+ pages were all worth it :) |
Submitting to Newgrounds Effectivly |
If you don't know what an SWF is, I encourage you to go to the Publishing concept in the Flash section. Once you know the location of the SWF you'd like to upload, go to the next page. |
Before I begin to explain submitting a Flash, its important you know that you can only submit files in the swf format that end with .swf An Swf file looks like this in windows explorer: |
The first option you have isn't really a choice. To submit to Newgrounds, you have to accept Newground's legal agreement. Basically the agreement states some of the obvious, like that you can't expect Newgrounds to protect you in court if you make a copyright infringement. Also you're agreeing that you're 18 years or older. If you're not 18 years or older, my understanding is that you'd have to have a legal guardian or 18 year old submit for you, but I'm not really sure. Really this agreement is all standard legal stuff, Newgrounds isn' putting anything unreasonable in there. So check that box and continue downward on the submission form. |
Once you go to that page, you'll realise you have a whole slew of submission options. Luckily for you, I'll go over the options one by one. |
Newgrounds Flash Submit Page |
Newgrounds Flash Submit Page |
The first step to submitting your Flash is to get to the Flash submit page. The link below will take you to it: |
These next options are pretty self explanitory. The first box lets you select what file you want to have uploaded. The next option down lets you type in your title. Now what your title is all depends on the subject of your Flash, but I'd seriously avoid things along the lines of "n00b movie", "my first flash", or anything that doesn't really suggest what the movie is about like "LOLWTFBBQ". The next option down lets you select the size of your movie. Now, no matter what size the SWF you exported was, it'll be rescaled to meet the dimensions of whatever numbers you enter for Movie Width and Movie Height once its on Newgrounds. So make sure you enter numbers there that are the same as the size of the movie you exported. The next options let you choose movie or game/interactive. The rule I use to determine which one it is in iffy scenarios is if it doesn't play the same way every time, its game/interactive. If its the same way every time, its a movie. |
The next part lets you rate your Flash on various content scales. You can rank your flash in each category as "none", "mild", or "Excessive". For Nudity, I'd check moderate if your flash includes depicitions that could be considered mildly graphic or show a lot of skin, but doesn't include genitalia. If you have full nudity or some explicit graphic representation, check excessive. Not doing so could result in account deletion or having your Flash marked for administrative review. |
For violence, I'd say mark none for weak cartoon violence that includes no blood or injury. If someone punches someone else or kicks them ( but not as to cause serious injury) then none is an appropriate rating. If you have a form of violence that involves a gun, I'd mark your violence as moderate. Also if you have any blood, injury, or vehicular destruction I'd go with the moderate rating. If you have explicit depiction of organ displacement or excessivly graphic blood, I'd mark your flash as excessively violent. Audible Explicit Language is a rating of the words that are expressed in an auditory manner (vocally spoken words). If your language is acceptable for children's TV, I'd go with none. If you use words like *amn, *ss, *uck and your audio would be allowed and predominantly unbleeped on network TV. If your audio sounds like an old episode of South Park (the new ones don't seem to have as much cursing), than I'd mark your Flash as having excessive Auditory Explicit Language. If you use f***, s***, or excessive sexual and or racial derrogatory language, I'd mark your Flash as having excessive auditory explicity language. Textual Explicity Language should follow the same rules. |
For Adult themes, I'd say none if you have no drugs, no sexual innuendos, no sexual comments direct or overt, no references to conduct of a sexual or drug related nature, and no reference to or graphic depiction of disturbing or grotesque events. I'd say moderate if you have a handful of sexual innuendos, a mildly grotesque event, or some vague/indirect reference to drug use such as "I couldn't remember anything after 1969". Excessive adult themes would include porn, hentai, explicit drug use, or something very disturbing or grotesque. If your movie has one of the aforementioned qualities and you mark your Flash as having no adult themes, your Flash will probably be marked for adminastrative review and your account may be deleted. In conclusion, be very careful when marking your Flash. If you mark it as more excessive in objectionable content than it really is, some people may not see your Flash who would have really liked it. However if you underestimate how much objectionable content your Flash has, you could expose someone to something they would rather not see, which is very unethical. So be very wary when filling in those boxes. |
In the collection shown below, the set of words that comes after the title is the brief description. Try to make you brief description a very broad summery of what your Flash is and has to offer. Leaving a good brief description increases your chances of being featured on the frontpage or in a collection. |
The next option lets you leave a brief description. If your movie is featured in a collection or on the frontpage, users will see this brief description |
What you leave as your comments can very important to how your flash does and is received, since it is probably the first thing anyone will see. Due to their importance, I have devoted the next few pages to explaining how to write good comments. |
The next option we have is called comments. Usually a few paragraphs long, your comments will be seen below your submission, underneat the words "Author's comments:" |
Whenever I see a movie on Newgrounds with no comments or simply the word "none", I am honestly quite stunned. I cannot see how an artist finds no use for being able to communicate 7 lines directly to everyone who watches the Flash. To me this is an invaluable asset. A comment can house a brief note of appreciation for Newgrounds or contributors, a disclaimer, or instructions for using the submission. In the few following pages, I will teach you a couple things I know about writing comments. Below is a comment which is BAD: "If you don't like sonic tutorials don't vote. And don't blam because its tutorial. If you vote 5 I'll make more. oooh yah and if u want to replay the movie, use the right-click menu" Contrast that poor comment with this stellar comment: "Best viewed in 1024 resolution, requires Flash player 8. Thanks to everyone who's supported me and thanks to Newgrounds for the front page. I hope you enjoy playing this :)" |
Writing Good comments for your submission |
This one is pretty basic. Don't tell people not to vote, becuase they don't care if you tell them not to vote. They'll vote anyway, and they'll most likely vote very low because they probably saw you telling them not to vote as insulting or threatening. This also goes for telling people not to blam becuase your movie is privileged in some way. It's elitist and alienates your audience. Some examples sare saying: "Don't blam because I'm 10 years old" or "Don't blam because this is a tutorial". Rather you should remind people to give you a fair chance, a not to have prejudice against you. An example would be: "Even if you're not partial to tutorials, I really hope you give this one a try, you might just like it" |
1. Don't tell certain groups not to vote |
Apart from always phrasing every statement in a kind a courteous manner, you should thank your audience for taking the time to watch your movie/ play your game. This is pretty self-explanitory, so there isn't a whole lot for me to say. Basically I just want to remind you to always use kind, respectful, and courteous comments. |
2. Always use positive Language |
When I see "I was bored" or "This took me 5 days" in the comments, I'm given a very bad first impression. Even though I have not seen a single moment of your Flash, I still have a very low expectation. And quite frankly, a lot of the people who see your Flash will be experienced blammers/protectors, who are looking to quickly give your Flash a score, and get the blam/protect point. Now this isn't true of most people, but some may even vote 0 in the first couple of seconds of your flash simply because your comments make it look very unlikely that you spent time on the Flash. People will think "If he spent time on the Flash, why couldn't he spend a few minutes on the comments". So that is why you have to make sure your comments convey the idea that you worked hard on your Flash, and that it has a good chance of being protected. If you suggest in comments that you put time into the Flash, people will come to your Flash with an open mind and a good first impression, willing to see what your work has to offer. So instead of saying "I was bored", say something like "This is a recent project of mine made for..." |
3. Make comments that suggest you spent time on your Flash |
The small picture to the left of "Play This Game" is the icon. If this was featured, the icon would appear next to the description. |
To make your icon, I'd advise using fireworks or Photoshop, however MS paint might suffice. Just make sure your picture is 46 by 46 pixels and is non-animated GIF or PNG. |
The next option you have is to upload an icon with your Flash. This icon will appear by the Flash on its own page and will also appear by your Flash if it is featured in a collection or is on the front page. In my opinion, you always want to upload an icon. It makes it more likely to be featured on the front page or in a collection, and it also shows people watching your Flash that you could spare 5 minutes to make a decent icon, and thusly spent some time on the actual Flash. |
There are a few other companies which pay to host your Flash games, but none of them have the reputation or consistency of Armorgames. (They seriously didn't pay me to say that). |
Most Recent Armorgames Contest |
The next (and last) thing you have to do is credit your audio. The process for crediting your audio is pretty well explained in the form, all you have to do is fill in the audio's ID number or for a non-audio portal artist, give the artist's name and url. Before I finish my topic on submitting to Newgrounds, I have to mention one thing-sponsorship. If you make a good Flash, you can make some decent money at it. There are a wide variety of sites that will pay a significant sum to have your game link to their site, and have the right to host your game on their site and affiliate site. As you probably have seen, this tutorial is sponsored by Armorgames, and they pay a rather significant sum for hosting rights and such. Anywhere from $50 - $5000 (amounts may vary with time) is typical payment. |
If you've read this tutorial from start to finish, and have now reached the end, I commend you for reading this entire tutorial. If you have just skipped around and have reached the end, I encourage you to read through what you have skipped, since there is a lot of content here in this tutorial. Please vote and leave reviews. Its sad this tutorial must come to an end, but like Q said, "All good things must come to an end". If you enjoyed this tutorial, be sure to put it in a review or vote. I surely enjoyed the months spent making this! I hope I have helped you work towards a better understanding of Flash, Swift, 3D, and everything else I may have covered. |
Well I guess this is the End... |
Congrats, you found the trivia section for the Universal Tutorial by entering a code into the goto Page bar. Well, here's your trivia: -This tutorial began pre-production after I submitted The Actionscript Tutorial. Its purpose was to become equal or better than Ultimate Tutorial 2 in scope and quality. This goal was the result of a review I got that said my tutorial was "good, but no ultimate tutorial 2" -This tutorial originally did not have the four sections it has today. It once had General Flash, Graphics and Special Effects, FruityLoops, C++, swift 3d, and a code gallery. -This tutorial was put on Kirupa for showcase and critique before hitting Newgrounds. There it was most frequently described as "awful", "hideous", and "horrible". -This tutorial has taken 5 months of intense (hours a day) work to complete. |
Trivia for the Universal Tutorial |
741 |
I am king of the morlocs! |
Production Notes |
If you're here, its because you entered "betatest" into the goto page bar. I created this page to acknowledge those who took many hours of their time to read, and offer insightful critique and analysis on this tutorial. The people and groups are listed below: JohnFn001(Grant) Members of the Newgrounds Community Members of the Kirupa Community Members of the Trees for Lunch Community Now you might be thinking, "Beta testing doesn't deserve recognition", because all you're doing is playing a Flash, which many people do for fun. Although that may be true of games, this is not a game, this is a tutorial. You do not play a tutorial, you read and learn. And is all people know, learning and reading are painful, undesirable, and torturous and should be avoided at all costs. So that is why I have choosen to recognize my beta-testers, for they have had to bare the great burden of learning so that this tutorial can come to you error free and highly refined. |
First Full Movie - This has possibly the worst graphics and animation ever made, yet I find it quite funny to this day. Quite the testament to the fact that n00bs love shape tweens. |
First Flash - Not a whole lot to say about this. A horribly drawn duck getting shot at a convenience store. |
If you're here, its because you entered "eagle" into the goto page bar. Because I pretend you care, I've decided to put here links to my very first Newgrounds submission and my first flash, as well as my first finished flash movie. |
Thief... |
Use of this SWF is not authorized for this domain. |
ActionScript [AS1/AS2]
Frame 1stop(); bob.onEnterFrame = function () { PercentLoaded1 = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100; if (PercentLoaded1 > 0.1) { _root.play(); } };Frame 2stop(); _root.stop(); _root._quality = "best";Frame 3play(); mouseL = new Object(); mouseL.onMouseWheel = function (scroll) { scrollNum = scrollNum + (scroll / 3); if ((scrollNum > 3) and (scrollNum < 800)) { _root.gotoAndStop(scrollNum); } }; Mouse.addListener(mouseL);Frame 4stop(); function itemHandler1() { gotoAndStop ("main"); } function itemHandler2() { gotoAndStop ("swift"); } function itemHandler3() { gotoAndStop ("flash"); } function itemHandler4() { gotoAndStop ("code"); } function itemHandler5() { gotoAndStop ("grounds"); } page1 = "main menu option"; page2 = "swift 3d swift Swift 3D swift 3d electric rain swifting swift 3D"; page3 = "creating objects editors"; page4 = "scene editor"; page5 = ""; page6 = "scaling rescale scale"; page7 = ""; page8 = ""; page9 = "prerender"; page10 = ""; page11 = ""; page12 = ""; page13 = "rename"; page14 = "hierarchy hierarchies rigging"; page15 = "text 3D"; page16 = "bevel styling b"; page17 = ""; page18 = ""; page19 = "save model saving mesh category"; page20 = "saved model"; page21 = "lathe editor"; page22 = ""; page23 = "symmetry radial linear"; page24 = "cup lathe"; page25 = ""; page26 = ""; page27 = "pencil tool"; page28 = "line drawing straight"; page29 = "add point tool shape tool"; page30 = ""; page31 = "zoom"; page32 = ""; page33 = ""; page34 = ""; page35 = ""; page36 = ""; page37 = ""; page38 = ""; page39 = "sweep angle"; page40 = "sweep"; page41 = "radial segment"; page42 = ""; page43 = ""; page44 = ""; page45 = "extrusion editor extrude"; page46 = ""; page47 = "stacks"; page48 = "add point shape zoom close"; page49 = ""; page50 = ""; page51 = ""; page52 = ""; page53 = ""; page54 = ""; page55 = ""; page56 = ""; page57 = ""; page58 = ""; page59 = ""; page60 = ""; page61 = ""; page62 = "beveled"; page63 = ""; page64 = ""; page65 = ""; page66 = ""; page67 = ""; page68 = ""; page69 = ""; page70 = ""; page71 = "advanced modeler full 3D complex irregular"; page72 = ""; page73 = ""; page74 = ""; page75 = "polygon"; page76 = "mesh model polygon"; page77 = "edit mesh"; page78 = ""; page79 = "move free tool"; page80 = ""; page81 = "rotate free"; page82 = ""; page83 = "scale uniform"; page84 = ""; page85 = "extrude normal extrusion"; page86 = ""; page87 = ""; page88 = "single vertex selection tool"; page89 = ""; page90 = "soft selection tool red"; page91 = "green vertext red vertex "; page92 = "exponential parabolic"; page93 = "form factor"; page94 = "edge slection line lines edges"; page95 = "face selection faces group of polygons surface group selection entire mesh"; page96 = "advanced modeler options"; page97 = "enable mouseover ignore backfaces enable multiselect"; page98 = ""; page99 = ""; page100 = ""; page101 = ""; page102 = "duplicate duplication copy"; page103 = ""; page104 = ""; page105 = "delete selection break out selection break apart seperate object breaking"; page106 = "move uniform rotate uniform scale uniform extrude"; page107 = "subdivide subdivision polygon count divding mesh complex subdividing"; page108 = "balance mesh flat 3 face flat 4 face smooth exclude border smooth include border"; page109 = "inreasing roundness decreasing roundness"; page110 = "edge divide edge turn edge division edge"; page111 = "edge turn edge"; page112 = ""; page113 = ""; page114 = ""; page115 = "manipulating shapes shape manipulate"; page116 = "trackball rotation rotational trackball"; page117 = "pivot point trackball"; page118 = "restrict trackball restrictions"; page119 = "manually inputing rotation angles precision rotation options"; page120 = ""; page121 = ""; page122 = "Adding preset textures to shapes materials library textures library materials gallerygallery textures adding present materials to shapes adding preset materials to meshes addingmaterials to meshes Adding materials to objects adding textures to objects"; page123 = ""; page124 = "surface group advanced material advanced texture adding two materials to objectadding two materials to mesh adding more than one material to mesh"; page125 = ""; page126 = ""; page127 = ""; page128 = ""; page129 = "texture mapping bitmap mapping material mapping"; page130 = ""; page131 = ""; page132 = ""; page133 = ""; page134 = ""; page135 = "Creating new textures creating new materials creating custom materials"; page136 = ""; page137 = ""; page138 = "highlight strength highlight size ambient reflection color"; page139 = ""; page140 = "color pattern material pattern"; page141 = "gradient pattern procedural gradient gradient color"; page142 = "epic masterpiece"; page143 = "material texture custom texture noise distortion"; page144 = "beutiful stunning genius"; page145 = "brilliant intelligent superimposed onto cube"; page146 = ""; page147 = ""; page148 = "Adding preset lighting or environemnt preset environemnt gallery lighting galleryenvironment"; page149 = "lighting scheme"; page150 = ""; page151 = "environments"; page152 = ""; page153 = ""; page154 = ""; page155 = "custom lighting"; page156 = "lighting trackball lighting"; page157 = ""; page158 = "save lighting saving lighting scheme"; page159 = "stage lighting scene lighting"; page160 = ""; page161 = ""; page162 = "scene lights scene light types"; page163 = ""; page164 = "light hierarchy light hierarchies embedding lights"; page165 = ""; page166 = ""; page167 = ""; page168 = "Custom camera and view custom viewport custom view viewport advanced viewport optionsscene camera advanced camera"; page169 = ""; page170 = "perspective viewport viewport options"; page171 = "texture smooth shaded flat shaded wireframe viewport rendering"; page172 = ""; page173 = "show reference grid show hidden items show grid"; page174 = "draw back faces reset view frame all frame all objects"; page175 = "maximize show all viewports"; page176 = "the custom camera free camera target camera"; page177 = ""; page178 = ""; page179 = ""; page180 = ""; page181 = ""; page182 = ""; page183 = "animation animating in scene editor animating objects"; page184 = "gallery animations preset animations"; page185 = ""; page186 = ""; page187 = "timeline animation"; page188 = ""; page189 = ""; page190 = ""; page191 = ""; page192 = ""; page193 = ""; page194 = "orient to path motion path"; page195 = ""; page196 = ""; page197 = ""; page198 = "exporting ravix emo electric motion"; page199 = "vectors vs. rasters raster vector"; page200 = ""; page201 = ""; page202 = ""; page203 = "raster vector appearences"; page204 = ""; page205 = ""; page206 = ""; page207 = "exporting options export options"; page208 = "file formats output options target file type tif png jpg bmp tga"; page209 = ""; page210 = ""; page211 = ""; page212 = ""; page213 = "vector rendering options ravix options"; page214 = "swft swift importer swift 3dimporter eps svg"; page215 = "filelevel"; page216 = "curve fitting detail level"; page217 = "combine edges and fills"; page218 = "edges and fills edge fill"; page219 = ""; page220 = ""; page221 = ""; page222 = "fill options"; page223 = "cartoon single color fill low color detail low file size"; page224 = "cartoon average color fill average detail"; page225 = "cartoon two color fill"; page226 = "cartoon four color fill"; page227 = "cartoon full color fill"; page228 = "area gradient shading"; page229 = "mesh gradient shading high quality high filesize"; page230 = "file size file-size diffrent fill types file size study"; page231 = "include specular highlights specular levels glints"; page232 = "include reflections include shadows what are shadows"; page233 = "edge options edge rendering"; page234 = "include edges outlines"; page235 = "include hidden edges no hidden edges"; page236 = "detail edges"; page237 = "line weight line color line size"; page238 = ""; page239 = "importing swift 3d"; page240 = ""; page241 = "quiz and knowledge reinforcement siwft 3d siwft quiz swift 3d quiz"; page242 = ""; page243 = ""; page244 = ""; page245 = ""; page246 = ""; page247 = ""; page248 = ""; page249 = ""; page250 = ""; page251 = ""; page252 = ""; page253 = ""; page254 = ""; page255 = ""; page256 = ""; page257 = ""; page258 = ""; page259 = ""; page260 = ""; page261 = ""; page262 = ""; page263 = ""; page264 = ""; page265 = ""; page266 = ""; page267 = ""; page268 = ""; page269 = ""; page270 = ""; page271 = ""; page272 = ""; page273 = ""; page274 = ""; page275 = "Flash flash menu"; page276 = ""; page277 = "basics creating documents create getting flash buying flash"; page278 = ".fla .swf"; page279 = "flash document"; page280 = ""; page281 = "flash timelines"; page282 = "core timeline concepts"; page283 = ""; page284 = "types of frames frame types keyframe holder"; page285 = "plain frame regular frame normal frame frames"; page286 = "empty keyframe blank keyframe"; page287 = "blank regular frame"; page288 = ""; page289 = "layers"; page290 = ""; page291 = ""; page292 = ""; page293 = ""; page294 = ""; page295 = ""; page296 = "playhead"; page297 = ""; page298 = "play(); stop(); gotoAndStop();"; page299 = "gotoAndPlay(); nextFrame(); prevFrame();"; page300 = ""; page301 = ""; page302 = "lock layer hide layer outlines"; page303 = "masking mask masks"; page304 = ""; page305 = ""; page306 = "tweens tweening automation"; page307 = ""; page308 = "motion tweens"; page309 = ""; page310 = ""; page311 = ""; page312 = "shape tweens"; page313 = ""; page314 = ""; page315 = "scale"; page316 = "basic easing"; page317 = ""; page318 = "advanced easing"; page319 = ""; page320 = ""; page321 = ""; page322 = ""; page323 = ""; page324 = "motion guides"; page325 = ""; page326 = ""; page327 = ""; page328 = "shape hints"; page329 = ""; page330 = ""; page331 = "toolbar flash toolbar flash tools flash toolset"; page332 = ""; page333 = "Introduction to computer science computers"; page334 = "processors memory ram"; page335 = ""; page336 = ""; page337 = ""; page338 = "binary machine language machine code"; page339 = ""; page340 = ""; page341 = ""; page342 = "assembly assembler C high level low level"; page343 = "c++"; page344 = ""; page345 = "the programming procedure"; page346 = ""; page347 = ""; page348 = "_xscale _yscale _height _width"; page349 = "_rotation"; page350 = ""; page351 = ""; page352 = "properties"; page353 = ""; page354 = "_visible _quality _x _y"; page355 = "_xscale _yscale _height _width"; page356 = "_rotation"; page357 = "_xmouse xposition yposition _ymouse _alpha transparency"; page358 = "Giving a symbol linkage linkage identifier"; page359 = ""; page360 = ""; page361 = ""; page362 = "linkage and instance names"; page363 = ""; page364 = ""; page365 = ""; page366 = ""; page367 = ""; page368 = ""; page369 = "Actionscript AS Actionscripters"; page370 = "syntax semi-colon ; statements"; page371 = "{} curly brackets"; page372 = "assign assignment operator = "; page373 = "add addition operator +="; page374 = "subtract subtraction operator -="; page375 = "multiply multiplication *= divide division operator /="; page376 = "increament and decreament ++ =="; page377 = "indexOf() substring split()"; page378 = "Arrays lists"; page379 = "declare variable decleration formal decleration formal variable decleration strong data typing"; page380 = ""; page381 = ""; page382 = "data types typing type"; page383 = "number int uint integer type"; page384 = "string type strings text data"; page385 = "split() indexof() string functions string methods"; page386 = "charAt() length"; page387 = ".toLowerCase() .toUpperCase() lower case upper case lowercase uppercase"; page388 = "subString SubString substr"; page389 = "array type array data type"; page390 = ""; page391 = "indexing"; page392 = "push() array.push() array functions array methods"; page393 = "unshift() splice() splicing"; page394 = ""; page395 = "shift() pop() slice() poping shifting slicing"; page396 = "concat() sort() concatinating concatenating sorting alphabetizing"; page397 = "boolean"; page398 = "while loop"; page399 = "hierarchies dot syntax hierarchy rigging embedding"; page400 = ""; page401 = "_root root .root ._root"; page402 = "_global global ._global global variables"; page403 = "_parent parents"; page404 = "this this. prototype"; page405 = "with with() myLine.lineTo(40, 200)"; page406 = ""; page407 = "loops looping loops and conditionals"; page408 = "== equals comparison comparing"; page409 = "!= >= <="; page410 = "key.right key.left key.isdown"; page411 = "else }else{ if... else else if"; page412 = "ternary ?"; page413 = "switch case switch() case:"; page414 = ""; page415 = "for loop repition"; page416 = "iteration iterative loop looping"; page417 = ""; page418 = "while loop"; page419 = ""; page420 = ""; page421 = ""; page422 = "handlers onEnterFrame = function() { onLoad"; page423 = ""; page424 = "events event handling"; page425 = "onload load mousedown onmousedown"; page426 = "mousemove keydown"; page427 = "function"; page428 = ""; page429 = "args arguements"; page430 = ""; page431 = ""; page432 = ""; page433 = "functions that return values eturning"; page434 = "recursion worthless junk"; page435 = ""; page436 = ""; page437 = "actionscript rendering"; page438 = "hexidecimal base 16 0x"; page439 = ""; page440 = ""; page441 = ""; page442 = ""; page443 = ""; page444 = ""; page445 = "drawing curves curveto lineto"; page446 = ""; page447 = "filters"; page448 = ""; page449 = "webcams microphones"; page450 = ""; page451 = ""; page452 = ""; page453 = ""; page454 = ""; page455 = ""; page456 = ""; page457 = ""; page458 = "OOP object oriented programming"; page459 = "creating a class"; page460 = ""; page461 = "import #include"; page462 = ""; page463 = ""; page464 = ""; page465 = ""; page466 = ""; page467 = ""; page468 = "flash beyond the basics"; page469 = "text"; page470 = ""; page471 = "static textbox"; page472 = "dynamic text"; page473 = ""; page474 = "input text"; page475 = "music audio"; page476 = ""; page477 = ""; page478 = "music linkage"; page479 = "music actionscript"; page480 = ""; page481 = ""; page482 = ""; page483 = ""; page484 = "timeline audio timeline music sound effects"; page485 = ""; page486 = ""; page487 = ""; page488 = ""; page489 = "panning sound"; page490 = ""; page491 = "psybot johnfn johnfn001 a new hope tropick into the white"; page492 = "trig trigonometry and physics"; page493 = "velocity"; page494 = ""; page495 = "friction"; page496 = ""; page497 = "triangles"; page498 = ""; page499 = "angles"; page500 = "sine sin()"; page501 = "cosine cos()"; page502 = ""; page503 = ""; page504 = ""; page505 = "arctangent atan()"; page506 = ""; page507 = ""; page508 = "gravity"; page509 = ""; page510 = ""; page511 = ""; page512 = ""; page513 = ""; page514 = ""; page515 = "hittest collision detection hitest() hittest()"; page516 = ""; page517 = ""; page518 = ""; page519 = ""; page520 = ""; page521 = ""; page522 = ""; page523 = ""; page524 = ""; page525 = ""; page526 = ""; page527 = "programming debugging scenarios greatest assets writing program unlike"; page528 = "fatal error bug common error regular movieclip"; page529 = "error handler common bracket opening open close closing brace paranthesis"; page530 = "logic error"; page531 = "common error mistake"; page532 = "confusing comparison assignment and"; page533 = "incorrect hierarchy reference referenced _root"; page534 = "trace ide flash development environment ultimate weapon output window"; page535 = ""; page528 = ""; page529 = ""; page530 = ""; page531 = ""; page532 = ""; page533 = ""; page534 = ""; page535 = ""; page536 = ""; page537 = ""; page538 = "stub functions"; page539 = ""; page540 = ""; page541 = "disabling commenting out code"; page542 = ""; page543 = ""; page544 = ""; page545 = ""; page546 = "writing better code improving code preventing bugs killing bugs n00bs"; page547 = "naming variables name variables descriptivly"; page548 = "comment your code commenting code"; page549 = "centralize code centralization"; page550 = "top-down code in chunk bottom-up"; page551 = ""; page552 = ""; page553 = "publishing publish"; page554 = "optimizing actionscript"; page555 = ""; page556 = ""; page557 = ""; page558 = ""; page559 = ""; page560 = ""; page561 = ""; page562 = ""; page563 = ""; page564 = ""; page565 = ""; page566 = ""; page567 = ""; page568 = ""; page569 = ""; page570 = ""; page571 = ""; page572 = ""; page573 = ""; page574 = ""; page575 = ""; page576 = ""; page577 = ""; page578 = ""; page579 = ""; page580 = ""; page581 = ""; page582 = ""; page583 = ""; page584 = ""; page585 = ""; page586 = ""; page587 = ""; page588 = ""; page589 = ""; page590 = ""; page591 = ""; page592 = ""; page593 = ""; page594 = ""; page595 = ""; page596 = ""; page597 = ""; page598 = ""; page599 = ""; page600 = ""; page601 = ""; page602 = ""; page603 = ""; page604 = ""; page605 = ""; page606 = ""; page607 = ""; page608 = ""; page609 = ""; page610 = ""; page611 = ""; page612 = ""; page613 = ""; page614 = ""; page615 = ""; page616 = ""; page617 = ""; page618 = ""; page619 = ""; page620 = ""; page621 = ""; page622 = ""; page623 = ""; page624 = ""; page625 = ""; page626 = ""; page627 = ""; page628 = ""; page629 = ""; page630 = ""; page631 = ""; page632 = ""; page633 = ""; page634 = ""; page635 = ""; page636 = ""; page637 = ""; page638 = ""; page639 = ""; page640 = ""; page641 = ""; page642 = ""; page643 = ""; page644 = ""; page645 = ""; page646 = ""; page647 = ""; page648 = ""; page649 = ""; page650 = ""; page651 = ""; page652 = ""; page653 = ""; page654 = ""; page655 = ""; page656 = ""; page657 = ""; page658 = ""; page659 = "scroll wheel"; page660 = ""; page661 = ""; page662 = ""; page663 = ""; page664 = ""; page665 = ""; page666 = ""; page667 = ""; page668 = ""; page669 = ""; page670 = ""; page671 = ""; page672 = ""; page673 = ""; page674 = ""; page675 = ""; page676 = ""; page677 = ""; page678 = ""; page679 = ""; page680 = ""; page681 = ""; page682 = ""; page683 = ""; page684 = ""; page685 = ""; page686 = ""; page687 = ""; page688 = ""; page689 = ""; page690 = ""; page691 = ""; page692 = ""; page693 = ""; page694 = ""; page695 = ""; page696 = ""; page697 = ""; page698 = ""; page699 = ""; page700 = ""; page701 = ""; page702 = ""; page703 = ""; page704 = ""; page705 = "making highly effective stories story writing"; page706 = "theme"; page707 = "conflict"; page708 = "mood"; page709 = "dramatic irony romeo and juliet"; page710 = "characters"; page711 = "characterization"; page712 = "protaganist"; page713 = "foil"; page714 = "antagonist"; page715 = ""; page716 = ""; page717 = "choosing the right programming language"; page718 = ""; page719 = ""; page720 = ""; page721 = ""; page722 = "making games or movies appealing to newgrounds"; page723 = ""; page724 = ""; page725 = ""; page726 = ""; page727 = ""; page728 = ""; page729 = ""; page730 = ""; page731 = ""; page732 = "submitting to newgrounds"; page733 = ""; page734 = ""; page735 = ""; page736 = ""; page737 = ""; page738 = ""; page739 = ""; page740 = ""; page741 = ""; page742 = ""; page743 = ""; page744 = ""; page745 = ""; page746 = ""; page747 = ""; page748 = ""; page749 = ""; page750 = ""; page751 = ""; page752 = ""; page753 = ""; pageList0 = new Array(); pageList = new Array(); _global.framez = new Array(); _root.searchResult = ""; j = 0; while (j < 750) { pageList0.push(eval ("page" + (j + 1))); pageList.push(pageList0[j].toLowerCase()); j++; } searchFunc = function () { k = 0; while (k < (_global.framez.length + 10)) { _global.framez.pop(); k++; } search = search0.toLowerCase(); _root.searchResult = "Result:\n"; i = 0; while (i < 748) { searchReturn = pageList[i].indexOf(search); if (searchReturn != -1) { if (((i + 1) <= 270) and ((i + 1) >= 2)) { _global.section = "Swift 3D"; } else if (((i + 1) <= 639) and ((i + 1) >= 271)) { _global.section = "Flash"; } else if (((i + 1) <= 714) and ((i + 1) >= 640)) { _global.section = "Code Gallery"; } else if (((i + 1) <= 763) and ((i + 1) >= 715)) { _global.section = "Other"; } if ((i + 1) == 1) { _global.section = "Main Menu"; } if (((i + 1) >= 1) and ((i + 1) <= 9)) { _root.searchResult = _root.searchResult + (((("Page " + (i + 1)) + "\t ") + _global.section) + newline); } else if (((i + 1) >= 10) and ((i + 1) <= 99)) { _root.searchResult = _root.searchResult + (((("Page " + (i + 1)) + "\t ") + _global.section) + newline); } else if ((i + 1) >= 100) { _root.searchResult = _root.searchResult + (((("Page " + (i + 1)) + "\t ") + _global.section) + newline); } _global.framez.push(i); } i++; } if (searchResult == "Result:\n") { searchResult = "Sorry, no pages found content relevant to your query. \nMake sure your search terms are single words or compound proper nouns\n"; } }; _root.bigmen.btn1111.onPress = function () { _root.blinanor.play(); searchFunc(); }; _root.men.back.btn.onPress = function () { _root.blinanor.play(); searchFunc(); }; stop(); Stage.showMenu = true; var myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); _root.menu = myMenu; myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1, true)); myMenu.customItems.push(new ContextMenuItem("Swift 3D", itemHandler2)); myMenu.customItems.push(new ContextMenuItem("Flash", itemHandler3)); myMenu.customItems.push(new ContextMenuItem("Code Gallery", itemHandler4)); myMenu.customItems.push(new ContextMenuItem("Other", itemHandler5)); _root._quality = "best"; hotkey = function () { if (Key.isDown("F".charCodeAt(0))) { gotoAndStop ("flash"); } if (Key.isDown("S".charCodeAt(0))) { gotoAndStop ("swift"); } if (Key.isDown("M".charCodeAt(0))) { gotoAndStop ("main"); } if (Key.isDown("C".charCodeAt(0))) { gotoAndStop ("code"); } if (Key.isDown("O".charCodeAt(0))) { gotoAndStop ("grounds"); } if (Key.isDown(33)) { _root.mus.setVolume(_root.mus.getVolume() + 10); } if (Key.isDown(34)) { _root.mus.setVolume(_root.mus.getVolume() - 10); } if (Key.isDown("Q".charCodeAt(0))) { prevFrame(); } if (Key.isDown("W".charCodeAt(0))) { nextFrame(); } }; a = 0; rightleft = function () { a = a + 1; if (a > 10) { enable = 1; a = 0; } if (a > 100) { } if (enable == 1) { if (Key.isDown(39)) { nextFrame(); enable = 0; a = 0; } if (Key.isDown(37)) { prevFrame(); enable = 0; a = 0; } } }; onLoad = function () { if (System.capabilities.hasAccessibility) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("blind"); _root.mus.start(0, 1000); _root.mus.volume = 100; } }; enable10 = true; onEnterFrame = function () { scrollNum = _root._currentframe; searchP = _root.searchResult.indexOf("\t"); if (searchP == -1) { _root.bigmen.vis1._visible = false; _root.bigmen.vis2._visible = false; _root.bigmen.vis3._visible = false; _root.bigmen.vis4._visible = false; } else { _root.bigmen.vis1._visible = true; _root.bigmen.vis2._visible = true; _root.bigmen.vis3._visible = true; _root.bigmen.vis4._visible = true; } if (_root.bigmen.hotOff.hitTest(_root._xmouse, _root._ymouse)) { _global.enabler1 = false; } else { _global.enabler1 = true; } _global.currentPage = _root._currentframe - 3; if (_root._currentframe != "bad") { if (_root.men._currentframe != 30) { if (_global.enabler1 == true) { if (_root._currentframe < 1000) { if (_root._currentframe > 3) { if (enable10 == true) { hotkey(); scrollFunc(); rightleft(); } } } } } } else { gotoAndStop (764); } };Frame 5stop();Frame 6stop();Frame 7stop();Frame 8stop();Frame 9stop();Frame 10stop();Frame 11stop();Frame 12stop();Frame 13stop();Frame 14stop();Frame 15stop();Frame 16stop();Frame 17stop();Frame 18stop();Frame 19stop();Frame 20stop();Frame 21stop();Frame 22stop();Frame 23stop();Frame 24stop();Frame 25stop();Frame 26stop();Frame 27stop();Frame 28stop();Frame 29stop();Frame 30stop();Frame 31stop();Frame 32stop();Frame 33stop();Frame 34stop();Frame 35stop();Frame 36stop();Frame 37stop();Frame 38stop();Frame 39stop();Frame 40stop();Frame 41stop();Frame 42stop();Frame 43stop();Frame 44stop();Frame 45stop();Frame 46stop();Frame 47stop();Frame 48stop();Frame 49stop();Frame 50stop();Frame 51stop();Frame 52stop();Frame 53stop();Frame 54stop();Frame 55stop();Frame 56stop();Frame 57stop();Frame 58stop();Frame 59stop();Frame 60stop();Frame 61stop();Frame 62stop();Frame 63stop();Frame 64stop();Frame 65stop();Frame 66stop();Frame 67stop();Frame 68stop();Frame 69stop();Frame 70stop();Frame 71stop();Frame 72stop();Frame 73stop();Frame 74stop();Frame 75stop();Frame 76stop();Frame 77stop();Frame 78stop();Frame 79stop();Frame 80stop();Frame 81stop();Frame 82stop();Frame 83stop();Frame 84stop();Frame 85stop();Frame 86stop();Frame 87stop();Frame 88stop();Frame 89stop();Frame 90stop();Frame 91stop();Frame 92stop();Frame 93stop();Frame 94stop();Frame 95stop();Frame 96stop();Frame 97stop();Frame 98stop();Frame 99stop();Frame 100stop();Frame 101stop();Frame 102stop();Frame 103stop();Frame 104stop();Frame 105stop();Frame 106stop();Frame 107stop();Frame 108stop();Frame 109stop();Frame 110stop();Frame 111stop();Frame 112stop();Frame 113stop();Frame 114stop();Frame 115stop();Frame 116stop();Frame 117stop();Frame 118stop();Frame 119stop();Frame 120stop();Frame 121stop();Frame 122stop();Frame 123stop();Frame 124stop();Frame 125stop();Frame 126stop();Frame 127stop();Frame 128stop();Frame 129stop();Frame 130stop();Frame 131stop();Frame 132stop();Frame 133stop();Frame 134stop();Frame 135stop();Frame 136stop();Frame 137stop();Frame 138stop();Frame 139stop();Frame 140stop();Frame 141stop();Frame 142stop();Frame 143stop();Frame 144stop();Frame 145stop();Frame 146stop();Frame 147stop();Frame 148stop();Frame 149stop();Frame 150stop();Frame 151stop();Frame 152stop();Frame 153stop();Frame 154stop();Frame 155stop();Frame 156stop();Frame 157stop();Frame 158stop();Frame 159stop();Frame 160stop();Frame 161stop();Frame 162stop();Frame 163stop();Frame 164stop();Frame 165stop();Frame 166stop();Frame 167stop();Frame 168stop();Frame 169stop();Frame 170stop();Frame 171stop();Frame 172stop();Frame 173stop();Frame 174stop();Frame 175stop();Frame 176stop();Frame 177stop();Frame 178stop();Frame 179stop();Frame 180stop();Frame 181stop();Frame 182stop();Frame 183stop();Frame 184stop();Frame 185stop();Frame 186stop();Frame 187stop();Frame 188stop();Frame 189stop();Frame 190stop();Frame 191stop();Frame 192stop();Frame 193stop();Frame 194stop();Frame 195stop();Frame 196stop();Frame 197stop();Frame 198stop();Frame 199stop();Frame 200stop();Frame 201stop();Frame 202stop();Frame 203stop();Frame 204stop();Frame 205stop();Frame 206stop();Frame 207stop();Frame 208stop();Frame 209stop();Frame 210stop();Frame 211stop();Frame 212stop();Frame 213stop();Frame 214stop();Frame 215stop();Frame 216stop();Frame 217stop();Frame 218stop();Frame 219stop();Frame 220stop();Frame 221stop();Frame 222stop();Frame 223stop();Frame 224stop();Frame 225stop();Frame 226stop();Frame 227stop();Frame 228stop();Frame 229stop();Frame 230stop();Frame 231stop();Frame 232stop();Frame 233stop();Frame 234stop();Frame 235stop();Frame 236stop();Frame 237stop();Frame 238stop();Frame 239stop();Frame 240stop();Frame 241stop();Frame 242stop();Frame 243stop();Frame 244stop();Frame 245stop();Frame 246stop();Frame 247stop();Frame 248stop();Frame 249stop();Frame 250stop();Frame 251stop();Frame 252stop();Frame 253stop();Frame 254stop();Frame 255stop();Frame 256stop();Frame 257stop();Frame 258stop();Frame 259stop();Frame 260stop();Frame 261stop();Frame 262stop();Frame 263stop();Frame 264stop();Frame 265stop();Frame 266stop();Frame 267stop();Frame 268stop();Frame 269stop();Frame 270stop();Frame 271stop();Frame 272stop();Frame 273stop();Frame 274stop();Frame 275stop();Frame 276stop();Frame 277stop();Frame 278stop();Frame 279stop();Frame 280stop();Frame 281stop();Frame 282stop();Frame 283stop();Frame 284stop();Frame 285stop();Frame 286stop();Frame 287stop();Frame 288stop();Frame 289stop();Frame 290stop();Frame 291stop();Frame 292stop();Frame 293stop();Frame 294stop();Frame 295stop();Frame 296stop();Frame 297stop();Frame 298stop();Frame 299stop();Frame 300stop();Frame 301stop();Frame 302stop();Frame 303stop();Frame 304stop();Frame 305stop();Frame 306stop();Frame 307stop();Frame 308stop();Frame 309stop();Frame 310stop();Frame 311stop();Frame 312stop();Frame 313stop();Frame 314stop();Frame 315stop();Frame 316stop();Frame 317stop();Frame 318stop();Frame 319stop();Frame 320stop();Frame 321stop();Frame 322stop();Frame 323stop();Frame 324stop();Frame 325stop();Frame 326stop();Frame 327stop();Frame 328stop();Frame 329stop();Frame 330stop();Frame 331stop();Frame 332stop();Frame 333stop();Frame 334stop();Frame 335stop();Frame 336stop();Frame 337stop();Frame 338stop();Frame 339stop();Frame 340stop();Frame 341stop();Frame 342stop();Frame 343stop();Frame 344stop();Frame 345stop();Frame 346stop();Frame 347stop();Frame 348stop();Frame 349stop();Frame 350stop();Frame 351stop();Frame 352stop();Frame 353stop();Frame 354stop();Frame 355stop();Frame 356stop();Frame 357stop();Frame 358stop();Frame 359stop();Frame 360stop();Frame 361stop();Frame 362stop();Frame 363stop();Frame 364stop();Frame 365stop();Frame 366stop();Frame 367stop();Frame 368stop();Frame 369stop();Frame 370stop();Frame 371stop();Frame 372stop();Frame 373stop();Frame 374stop();Frame 375stop();Frame 376stop();Frame 377stop();Frame 378stop();Frame 379stop();Frame 380stop();Frame 381stop();Frame 382stop();Frame 383stop();Frame 384stop();Frame 385stop();Frame 386stop();Frame 387stop();Frame 388stop();Frame 389stop();Frame 390stop();Frame 391stop();Frame 392stop();Frame 393stop();Frame 394stop();Frame 395stop();Frame 396stop();Frame 397stop();Frame 398stop();Frame 399stop();Frame 400stop();Frame 401stop();Frame 402stop();Frame 403stop();Frame 404stop();Frame 405stop();Frame 406stop();Frame 407stop();Frame 408stop();Frame 409stop();Frame 410stop();Frame 411stop();Frame 412stop();Frame 413stop();Frame 414stop();Frame 415stop();Frame 416stop();Frame 417stop();Frame 418stop();Frame 419stop();Frame 420stop();Frame 421stop();Frame 422stop();Frame 423stop();Frame 424stop();Frame 425stop();Frame 426stop();Frame 427stop();Frame 428stop();Frame 429stop();Frame 430stop();Frame 431stop();Frame 432stop();Frame 433stop();Frame 434stop();Frame 435stop();Frame 436stop();Frame 437stop();Frame 438stop();Frame 439stop();Frame 440stop();Frame 441stop();Frame 442stop();Frame 443stop();Frame 444stop();Frame 445stop();Frame 446stop();Instance of Symbol 4560 MovieClip in Frame 446onClipEvent (enterFrame) { this.lineStyle(2, 255, 100); this.moveTo(_root._xmouse, _root._ymouse); this.lineTo(Stage.width / 2, Stage.height / 2); }Frame 447stop();Frame 448stop();Frame 449stop();Frame 450stop();Frame 451stop();Instance of Symbol 4560 MovieClip in Frame 451onClipEvent (enterFrame) { this.lineStyle(2, 255, 100); this.moveTo(_root._xmouse, _root._ymouse); this.lineTo(Stage.width / 2, Stage.height / 2); }Frame 452stop();Frame 453stop();Frame 454stop();Frame 455stop();Frame 456stop();Frame 457stop();Frame 458stop();Frame 459stop();Frame 460stop();Frame 461stop();Frame 462stop();Frame 463stop();Frame 464stop();Frame 465stop();Frame 466stop();Frame 467stop();Frame 468stop();Frame 469stop();Frame 470stop();Frame 471stop();Frame 472stop();Frame 473stop();Frame 474stop();Frame 475stop();Frame 476stop();Frame 477stop();Frame 478stop();Frame 479stop();Frame 480stop();Frame 481stop();Frame 482stop();Frame 483stop();Frame 484stop();Frame 485stop();Frame 486stop();Frame 487stop();Frame 488stop();Frame 489stop();Frame 490stop();Frame 491stop();Frame 492stop();Frame 493stop();Frame 494stop();Frame 495stop();Frame 496stop();Frame 497stop();Frame 498stop();Frame 499stop();Instance of Symbol 4767 MovieClip in Frame 499onClipEvent (load) { vx = 0; friction = 0.95; } onClipEvent (enterFrame) { if (Key.isDown(32)) { vx = vx + 10; } if (Key.isDown(16)) { this._x = -101; vx = 0; } vx = vx * friction; this._x = this._x + vx; }Frame 500stop();Frame 501stop();Frame 502stop();Frame 503stop();Frame 504stop();Frame 505stop();Frame 506stop();Frame 507stop();Frame 508stop();Frame 509stop();Frame 510stop();Instance of Symbol 4812 MovieClip "totalrod" in Frame 510onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse)) { distButtonX = _root.totalrod.bot._x - _root.totalrod.arrowA._x; distButtonY = _root.totalrod.bot._y - _root.totalrod.arrowA._y; radianAngle = Math.atan2(distButtonY, distButtonX); degreeAngle = (radianAngle * 180) / Math.PI; _root.totalrod.arrowA._rotation = degreeAngle + 90; } }Frame 511stop();Frame 512stop();Frame 513stop();Frame 514stop();Frame 515stop();Frame 516stop();Frame 517stop();Frame 518stop();Frame 519stop();Frame 520stop();Frame 521stop();Frame 522stop();Frame 523stop();Frame 524stop();Frame 525stop();Frame 526stop();Frame 527stop();Frame 528stop();Frame 529stop();Frame 530stop();Frame 531stop();Frame 532stop();Frame 533stop();Frame 534stop();Frame 535stop();Frame 536stop();Frame 537stop();Frame 538stop();Frame 539stop();Frame 540stop();Frame 541stop();Frame 542stop();Frame 543stop();Frame 544stop();Frame 545stop();Frame 546stop();Frame 547stop();Frame 548stop();Frame 549stop();Frame 550stop();Frame 551stop();Frame 552stop();Frame 553stop();Frame 554stop();Frame 555stop();Frame 556stop();Frame 557stop();Frame 558stop();Frame 559stop();Frame 560stop();Frame 561stop();Frame 562stop();Frame 563stop();Frame 564stop();Frame 565stop();Frame 566stop();Frame 567stop();Frame 568stop();Frame 569stop();Frame 570stop();Frame 571stop();Frame 572stop();Frame 573stop();Frame 574stop();Frame 575stop();Frame 576stop();Frame 577stop();Frame 578stop();Frame 579stop();Frame 580stop();Frame 581stop();Frame 582stop();Frame 583stop();Frame 584stop();Frame 585stop();Frame 586stop();Frame 587stop();Frame 588stop();Frame 589stop();Frame 590stop();Frame 591stop();Frame 592stop();Frame 593stop();Frame 594stop();Frame 595stop();Frame 596stop();Frame 597stop();Frame 598stop();Frame 599stop();Frame 600stop();Frame 601stop();Frame 602stop();Frame 603stop();Frame 604stop();Frame 605stop();Frame 606stop();Frame 607stop();Frame 608stop();Frame 609stop();Frame 610stop();Frame 611stop();Frame 612stop();Frame 613stop();Frame 614stop();Frame 615stop();Frame 616stop();Frame 617stop();Frame 618stop();Frame 619stop();Frame 620stop();Frame 621stop();Frame 622stop();Frame 623stop();Frame 624stop();Frame 625stop();Instance of Symbol 5317 MovieClip in Frame 625onClipEvent (load) { vx = 0; vy = 0; friction = 0.8; } onClipEvent (enterFrame) { vx = vx * friction; vy = vy * friction; this._x = this._x + vx; this._y = this._y + vy; if (Key.isDown(39)) { vx = vx + 2; } if (Key.isDown(37)) { vx = vx - 2; } if (Key.isDown(38)) { vy = vy - 2; } if (Key.isDown(40)) { vy = vy + 2; } }Frame 626stop();Frame 627stop();Frame 628stop();Frame 629stop();Frame 630stop();Frame 631stop();Instance of Symbol 5341 MovieClip in Frame 631onClipEvent (enterFrame) { thisDate = new Date(); pmAM = ((thisDate.getHours() > 11) ? " PM" : " AM"); if (thisDate.getHours() > 12) { numHours = thisDate.getHours() - 12; } else { numHours = thisDate.getHours(); } if (thisDate.getMinutes < 10) { numMinutes = "0" + thisDate.getMinutes(); } else { numMinutes = thisDate.getMinutes(); } time = ((numHours + ":") + numMinutes) + pmAM; }Frame 632stop();Frame 633stop();Frame 634stop();Frame 635stop();Frame 636stop();Frame 637stop();Frame 638stop();Frame 639stop();Frame 640stop();Frame 641stop();Frame 642stop();Frame 643stop();Frame 644stop();Frame 645stop();Frame 646stop();Frame 647stop();Frame 648stop();Frame 649stop();Frame 650stop();Frame 651stop();Frame 652stop();Frame 653stop();Frame 654stop();Frame 655stop();Frame 656stop();Frame 657stop();Frame 658stop();Frame 659stop();Frame 660stop();Frame 661stop();Frame 662stop();Frame 663stop();Frame 664stop();Frame 665stop();Frame 666stop();Frame 667stop();Frame 668stop();Frame 669stop();Frame 670stop();Frame 671stop();Frame 672stop();Frame 673stop();Frame 674stop();Frame 675stop();Frame 676stop();Frame 677stop();Frame 678stop();Frame 679stop();Frame 680stop();Frame 681stop();Frame 682stop();Frame 683stop();Frame 684stop();Frame 685stop();Frame 686stop();Frame 687stop();Frame 688stop();Frame 689stop();Frame 690stop();Frame 691stop();Frame 692stop();Frame 693stop();Frame 694stop();Frame 695stop();Frame 696stop();Frame 697stop();Frame 698stop();Frame 699stop();Frame 700stop();Frame 701stop();Frame 702stop();Frame 703stop();Frame 704stop();Frame 705stop();Frame 706stop();Frame 707stop();Frame 708stop();Frame 709stop();Frame 710stop();Frame 711stop();Frame 712stop();Frame 713stop();Frame 714stop();Frame 715stop();Frame 716stop();Frame 717stop();Frame 718stop();Frame 719stop();Frame 720stop();Frame 721stop();Frame 722stop();Frame 723stop();Frame 724stop();Frame 725stop();Frame 726stop();Frame 727stop();Frame 728stop();Frame 729stop();Frame 730stop();Frame 731stop();Frame 732stop();Frame 733stop();Frame 734stop();Frame 735stop();Frame 736stop();Frame 737stop();Frame 738stop();Frame 739stop();Frame 740stop();Frame 741stop();Frame 742stop();Frame 743stop();Frame 744stop();Frame 745stop();Frame 746stop();Frame 747stop();Frame 748stop();Frame 749stop();Frame 750stop();Frame 751clickHandlerL = function (evt) { if (evt.detail == mx.controls.Alert.OK) { gotoAndStop ("main"); } }; mx.controls.Alert.show("The tutorial is over. Please press okay to return to the main menu", "End of Tutorial", mx.controls.Alert.OK, this, clickHandlerL); stop();Frame 752gotoAndStop ("tehend"); stop();Frame 753gotoAndStop ("tehend"); stop();Frame 754stop();Frame 755stop();Frame 756stop();Frame 757stop();Frame 758stop();Frame 759stop();Frame 760stop();Frame 761stop();Frame 762gotoAndStop ("tehend"); stop();Frame 763gotoAndStop ("tehend"); stop();Frame 764stop(); onEnterFrame = function () { gotoAndStop ("bad"); };Instance of Symbol 5813 MovieClip "musicSlider" in Frame 764onClipEvent (enterFrame) { sliderPos = _root.musicSlider.hyperbola._xmouse; tehredbox._x = sliderpos; volSet = (sliderpos / 61) * 100; }Symbol 12 MovieClip [BrdrShdw] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "shadowColor");Symbol 14 MovieClip [BrdrFace] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "buttonColor");Symbol 17 MovieClip [BrdrBlk] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "borderColor");Symbol 19 MovieClip [BrdrHilght] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "highlightColor");Symbol 22 MovieClip [Defaults] Frame 1#initclip 52 Object.registerClass("Defaults", mx.skins.halo.Defaults); #endinitclipSymbol 23 MovieClip [UIObjectExtensions] Frame 1#initclip 53 Object.registerClass("UIObjectExtensions", mx.core.ext.UIObjectExtensions); #endinitclipSymbol 24 MovieClip [UIObject] Frame 1#initclip 54 Object.registerClass("UIObject", mx.core.UIObject); #endinitclip stop();Symbol 27 Buttonon (keyPress "<Tab>") { this.tabHandler(); }Symbol 28 MovieClip Frame 1#initclip 55 Object.registerClass("FocusManager", mx.managers.FocusManager); if (_root.focusManager == undefined) { _root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--); } #endinitclipSymbol 29 MovieClip [FocusRect] Frame 1#initclip 56 Object.registerClass("FocusRect", mx.skins.halo.FocusRect); #endinitclipSymbol 30 MovieClip [FocusManager] Frame 1#initclip 57 Object.registerClass("FocusManager", mx.managers.FocusManager); #endinitclip stop();Symbol 31 MovieClip [UIComponentExtensions] Frame 1#initclip 58 Object.registerClass("UIComponentExtensions", mx.core.ext.UIComponentExtensions); #endinitclipSymbol 32 MovieClip [UIComponent] Frame 1#initclip 59 Object.registerClass("UIComponent", mx.core.UIComponent); #endinitclip stop();Symbol 33 MovieClip [SimpleButton] Frame 1#initclip 60 Object.registerClass("SimpleButton", mx.controls.SimpleButton); #endinitclip stop();Symbol 34 MovieClip [Border] Frame 1#initclip 61 Object.registerClass("Border", mx.skins.Border); #endinitclip stop();Symbol 35 MovieClip [RectBorder] Frame 1#initclip 62 mx.skins.SkinElement.registerElement(mx.skins.RectBorder.symbolName, Object(mx.skins.RectBorder)); Object.registerClass("RectBorder", mx.skins.halo.RectBorder); #endinitclip stop();Symbol 36 MovieClip [ButtonSkin] Frame 1#initclip 63 Object.registerClass("ButtonSkin", mx.skins.halo.ButtonSkin); #endinitclipSymbol 37 MovieClip [Button] Frame 1#initclip 64 Object.registerClass("Button", mx.controls.Button); #endinitclip stop();Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 37 MovieClip [Button] Frame 2//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 38 MovieClip [CustomBorder] Frame 1#initclip 65 Object.registerClass("CustomBorder", mx.skins.CustomBorder); mx.skins.SkinElement.registerElement("CustomBorder", mx.skins.CustomBorder); #endinitclipSymbol 50 MovieClip [ScrollThemeColor1] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");Symbol 52 MovieClip [ScrollThemeColor2] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");Symbol 63 MovieClip [ThumbThemeColor1] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");Symbol 65 MovieClip [ThumbThemeColor3] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");Symbol 72 MovieClip [ThumbThemeColor2] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");Symbol 93 MovieClip [BtnDownArrow] Frame 1#initclip 66 Object.registerClass("BtnDownArrow", mx.controls.SimpleButton); #endinitclipSymbol 94 MovieClip [BtnUpArrow] Frame 1#initclip 67 Object.registerClass("BtnUpArrow", mx.controls.SimpleButton); #endinitclipSymbol 96 MovieClip [VScrollBar] Frame 1#initclip 68 Object.registerClass("VScrollBar", mx.controls.VScrollBar); #endinitclip stop();Instance of Symbol 37 MovieClip [Button] in Symbol 96 MovieClip [VScrollBar] Frame 2//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 96 MovieClip [VScrollBar] Frame 2//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 97 MovieClip [HScrollBar] Frame 1#initclip 69 Object.registerClass("HScrollBar", mx.controls.HScrollBar); #endinitclip stop();Instance of Symbol 37 MovieClip [Button] in Symbol 97 MovieClip [HScrollBar] Frame 2//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 97 MovieClip [HScrollBar] Frame 2//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 98 MovieClip [UIScrollBar] Frame 1#initclip 70 Object.registerClass("UIScrollBar", mx.controls.UIScrollBar); #endinitclip stop();Instance of Symbol 96 MovieClip [VScrollBar] in Symbol 98 MovieClip [UIScrollBar] Frame 2//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }Instance of Symbol 97 MovieClip [HScrollBar] in Symbol 98 MovieClip [UIScrollBar] Frame 2//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 126 MovieClip [MenuBarItem] Frame 1#initclip 71 Object.registerClass("MenuBarItem", mx.controls.menuclasses.MenuBarItem); #endinitclipSymbol 127 MovieClip [ActivatorSkin] Frame 1#initclip 72 Object.registerClass("ActivatorSkin", mx.skins.halo.ActivatorSkin); #endinitclipSymbol 128 MovieClip [DataProvider] Frame 1#initclip 73 Object.registerClass("DataProvider", mx.controls.listclasses.DataProvider); #endinitclip stop();Symbol 129 MovieClip [DataSelector] Frame 1#initclip 74 Object.registerClass("DataSelector", mx.controls.listclasses.DataSelector); #endinitclip stop();Symbol 130 MovieClip [SelectableRow] Frame 1#initclip 75 Object.registerClass("SelectableRow", mx.controls.listclasses.SelectableRow); #endinitclip stop();Symbol 131 MovieClip [View] Frame 1#initclip 76 Object.registerClass("View", mx.core.View); #endinitclip stop();Symbol 132 MovieClip [ScrollView] Frame 1#initclip 77 Object.registerClass("ScrollView", mx.core.ScrollView); #endinitclip stop();Instance of Symbol 97 MovieClip [HScrollBar] in Symbol 132 MovieClip [ScrollView] Frame 2//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }Instance of Symbol 96 MovieClip [VScrollBar] in Symbol 132 MovieClip [ScrollView] Frame 2//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 133 MovieClip [ScrollSelectList] Frame 1#initclip 78 Object.registerClass("ScrollSelectList", mx.controls.listclasses.ScrollSelectList); #endinitclip stop();Symbol 149 MovieClip [MenuRow] Frame 1#initclip 79 Object.registerClass("MenuRow", mx.controls.menuclasses.MenuRow); #endinitclip stop();Symbol 150 MovieClip [TreeDataProvider] Frame 1#initclip 80 Object.registerClass("TreeDataProvider", mx.controls.treeclasses.TreeDataProvider); #endinitclipSymbol 151 MovieClip [MenuDataProvider] Frame 1#initclip 81 Object.registerClass("MenuDataProvider", mx.controls.menuclasses.MenuDataProvider); #endinitclip stop();Symbol 152 MovieClip [Menu] Frame 1#initclip 82 Object.registerClass("Menu", mx.controls.Menu); #endinitclip stop();Symbol 160 MovieClip [MenuBar] Frame 1#initclip 83 Object.registerClass("MenuBar", mx.controls.MenuBar); #endinitclip stop();Instance of Symbol 152 MovieClip [Menu] in Symbol 160 MovieClip [MenuBar] Frame 2//component parameters onClipEvent (initialize) { rowHeight = 20; }Symbol 180 MovieClip [CheckThemeColor1] Frame 1mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");Symbol 191 MovieClip [CheckBoxAssets] Frame 1#initclip 84 mx.controls.CheckBox.prototype.adjustFocusRect = function () { var _local4 = this._parent.focus_mc; var _local2 = this.iconName; var _local3 = this.getStyle("themeColor"); if (_local3 == undefined) { _local3 = 8453965 /* 0x80FF4D */; } var _local8 = _local2._width + 4; var _local5 = _local2._height + 4; _local4.setSize(_local8, _local5, 0, 100, _local3); var _local7 = _local2._x; var _local6 = _local2._y; _local4.move((this.x - 2) + _local7, (this.y + _local6) - 2); }; #endinitclipSymbol 192 MovieClip [CheckBox] Frame 1#initclip 85 Object.registerClass("CheckBox", mx.controls.CheckBox); #endinitclip stop();Instance of Symbol 37 MovieClip [Button] in Symbol 192 MovieClip [CheckBox] Frame 2//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 195 MovieClip [Modal] Frame 1#initclip 86 mx.skins.SkinElement.registerElement("Modal"); #endinitclipSymbol 202 MovieClip [TitleBackground] Frame 1#initclip 87 _global.mx.skins.TitleBackground = function () { this.constructObject(); }; _global.mx.skins.TitleBackground.prototype = new mx.skins.CustomBorder(); _global.mx.skins.TitleBackground.prototype.className = "TitleBackground"; _global.mx.skins.TitleBackground.symbolName = "TitleBackground"; _global.mx.skins.TitleBackground.symbolOwner = _global.mx.skins.TitleBackground; _global.mx.skins.TitleBackground.prototype.leftSkin = "TitleLeft"; _global.mx.skins.TitleBackground.prototype.middleSkin = "TitleMiddle"; _global.mx.skins.TitleBackground.prototype.rightSkin = "TitleRight"; _global.mx.skins.SkinElement.registerElement("TitleBackground", _global.mx.skins.TitleBackground); _global.mx.skins.SkinElement.registerElement("TitleLeft"); _global.mx.skins.SkinElement.registerElement("TitleMiddle"); _global.mx.skins.SkinElement.registerElement("TitleRight"); _global.mx.skins.TitleBackground.prototype.init = function () { super.init(); }; #endinitclipSymbol 211 MovieClip [WindowAssets] Frame 1#initclip 88 mx.containers.Window.prototype.titleStyleDeclaration = "windowStyles"; #endinitclipSymbol 212 MovieClip [Window] Frame 1#initclip 89 Object.registerClass("Window", mx.containers.Window); #endinitclip stop();Instance of Symbol 10 MovieClip [BoundingBox] "boundingBox_mc" in Symbol 212 MovieClip [Window] Frame 1/* no clip actions */Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 212 MovieClip [Window] Frame 2//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 215 MovieClip [TextArea] Frame 1#initclip 90 Object.registerClass("TextArea", mx.controls.TextArea); #endinitclip stop();Symbol 216 MovieClip [AlertAssets] Frame 1#initclip 91 mx.controls.Alert.titleStyleDeclaration = "windowStyles"; #endinitclipSymbol 217 MovieClip [Alert] Frame 1#initclip 92 Object.registerClass("Alert", mx.controls.Alert); #endinitclip stop();Instance of Symbol 212 MovieClip [Window] in Symbol 217 MovieClip [Alert] Frame 2//component parameters onClipEvent (initialize) { closeButton = false; contentPath = ""; title = ""; enabled = true; visible = true; minHeight = 0; minWidth = 0; skinCloseDisabled = "CloseButtonDisabled"; skinCloseDown = "CloseButtonDown"; skinCloseOver = "CloseButtonOver"; skinCloseUp = "CloseButtonUp"; skinTitleBackground = "TitleBackground"; titleStyleDeclaration = ""; }Instance of Symbol 215 MovieClip [TextArea] in Symbol 217 MovieClip [Alert] Frame 2//component parameters onClipEvent (initialize) { editable = true; html = false; text = ""; wordWrap = false; maxChars = null; restrict = "null"; enabled = true; password = false; visible = true; minHeight = 0; minWidth = 0; }Instance of Symbol 37 MovieClip [Button] in Symbol 217 MovieClip [Alert] Frame 2//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }Symbol 5 MovieClip [__Packages.mx.core.UIObject] Frame 0class mx.core.UIObject extends MovieClip { var _width, _height, _x, _y, _parent, _minHeight, _minWidth, _visible, dispatchEvent, _xscale, _yscale, methodTable, onEnterFrame, tfList, __width, __height, moveTo, lineTo, createTextField, attachMovie, buildDepthTable, findNextAvailableDepth, idNames, childrenCreated, _name, createAccessibilityImplementation, _endInit, validateNow, hasOwnProperty, initProperties, stylecache, className, ignoreClassStyleDeclaration, _tf, fontFamily, fontSize, color, marginLeft, marginRight, fontStyle, fontWeight, textAlign, textIndent, textDecoration, embedFonts, styleName, enabled; function UIObject () { super(); constructObject(); } function get width() { return(_width); } function get height() { return(_height); } function get left() { return(_x); } function get x() { return(_x); } function get top() { return(_y); } function get y() { return(_y); } function get right() { return(_parent.width - (_x + width)); } function get bottom() { return(_parent.height - (_y + height)); } function getMinHeight(Void) { return(_minHeight); } function setMinHeight(h) { _minHeight = h; } function get minHeight() { return(getMinHeight()); } function set minHeight(h) { setMinHeight(h); //return(minHeight); } function getMinWidth(Void) { return(_minWidth); } function setMinWidth(w) { _minWidth = w; } function get minWidth() { return(getMinWidth()); } function set minWidth(w) { setMinWidth(w); //return(minWidth); } function setVisible(x, noEvent) { if (x != _visible) { _visible = x; if (noEvent != true) { dispatchEvent({type:(x ? "reveal" : "hide")}); } } } function get visible() { return(_visible); } function set visible(x) { setVisible(x, false); //return(visible); } function get scaleX() { return(_xscale); } function set scaleX(x) { _xscale = x; //return(scaleX); } function get scaleY() { return(_yscale); } function set scaleY(y) { _yscale = y; //return(scaleY); } function doLater(obj, fn) { if (methodTable == undefined) { methodTable = new Array(); } methodTable.push({obj:obj, fn:fn}); onEnterFrame = doLaterDispatcher; } function doLaterDispatcher(Void) { delete onEnterFrame; if (invalidateFlag) { redraw(); } var __methodTable = methodTable; methodTable = new Array(); if (__methodTable.length > 0) { var m; while (((m = __methodTable.shift())) != undefined) { m.obj[m.fn](); } } } function cancelAllDoLaters(Void) { delete onEnterFrame; methodTable = new Array(); } function invalidate(Void) { invalidateFlag = true; onEnterFrame = doLaterDispatcher; } function invalidateStyle(Void) { invalidate(); } function redraw(bAlways) { if (invalidateFlag || (bAlways)) { invalidateFlag = false; var i; for (i in tfList) { tfList[i].draw(); } draw(); dispatchEvent({type:"draw"}); } } function draw(Void) { } function move(x, y, noEvent) { var oldX = _x; var oldY = _y; _x = x; _y = y; if (noEvent != true) { dispatchEvent({type:"move", oldX:oldX, oldY:oldY}); } } function setSize(w, h, noEvent) { var oldWidth = __width; var oldHeight = __height; __width = w; __height = h; size(); if (noEvent != true) { dispatchEvent({type:"resize", oldWidth:oldWidth, oldHeight:oldHeight}); } } function size(Void) { _width = __width; _height = __height; } function drawRect(x1, y1, x2, y2) { moveTo(x1, y1); lineTo(x2, y1); lineTo(x2, y2); lineTo(x1, y2); lineTo(x1, y1); } function createLabel(name, depth, text) { createTextField(name, depth, 0, 0, 0, 0); var o = this[name]; o._color = textColorList; o._visible = false; o.__text = text; if (tfList == undefined) { tfList = new Object(); } tfList[name] = o; o.invalidateStyle(); invalidate(); o.styleName = this; return(o); } function createObject(linkageName, id, depth, initobj) { return(attachMovie(linkageName, id, depth, initobj)); } function createClassObject(className, id, depth, initobj) { var bSubClass = (className.symbolName == undefined); if (bSubClass) { Object.registerClass(className.symbolOwner.symbolName, className); } var o = mx.core.UIObject(createObject(className.symbolOwner.symbolName, id, depth, initobj)); if (bSubClass) { Object.registerClass(className.symbolOwner.symbolName, className.symbolOwner); } return(o); } function createEmptyObject(id, depth) { return(createClassObject(mx.core.UIObject, id, depth)); } function destroyObject(id) { var o = this[id]; if (o.getDepth() < 0) { var dt = buildDepthTable(); var i = findNextAvailableDepth(0, dt, "up"); var temp = i; o.swapDepths(temp); } o.removeMovieClip(); delete this[id]; } function getSkinIDName(tag) { return(idNames[tag]); } function setSkin(tag, linkageName, initObj) { if (_global.skinRegistry[linkageName] == undefined) { mx.skins.SkinElement.registerElement(linkageName, mx.skins.SkinElement); } return(createObject(linkageName, getSkinIDName(tag), tag, initObj)); } function createSkin(tag) { var id = getSkinIDName(tag); createEmptyObject(id, tag); return(this[id]); } function createChildren(Void) { } function _createChildren(Void) { createChildren(); childrenCreated = true; } function constructObject(Void) { if (_name == undefined) { return(undefined); } init(); _createChildren(); createAccessibilityImplementation(); _endInit(); if (validateNow) { redraw(true); } else { invalidate(); } } function initFromClipParameters(Void) { var bFound = false; var i; for (i in clipParameters) { if (hasOwnProperty(i)) { bFound = true; this["def_" + i] = this[i]; delete this[i]; } } if (bFound) { for (i in clipParameters) { var v = this["def_" + i]; if (v != undefined) { this[i] = v; } } } } function init(Void) { __width = _width; __height = _height; if (initProperties == undefined) { initFromClipParameters(); } else { initProperties(); } if (_global.cascadingStyles == true) { stylecache = new Object(); } } function getClassStyleDeclaration(Void) { var o = this; var c = className; while (c != undefined) { if (ignoreClassStyleDeclaration[c] == undefined) { if (_global.styles[c] != undefined) { return(_global.styles[c]); } } o = o.__proto__; c = o.className; } } function setColor(color) { } function __getTextFormat(tf, bAll) { var o = stylecache.tf; if (o != undefined) { var j; for (j in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[j])) { if (tf[j] == undefined) { tf[j] = o[j]; } } } return(false); } var bUndefined = false; var j; for (j in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[j])) { if (tf[j] == undefined) { var v = _tf[j]; if (v != undefined) { tf[j] = v; } else if ((j == "font") && (fontFamily != undefined)) { tf[j] = fontFamily; } else if ((j == "size") && (fontSize != undefined)) { tf[j] = fontSize; } else if ((j == "color") && (color != undefined)) { tf[j] = color; } else if ((j == "leftMargin") && (marginLeft != undefined)) { tf[j] = marginLeft; } else if ((j == "rightMargin") && (marginRight != undefined)) { tf[j] = marginRight; } else if ((j == "italic") && (fontStyle != undefined)) { tf[j] = fontStyle == j; } else if ((j == "bold") && (fontWeight != undefined)) { tf[j] = fontWeight == j; } else if ((j == "align") && (textAlign != undefined)) { tf[j] = textAlign; } else if ((j == "indent") && (textIndent != undefined)) { tf[j] = textIndent; } else if ((j == "underline") && (textDecoration != undefined)) { tf[j] = textDecoration == j; } else if ((j == "embedFonts") && (embedFonts != undefined)) { tf[j] = embedFonts; } else { bUndefined = true; } } } } if (bUndefined) { var name = styleName; if (name != undefined) { if (typeof(name) != "string") { bUndefined = name.__getTextFormat(tf, true, this); } else if (_global.styles[name] != undefined) { bUndefined = _global.styles[name].__getTextFormat(tf, true, this); } } } if (bUndefined) { var ss = getClassStyleDeclaration(); if (ss != undefined) { bUndefined = ss.__getTextFormat(tf, true, this); } } if (bUndefined) { if (_global.cascadingStyles) { if (_parent != undefined) { bUndefined = _parent.__getTextFormat(tf, false); } } } if (bUndefined) { bUndefined = _global.style.__getTextFormat(tf, true, this); } return(bUndefined); } function _getTextFormat(Void) { var tf = stylecache.tf; if (tf != undefined) { return(tf); } tf = new TextFormat(); __getTextFormat(tf, true); stylecache.tf = tf; if (enabled == false) { var c = getStyle("disabledColor"); tf.color = c; } return(tf); } function getStyleName(Void) { var name = styleName; if (name != undefined) { if (typeof(name) != "string") { return(name.getStyleName()); } return(name); } if (_parent != undefined) { return(_parent.getStyleName()); } return(undefined); } function getStyle(styleProp) { var v = undefined; _global.getStyleCounter++; if (this[styleProp] != undefined) { return(this[styleProp]); } var name = styleName; if (name != undefined) { if (typeof(name) != "string") { v = name.getStyle(styleProp); } else { var ss = _global.styles[name]; v = ss.getStyle(styleProp); } } if (v != undefined) { return(v); } var ss = getClassStyleDeclaration(); if (ss != undefined) { v = ss[styleProp]; } if (v != undefined) { return(v); } if (_global.cascadingStyles) { if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (mx.styles.StyleManager.isColorStyle(styleProp))) { var b = stylecache; if (b != undefined) { if (b[styleProp] != undefined) { return(b[styleProp]); } } if (_parent != undefined) { v = _parent.getStyle(styleProp); } else { v = _global.style[styleProp]; } if (b != undefined) { b[styleProp] = v; } return(v); } } if (v == undefined) { v = _global.style[styleProp]; } return(v); } static function mergeClipParameters(o, p) { for (var i in p) { o[i] = p[i]; } return(true); } static var symbolName = "UIObject"; static var symbolOwner = mx.core.UIObject; static var version = "2.0.2.126"; static var textColorList = {color:1, disabledColor:1}; var invalidateFlag = false; var lineWidth = 1; var lineColor = 0; var tabEnabled = false; var clipParameters = {visible:1, minHeight:1, minWidth:1, maxHeight:1, maxWidth:1, preferredHeight:1, preferredWidth:1}; }Symbol 99 MovieClip [__Packages.mx.skins.SkinElement] Frame 0class mx.skins.SkinElement extends MovieClip { var _visible, _x, _y, _width, _height; function SkinElement () { super(); } static function registerElement(name, className) { Object.registerClass(name, ((className == undefined) ? (mx.skins.SkinElement) : (className))); _global.skinRegistry[name] = true; } function __set__visible(visible) { _visible = visible; } function move(x, y) { _x = x; _y = y; } function setSize(w, h) { _width = w; _height = h; } }Symbol 100 MovieClip [__Packages.mx.styles.CSSTextStyles] Frame 0class mx.styles.CSSTextStyles { function CSSTextStyles () { } static function addTextStyles(o, bColor) { o.addProperty("textAlign", function () { return(this._tf.align); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.align = x; }); o.addProperty("fontWeight", function () { return(((this._tf.bold != undefined) ? ((this._tf.bold ? "bold" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.bold = x == "bold"; }); if (bColor) { o.addProperty("color", function () { return(this._tf.color); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.color = x; }); } o.addProperty("fontFamily", function () { return(this._tf.font); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.font = x; }); o.addProperty("textIndent", function () { return(this._tf.indent); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.indent = x; }); o.addProperty("fontStyle", function () { return(((this._tf.italic != undefined) ? ((this._tf.italic ? "italic" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.italic = x == "italic"; }); o.addProperty("marginLeft", function () { return(this._tf.leftMargin); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.leftMargin = x; }); o.addProperty("marginRight", function () { return(this._tf.rightMargin); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.rightMargin = x; }); o.addProperty("fontSize", function () { return(this._tf.size); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.size = x; }); o.addProperty("textDecoration", function () { return(((this._tf.underline != undefined) ? ((this._tf.underline ? "underline" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.underline = x == "underline"; }); o.addProperty("embedFonts", function () { return(this._tf.embedFonts); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.embedFonts = x; }); } }Symbol 102 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] Frame 0class mx.styles.CSSStyleDeclaration { var _tf; function CSSStyleDeclaration () { } function __getTextFormat(tf, bAll) { var bUndefined = false; if (_tf != undefined) { var j; for (j in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[j])) { if (tf[j] == undefined) { var v = _tf[j]; if (v != undefined) { tf[j] = v; } else { bUndefined = true; } } } } } else { bUndefined = true; } return(bUndefined); } function getStyle(styleProp) { var val = this[styleProp]; var c = mx.styles.StyleManager.getColorName(val); return(((c == undefined) ? (val) : (c))); } static function classConstruct() { mx.styles.CSSTextStyles.addTextStyles(mx.styles.CSSStyleDeclaration.prototype, true); return(true); } static var classConstructed = classConstruct(); static var CSSTextStylesDependency = mx.styles.CSSTextStyles; }Symbol 101 MovieClip [__Packages.mx.styles.StyleManager] Frame 0class mx.styles.StyleManager { function StyleManager () { } static function registerInheritingStyle(styleName) { inheritingStyles[styleName] = true; } static function isInheritingStyle(styleName) { return(inheritingStyles[styleName] == true); } static function registerColorStyle(styleName) { colorStyles[styleName] = true; } static function isColorStyle(styleName) { return(colorStyles[styleName] == true); } static function registerColorName(colorName, colorValue) { colorNames[colorName] = colorValue; } static function isColorName(colorName) { return(colorNames[colorName] != undefined); } static function getColorName(colorName) { return(colorNames[colorName]); } static var inheritingStyles = {color:true, direction:true, fontFamily:true, fontSize:true, fontStyle:true, fontWeight:true, textAlign:true, textIndent:true}; static var colorStyles = {barColor:true, trackColor:true, borderColor:true, buttonColor:true, color:true, dateHeaderColor:true, dateRollOverColor:true, disabledColor:true, fillColor:true, highlightColor:true, scrollTrackColor:true, selectedDateColor:true, shadowColor:true, strokeColor:true, symbolBackgroundColor:true, symbolBackgroundDisabledColor:true, symbolBackgroundPressedColor:true, symbolColor:true, symbolDisabledColor:true, themeColor:true, todayIndicatorColor:true, shadowCapColor:true, borderCapColor:true, focusColor:true}; static var colorNames = {black:0, white:16777215, red:16711680, green:65280, blue:255, magenta:16711935, yellow:16776960, cyan:65535, haloGreen:8453965, haloBlue:2881013, haloOrange:16761344}; static var TextFormatStyleProps = {font:true, size:true, color:true, leftMargin:false, rightMargin:false, italic:true, bold:true, align:true, indent:true, underline:false, embedFonts:false}; static var TextStyleMap = {textAlign:true, fontWeight:true, color:true, fontFamily:true, textIndent:true, fontStyle:true, lineHeight:true, marginLeft:true, marginRight:true, fontSize:true, textDecoration:true, embedFonts:true}; }Symbol 6 MovieClip [__Packages.mx.core.UIComponent] Frame 0class mx.core.UIComponent extends mx.core.UIObject { var __width, __height, invalidate, stylecache, removeEventListener, dispatchEvent, drawFocus, addEventListener, _xscale, _yscale, _focusrect, watch, enabled; function UIComponent () { super(); } function get width() { return(__width); } function get height() { return(__height); } function setVisible(x, noEvent) { super.setVisible(x, noEvent); } function enabledChanged(id, oldValue, newValue) { setEnabled(newValue); invalidate(); delete stylecache.tf; return(newValue); } function setEnabled(enabled) { invalidate(); } function getFocus() { var selFocus = Selection.getFocus(); return(((selFocus === null) ? null : (eval (selFocus)))); } function setFocus() { Selection.setFocus(this); } function getFocusManager() { var o = this; while (o != undefined) { if (o.focusManager != undefined) { return(o.focusManager); } o = o._parent; } return(undefined); } function onKillFocus(newFocus) { removeEventListener("keyDown", this); removeEventListener("keyUp", this); dispatchEvent({type:"focusOut"}); drawFocus(false); } function onSetFocus(oldFocus) { addEventListener("keyDown", this); addEventListener("keyUp", this); dispatchEvent({type:"focusIn"}); if (getFocusManager().bDrawFocus != false) { drawFocus(true); } } function findFocusInChildren(o) { if (o.focusTextField != undefined) { return(o.focusTextField); } if (o.tabEnabled == true) { return(o); } return(undefined); } function findFocusFromObject(o) { if (o.tabEnabled != true) { if (o._parent == undefined) { return(undefined); } if (o._parent.tabEnabled == true) { o = o._parent; } else if (o._parent.tabChildren) { o = findFocusInChildren(o._parent); } else { o = findFocusFromObject(o._parent); } } return(o); } function pressFocus() { var o = findFocusFromObject(this); var p = getFocus(); if (o != p) { p.drawFocus(false); if (getFocusManager().bDrawFocus != false) { o.drawFocus(true); } } } function releaseFocus() { var o = findFocusFromObject(this); if (o != getFocus()) { o.setFocus(); } } function isParent(o) { while (o != undefined) { if (o == this) { return(true); } o = o._parent; } return(false); } function size() { } function init() { super.init(); _xscale = 100; _yscale = 100; _focusrect = _global.useFocusRect == false; watch("enabled", enabledChanged); if (enabled == false) { setEnabled(false); } } function dispatchValueChangedEvent(value) { dispatchEvent({type:"valueChanged", value:value}); } static var symbolName = "UIComponent"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.2.126"; static var kStretch = 5000; var focusEnabled = true; var tabEnabled = true; var origBorderStyles = {themeColor:16711680}; var clipParameters = {}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.core.UIComponent.prototype.clipParameters, mx.core.UIObject.prototype.clipParameters); }Symbol 161 MovieClip [__Packages.mx.core.View] Frame 0class mx.core.View extends mx.core.UIComponent { var tabChildren, tabEnabled, boundingBox_mc, border_mc, __get__width, __get__height, __tabIndex, depth, createObject, createClassObject, loadExternal, destroyObject, createClassChildAtDepth, doLater; function View () { super(); } function init() { super.init(); tabChildren = true; tabEnabled = false; boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function size() { border_mc.move(0, 0); border_mc.setSize(__get__width(), __get__height()); doLayout(); } function draw() { size(); } function get numChildren() { var childName = childNameBase; var i = 0; while (true) { if (this[childName + i] == undefined) { return(i); } i++; } } function get tabIndex() { return((tabEnabled ? (__tabIndex) : undefined)); } function addLayoutObject(object) { } function createChild(className, instanceName, initProps) { if (depth == undefined) { depth = 1; } var newObj; if (typeof(className) == "string") { newObj = createObject(className, instanceName, depth++, initProps); } else { newObj = createClassObject(className, instanceName, depth++, initProps); } if (newObj == undefined) { newObj = loadExternal(className, _loadExternalClass, instanceName, depth++, initProps); } else { this[childNameBase + numChildren] = newObj; newObj._complete = true; childLoaded(newObj); } addLayoutObject(newObj); return(newObj); } function getChildAt(childIndex) { return(this[childNameBase + childIndex]); } function destroyChildAt(childIndex) { if (!((childIndex >= 0) && (childIndex < numChildren))) { return(undefined); } var childName = (childNameBase + childIndex); var nChildren = numChildren; var slot; for (slot in this) { if (slot == childName) { childName = ""; destroyObject(slot); break; } } var i = Number(childIndex); while (i < (nChildren - 1)) { this[childNameBase + i] = this[childNameBase + (i + 1)]; i++; } delete this[childNameBase + (nChildren - 1)]; depth--; } function initLayout() { if (!hasBeenLayedOut) { doLayout(); } } function doLayout() { hasBeenLayedOut = true; } function createChildren() { if (border_mc == undefined) { border_mc = createClassChildAtDepth(_global.styles.rectBorderClass, mx.managers.DepthManager.kBottom, {styleName:this}); } doLater(this, "initLayout"); } function convertToUIObject(obj) { } function childLoaded(obj) { convertToUIObject(obj); } static function extension() { mx.core.ExternalContent.enableExternalContent(); } static var symbolName = "View"; static var symbolOwner = mx.core.View; static var version = "2.0.2.126"; var className = "View"; static var childNameBase = "_child"; var hasBeenLayedOut = false; var _loadExternalClass = "UIComponent"; }Symbol 103 MovieClip [__Packages.mx.skins.Border] Frame 0class mx.skins.Border extends mx.core.UIObject { function Border () { super(); } function init(Void) { super.init(); } static var symbolName = "Border"; static var symbolOwner = mx.skins.Border; var className = "Border"; var tagBorder = 0; var idNames = new Array("border_mc"); }Symbol 121 MovieClip [__Packages.mx.skins.RectBorder] Frame 0class mx.skins.RectBorder extends mx.skins.Border { var __width, __height, offset, __borderMetrics; function RectBorder () { super(); } function get width() { return(__width); } function get height() { return(__height); } function init(Void) { super.init(); } function draw(Void) { size(); } function getBorderMetrics(Void) { var o = offset; if (__borderMetrics == undefined) { __borderMetrics = {left:o, top:o, right:o, bottom:o}; } else { __borderMetrics.left = o; __borderMetrics.top = o; __borderMetrics.right = o; __borderMetrics.bottom = o; } return(__borderMetrics); } function get borderMetrics() { return(getBorderMetrics()); } function drawBorder(Void) { } function size(Void) { drawBorder(); } function setColor(Void) { drawBorder(); } static var symbolName = "RectBorder"; static var symbolOwner = mx.skins.RectBorder; static var version = "2.0.2.126"; var className = "RectBorder"; var borderStyleName = "borderStyle"; var borderColorName = "borderColor"; var shadowColorName = "shadowColor"; var highlightColorName = "highlightColor"; var buttonColorName = "buttonColor"; var backgroundColorName = "backgroundColor"; }Symbol 114 MovieClip [__Packages.mx.managers.DepthManager] Frame 0class mx.managers.DepthManager { var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth; function DepthManager () { MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth; MovieClip.prototype.createChildAtDepth = createChildAtDepth; MovieClip.prototype.setDepthTo = setDepthTo; MovieClip.prototype.setDepthAbove = setDepthAbove; MovieClip.prototype.setDepthBelow = setDepthBelow; MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth; MovieClip.prototype.shuffleDepths = shuffleDepths; MovieClip.prototype.getDepthByFlag = getDepthByFlag; MovieClip.prototype.buildDepthTable = buildDepthTable; _global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1); _global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1); _global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1); _global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1); } static function sortFunction(a, b) { if (a.getDepth() > b.getDepth()) { return(1); } return(-1); } static function test(depth) { if (depth == reservedDepth) { return(false); } return(true); } static function createClassObjectAtDepth(className, depthSpace, initObj) { var o = undefined; switch (depthSpace) { case kCursor : o = holder.createClassChildAtDepth(className, kTopmost, initObj); break; case kTooltip : o = holder.createClassChildAtDepth(className, kTop, initObj); break; } return(o); } static function createObjectAtDepth(linkageName, depthSpace, initObj) { var o = undefined; switch (depthSpace) { case kCursor : o = holder.createChildAtDepth(linkageName, kTopmost, initObj); break; case kTooltip : o = holder.createChildAtDepth(linkageName, kTop, initObj); break; } return(o); } function createClassChildAtDepth(className, depthFlag, initObj) { if (_childCounter == undefined) { _childCounter = 0; } var dt = buildDepthTable(); var depth = getDepthByFlag(depthFlag, dt); var shuffleDir = "down"; if (depthFlag == kBottom) { shuffleDir = "up"; } var desiredDepth = undefined; if (dt[depth] != undefined) { desiredDepth = depth; depth = findNextAvailableDepth(depth, dt, shuffleDir); } var o = createClassObject(className, "depthChild" + (_childCounter++), depth, initObj); if (desiredDepth != undefined) { dt[depth] = o; shuffleDepths(o, desiredDepth, dt, shuffleDir); } if (depthFlag == kTopmost) { o._topmost = true; } return(o); } function createChildAtDepth(linkageName, depthFlag, initObj) { if (_childCounter == undefined) { _childCounter = 0; } var dt = buildDepthTable(); var depth = getDepthByFlag(depthFlag, dt); var shuffleDir = "down"; if (depthFlag == kBottom) { shuffleDir = "up"; } var desiredDepth = undefined; if (dt[depth] != undefined) { desiredDepth = depth; depth = findNextAvailableDepth(depth, dt, shuffleDir); } var o = createObject(linkageName, "depthChild" + (_childCounter++), depth, initObj); if (desiredDepth != undefined) { dt[depth] = o; shuffleDepths(o, desiredDepth, dt, shuffleDir); } if (depthFlag == kTopmost) { o._topmost = true; } return(o); } function setDepthTo(depthFlag) { var dt = _parent.buildDepthTable(); var depth = _parent.getDepthByFlag(depthFlag, dt); if (dt[depth] != undefined) { shuffleDepths(MovieClip(this), depth, dt, undefined); } else { swapDepths(depth); } if (depthFlag == kTopmost) { _topmost = true; } else { delete _topmost; } } function setDepthAbove(targetInstance) { if (targetInstance._parent != _parent) { return(undefined); } var targetDepth = (targetInstance.getDepth() + 1); var dt = _parent.buildDepthTable(); if ((dt[targetDepth] != undefined) && (getDepth() < targetDepth)) { targetDepth = targetDepth - 1; } if (targetDepth > highestDepth) { targetDepth = highestDepth; } if (targetDepth == highestDepth) { _parent.shuffleDepths(this, targetDepth, dt, "down"); } else if (dt[targetDepth] != undefined) { _parent.shuffleDepths(this, targetDepth, dt, undefined); } else { swapDepths(targetDepth); } } function setDepthBelow(targetInstance) { if (targetInstance._parent != _parent) { return(undefined); } var targetDepth = (targetInstance.getDepth() - 1); var dt = _parent.buildDepthTable(); if ((dt[targetDepth] != undefined) && (getDepth() > targetDepth)) { targetDepth = targetDepth + 1; } var lowestDepth = (lowestDepth + numberOfAuthortimeLayers); var i; for (i in dt) { var x = dt[i]; if (x._parent != undefined) { lowestDepth = Math.min(lowestDepth, x.getDepth()); } } if (targetDepth < lowestDepth) { targetDepth = lowestDepth; } if (targetDepth == lowestDepth) { _parent.shuffleDepths(this, targetDepth, dt, "up"); } else if (dt[targetDepth] != undefined) { _parent.shuffleDepths(this, targetDepth, dt, undefined); } else { swapDepths(targetDepth); } } function findNextAvailableDepth(targetDepth, depthTable, direction) { var highestAuthoringDepth = (lowestDepth + numberOfAuthortimeLayers); if (targetDepth < highestAuthoringDepth) { targetDepth = highestAuthoringDepth; } if (depthTable[targetDepth] == undefined) { return(targetDepth); } var nextFreeAbove = targetDepth; var nextFreeBelow = targetDepth; if (direction == "down") { while (depthTable[nextFreeBelow] != undefined) { nextFreeBelow--; } return(nextFreeBelow); } while (depthTable[nextFreeAbove] != undefined) { nextFreeAbove++; } return(nextFreeAbove); } function shuffleDepths(subject, targetDepth, depthTable, direction) { var lowestDepth = (lowestDepth + numberOfAuthortimeLayers); var highestAuthoringDepth = lowestDepth; var i; for (i in depthTable) { var x = depthTable[i]; if (x._parent != undefined) { lowestDepth = Math.min(lowestDepth, x.getDepth()); } } if (direction == undefined) { if (subject.getDepth() > targetDepth) { direction = "up"; } else { direction = "down"; } } var dt = new Array(); for (i in depthTable) { var x = depthTable[i]; if (x._parent != undefined) { dt.push(x); } } dt.sort(sortFunction); if (direction == "up") { var a = undefined; var lastd; do { if (dt.length <= 0) { break; } a = dt.pop(); } while (a != subject); do { if (dt.length <= 0) { break; } lastd = subject.getDepth(); a = dt.pop(); var d = a.getDepth(); if (lastd > (d + 1)) { if (d >= 0) { subject.swapDepths(d + 1); } else if ((lastd > highestAuthoringDepth) && (d < highestAuthoringDepth)) { subject.swapDepths(highestAuthoringDepth); } } subject.swapDepths(a); } while (d != targetDepth); } else if (direction == "down") { var a = undefined; var lastd; do { if (dt.length <= 0) { break; } a = dt.shift(); } while (a != subject); do { if (dt.length <= 0) { break; } lastd = a.getDepth(); a = dt.shift(); var d = a.getDepth(); if ((lastd < (d - 1)) && (d > 0)) { subject.swapDepths(d - 1); } subject.swapDepths(a); } while (d != targetDepth); } } function getDepthByFlag(depthFlag, depthTable) { var depth = 0; if ((depthFlag == kTop) || (depthFlag == kNotopmost)) { var lowestTopmost = 0; var anyTopmost = false; var j; for (j in depthTable) { var i = depthTable[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i.getDepth() <= highestDepth) { if (!i._topmost) { depth = Math.max(depth, i.getDepth()); } else if (!anyTopmost) { lowestTopmost = i.getDepth(); anyTopmost = true; } else { lowestTopmost = Math.min(lowestTopmost, i.getDepth()); } } } } depth = depth + 20; if (anyTopmost) { if (depth >= lowestTopmost) { depth = lowestTopmost - 1; } } } else if (depthFlag == kBottom) { var j; for (j in depthTable) { var i = depthTable[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i.getDepth() <= highestDepth) { depth = Math.min(depth, i.getDepth()); } } } depth = depth - 20; } else if (depthFlag == kTopmost) { var j; for (j in depthTable) { var i = depthTable[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i.getDepth() <= highestDepth) { depth = Math.max(depth, i.getDepth()); } } } depth = depth + 100; } if (depth >= highestDepth) { depth = highestDepth; } var lowestDepth = (lowestDepth + numberOfAuthortimeLayers); var i; for (i in depthTable) { var x = depthTable[i]; if (x._parent != undefined) { lowestDepth = Math.min(lowestDepth, x.getDepth()); } } if (depth <= lowestDepth) { depth = lowestDepth; } return(depth); } function buildDepthTable(Void) { var depthTable = new Array(); var j; for (j in this) { var i = this[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i._parent == this) { depthTable[i.getDepth()] = i; } } } return(depthTable); } static var reservedDepth = 1048575; static var highestDepth = 1048574; static var lowestDepth = -16383; static var numberOfAuthortimeLayers = 383; static var kCursor = 101; static var kTooltip = 102; static var kTop = 201; static var kBottom = 202; static var kTopmost = 203; static var kNotopmost = 204; static var holder = _root.createEmptyMovieClip("reserved", reservedDepth); static var __depthManager = new mx.managers.DepthManager(); }Symbol 162 MovieClip [__Packages.mx.core.ExternalContent] Frame 0class mx.core.ExternalContent { var createObject, numChildren, prepList, doLater, loadList, dispatchEvent, loadedList, childLoaded; function ExternalContent () { } function loadExternal(url, placeholderClassName, instanceName, depth, initProps) { var newObj; newObj = createObject(placeholderClassName, instanceName, depth, initProps); this[mx.core.View.childNameBase + numChildren] = newObj; if (prepList == undefined) { prepList = new Object(); } prepList[instanceName] = {obj:newObj, url:url, complete:false, initProps:initProps}; prepareToLoadMovie(newObj); return(newObj); } function prepareToLoadMovie(obj) { obj.unloadMovie(); doLater(this, "waitForUnload"); } function waitForUnload() { var i; for (i in prepList) { var x = prepList[i]; if (x.obj.getBytesTotal() == 0) { if (loadList == undefined) { loadList = new Object(); } loadList[i] = x; x.obj.loadMovie(x.url); delete prepList[i]; doLater(this, "checkLoadProgress"); } else { doLater(this, "waitForUnload"); } } } function checkLoadProgress() { var contentLoading = false; var i; for (i in loadList) { var x = loadList[i]; x.loaded = x.obj.getBytesLoaded(); x.total = x.obj.getBytesTotal(); if (x.total > 0) { x.obj._visible = false; dispatchEvent({type:"progress", target:x.obj, current:x.loaded, total:x.total}); if (x.loaded == x.total) { if (loadedList == undefined) { loadedList = new Object(); } loadedList[i] = x; delete loadList[i]; doLater(this, "contentLoaded"); } } else if (x.total == -1) { if (x.failedOnce != undefined) { x.failedOnce++; if (x.failedOnce > 3) { dispatchEvent({type:"complete", target:x.obj, current:x.loaded, total:x.total}); delete loadList[i]; delete x; } } else { x.failedOnce = 0; } } contentLoading = true; } if (contentLoading) { doLater(this, "checkLoadProgress"); } } function contentLoaded() { var i; for (i in loadedList) { var x = loadedList[i]; x.obj._visible = true; x.obj._complete = true; var prop; for (prop in x.initProps) { x.obj[prop] = x.initProps[prop]; } childLoaded(x.obj); dispatchEvent({type:"complete", target:x.obj, current:x.loaded, total:x.total}); delete loadedList[i]; delete x; } } function convertToUIObject(obj) { if (obj.setSize == undefined) { var ui = mx.core.UIObject.prototype; obj.addProperty("width", ui.__get__width, null); obj.addProperty("height", ui.__get__height, null); obj.addProperty("left", ui.__get__left, null); obj.addProperty("x", ui.__get__x, null); obj.addProperty("top", ui.__get__top, null); obj.addProperty("y", ui.__get__y, null); obj.addProperty("right", ui.__get__right, null); obj.addProperty("bottom", ui.__get__bottom, null); obj.addProperty("visible", ui.__get__visible, ui.__set__visible); obj.move = mx.core.UIObject.prototype.move; obj.setSize = mx.core.UIObject.prototype.setSize; obj.size = mx.core.UIObject.prototype.size; mx.events.UIEventDispatcher.initialize(obj); } } static function enableExternalContent() { } static function classConstruct() { var v = mx.core.View.prototype; var p = mx.core.ExternalContent.prototype; v.loadExternal = p.loadExternal; v.prepareToLoadMovie = p.prepareToLoadMovie; v.waitForUnload = p.waitForUnload; v.checkLoadProgress = p.checkLoadProgress; v.contentLoaded = p.contentLoaded; v.convertToUIObject = p.convertToUIObject; return(true); } static var classConstructed = classConstruct(); static var ViewDependency = mx.core.View; }Symbol 109 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0class mx.events.EventDispatcher { function EventDispatcher () { } static function _removeEventListener(queue, event, handler) { if (queue != undefined) { var l = queue.length; var i; i = 0; while (i < l) { var o = queue[i]; if (o == handler) { queue.splice(i, 1); return(undefined); } i++; } } } static function initialize(object) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.EventDispatcher(); } object.addEventListener = _fEventDispatcher.addEventListener; object.removeEventListener = _fEventDispatcher.removeEventListener; object.dispatchEvent = _fEventDispatcher.dispatchEvent; object.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchQueue(queueObj, eventObj) { var queueName = ("__q_" + eventObj.type); var queue = queueObj[queueName]; if (queue != undefined) { var i; for (i in queue) { var o = queue[i]; var oType = typeof(o); if ((oType == "object") || (oType == "movieclip")) { if (o.handleEvent != undefined) { o.handleEvent(eventObj); } if (o[eventObj.type] != undefined) { if (exceptions[eventObj.type] == undefined) { o[eventObj.type](eventObj); } } } else { o.apply(queueObj, [eventObj]); } } } } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(this, eventObj); } function addEventListener(event, handler) { var queueName = ("__q_" + event); if (this[queueName] == undefined) { this[queueName] = new Array(); } _global.ASSetPropFlags(this, queueName, 1); _removeEventListener(this[queueName], event, handler); this[queueName].push(handler); } function removeEventListener(event, handler) { var queueName = ("__q_" + event); _removeEventListener(this[queueName], event, handler); } static var _fEventDispatcher = undefined; static var exceptions = {move:1, draw:1, load:1}; }Symbol 110 MovieClip [__Packages.mx.events.UIEventDispatcher] Frame 0class mx.events.UIEventDispatcher extends mx.events.EventDispatcher { var dispatchQueue, owner, __sentLoadEvent, __origAddEventListener; function UIEventDispatcher () { super(); } static function addKeyEvents(obj) { if (obj.keyHandler == undefined) { var o = ((obj.keyHandler = new Object())); o.owner = obj; o.onKeyDown = _fEventDispatcher.onKeyDown; o.onKeyUp = _fEventDispatcher.onKeyUp; } Key.addListener(obj.keyHandler); } static function removeKeyEvents(obj) { Key.removeListener(obj.keyHandler); } static function addLoadEvents(obj) { if (obj.onLoad == undefined) { obj.onLoad = _fEventDispatcher.onLoad; obj.onUnload = _fEventDispatcher.onUnload; if (obj.getBytesTotal() == obj.getBytesLoaded()) { obj.doLater(obj, "onLoad"); } } } static function removeLoadEvents(obj) { delete obj.onLoad; delete obj.onUnload; } static function initialize(obj) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.UIEventDispatcher(); } obj.addEventListener = _fEventDispatcher.__addEventListener; obj.__origAddEventListener = _fEventDispatcher.addEventListener; obj.removeEventListener = _fEventDispatcher.removeEventListener; obj.dispatchEvent = _fEventDispatcher.dispatchEvent; obj.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(mx.events.EventDispatcher, eventObj); dispatchQueue(this, eventObj); } function onKeyDown(Void) { owner.dispatchEvent({type:"keyDown", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)}); } function onKeyUp(Void) { owner.dispatchEvent({type:"keyUp", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)}); } function onLoad(Void) { if (__sentLoadEvent != true) { dispatchEvent({type:"load"}); } __sentLoadEvent = true; } function onUnload(Void) { dispatchEvent({type:"unload"}); } function __addEventListener(event, handler) { __origAddEventListener(event, handler); var ll = lowLevelEvents; for (var i in ll) { if (mx.events.UIEventDispatcher[i][event] != undefined) { var s = ll[i][0]; mx.events.UIEventDispatcher[s](this); } } } function removeEventListener(event, handler) { var queueName = ("__q_" + event); mx.events.EventDispatcher._removeEventListener(this[queueName], event, handler); if (this[queueName].length == 0) { var ll = lowLevelEvents; for (var i in ll) { if (mx.events.UIEventDispatcher[i][event] != undefined) { var s = ll[i][1]; mx.events.UIEventDispatcher[ll[i][1]](this); } } } } static var keyEvents = {keyDown:1, keyUp:1}; static var loadEvents = {load:1, unload:1}; static var lowLevelEvents = {keyEvents:["addKeyEvents", "removeKeyEvents"], loadEvents:["addLoadEvents", "removeLoadEvents"]}; static var _fEventDispatcher = undefined; }Symbol 163 MovieClip [__Packages.mx.core.ScrollView] Frame 0class mx.core.ScrollView extends mx.core.View { var __width, hScroller, vScroller, __maxHPosition, propsInited, scrollAreaChanged, specialHScrollCase, createObject, viewableColumns, __height, oldRndUp, viewableRows, __viewMetrics, owner, enabled, border_mc, __get__width, __get__height, invLayout, mask_mc, _parent, dispatchEvent; function ScrollView () { super(); } function getHScrollPolicy(Void) { return(__hScrollPolicy); } function setHScrollPolicy(policy) { __hScrollPolicy = policy.toLowerCase(); if (__width == undefined) { return(undefined); } setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding); } function get hScrollPolicy() { return(getHScrollPolicy()); } function set hScrollPolicy(policy) { setHScrollPolicy(policy); //return(hScrollPolicy); } function getVScrollPolicy(Void) { return(__vScrollPolicy); } function setVScrollPolicy(policy) { __vScrollPolicy = policy.toLowerCase(); if (__width == undefined) { return(undefined); } setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding); } function get vScrollPolicy() { return(getVScrollPolicy()); } function set vScrollPolicy(policy) { setVScrollPolicy(policy); //return(vScrollPolicy); } function get hPosition() { return(getHPosition()); } function set hPosition(pos) { setHPosition(pos); //return(hPosition); } function getHPosition(Void) { return(__hPosition); } function setHPosition(pos) { hScroller.__set__scrollPosition(pos); __hPosition = pos; } function get vPosition() { return(getVPosition()); } function set vPosition(pos) { setVPosition(pos); //return(vPosition); } function getVPosition(Void) { return(__vPosition); } function setVPosition(pos) { vScroller.__set__scrollPosition(pos); __vPosition = pos; } function get maxVPosition() { var m = vScroller.maxPos; return(((m == undefined) ? 0 : (m))); } function get maxHPosition() { return(getMaxHPosition()); } function set maxHPosition(pos) { setMaxHPosition(pos); //return(maxHPosition); } function getMaxHPosition(Void) { if (__maxHPosition != undefined) { return(__maxHPosition); } var m = hScroller.maxPos; return(((m == undefined) ? 0 : (m))); } function setMaxHPosition(pos) { __maxHPosition = pos; } function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) { var vM = getViewMetrics(); if (hPadding == undefined) { hPadding = 0; } if (wPadding == undefined) { wPadding = 0; } propsInited = true; delete scrollAreaChanged; heightPadding = hPadding; widthPadding = wPadding; if (colWidth == 0) { colWidth = 1; } if (rwHeight == 0) { rwHeight = 1; } var viewableCols = Math.ceil((((__width - vM.left) - vM.right) - widthPadding) / colWidth); if ((__hScrollPolicy == "on") || ((viewableCols < colCount) && (__hScrollPolicy == "auto"))) { if ((hScroller == undefined) || (specialHScrollCase)) { delete specialHScrollCase; hScroller = mx.controls.scrollClasses.ScrollBar(createObject("HScrollBar", "hSB", 1001)); hScroller.__set__lineScrollSize(20); hScroller.scrollHandler = scrollProxy; hScroller.__set__scrollPosition(__hPosition); scrollAreaChanged = true; } if ((((numberOfCols != colCount) || (columnWidth != colWidth)) || (viewableColumns != viewableCols)) || (scrollAreaChanged)) { hScroller.setScrollProperties(viewableCols, 0, colCount - viewableCols); viewableColumns = viewableCols; numberOfCols = colCount; columnWidth = colWidth; } } else if (((__hScrollPolicy == "auto") || (__hScrollPolicy == "off")) && (hScroller != undefined)) { hScroller.removeMovieClip(); delete hScroller; scrollAreaChanged = true; } if (heightPadding == undefined) { heightPadding = 0; } var viewableRws = Math.ceil((((__height - vM.top) - vM.bottom) - heightPadding) / rwHeight); var rndUp = ((((__height - vM.top) - vM.bottom) % rwHeight) != 0); if ((__vScrollPolicy == "on") || ((viewableRws < (rwCount + rndUp)) && (__vScrollPolicy == "auto"))) { if (vScroller == undefined) { vScroller = mx.controls.scrollClasses.ScrollBar(createObject("VScrollBar", "vSB", 1002)); vScroller.scrollHandler = scrollProxy; vScroller.__set__scrollPosition(__vPosition); scrollAreaChanged = true; rowH = 0; } if ((((rowC != rwCount) || (rowH != rwHeight)) || ((viewableRows + rndUp) != (viewableRws + oldRndUp))) || (scrollAreaChanged)) { vScroller.setScrollProperties(viewableRws, 0, (rwCount - viewableRws) + rndUp); viewableRows = viewableRws; rowC = rwCount; rowH = rwHeight; oldRndUp = rndUp; } } else if (((__vScrollPolicy == "auto") || (__vScrollPolicy == "off")) && (vScroller != undefined)) { vScroller.removeMovieClip(); delete vScroller; scrollAreaChanged = true; } numberOfCols = colCount; columnWidth = colWidth; if (scrollAreaChanged) { doLayout(); var o = __viewMetrics; var ownr = ((owner != undefined) ? (owner) : (this)); ownr.layoutContent(o.left, o.top, ((columnWidth * numberOfCols) - o.left) - o.right, rowC * rowH, (__width - o.left) - o.right, (__height - o.top) - o.bottom); } if (!enabled) { setEnabled(false); } } function getViewMetrics(Void) { var o = __viewMetrics; var m = border_mc.__get__borderMetrics(); o.left = m.left; o.right = m.right; if (vScroller != undefined) { o.right = o.right + vScroller.minWidth; } o.top = m.top; if ((hScroller == undefined) && ((__hScrollPolicy == "on") || (__hScrollPolicy == true))) { hScroller = mx.controls.scrollClasses.ScrollBar(createObject("FHScrollBar", "hSB", 1001)); specialHScrollCase = true; } o.bottom = m.bottom; if (hScroller != undefined) { o.bottom = o.bottom + hScroller.minHeight; } return(o); } function doLayout(Void) { var w = __get__width(); var h = __get__height(); delete invLayout; var o = ((__viewMetrics = getViewMetrics())); var lo = o.left; var ro = o.right; var to = o.top; var bo = o.bottom; var hsb = hScroller; var vsb = vScroller; hsb.setSize((w - lo) - ro, hsb.minHeight + 0); hsb.move(lo, h - bo); vsb.setSize(vsb.minWidth + 0, (h - to) - bo); vsb.move(w - ro, to); var mask = mask_mc; mask._width = (w - lo) - ro; mask._height = (h - to) - bo; mask._x = lo; mask._y = to; } function createChild(id, name, props) { var newObj = super.createChild(id, name, props); return(newObj); } function init(Void) { super.init(); __viewMetrics = new Object(); if (_global.__SVMouseWheelManager == undefined) { var s = ((_global.__SVMouseWheelManager = new Object())); s.onMouseWheel = __onMouseWheel; Mouse.addListener(s); } } function __onMouseWheel(delta, scrollTarget) { var i = scrollTarget; var sT; while (i != undefined) { if (i instanceof mx.core.ScrollView) { sT = i; delete i; } i = i._parent; } if (sT != undefined) { var i = ((delta <= 0) ? 1 : -1); var l = sT.vScroller.lineScrollSize; if (l == undefined) { l = 0; } l = Math.max(Math.abs(delta), l); var nPos = (sT.vPosition + (l * i)); sT.vPosition = Math.max(0, Math.min(nPos, sT.maxVPosition)); sT.dispatchEvent({type:"scroll", direction:"vertical", position:sT.vPosition}); } } function createChildren(Void) { super.createChildren(); if (mask_mc == undefined) { mask_mc = createObject("BoundingBox", "mask_mc", MASK_DEPTH); } mask_mc._visible = false; } function invalidate(Void) { super.invalidate(); } function draw(Void) { size(); } function size(Void) { super.size(); } function scrollProxy(docObj) { _parent.onScroll(docObj); } function onScroll(docObj) { var scroller = docObj.target; var pos = scroller.scrollPosition; if (scroller == vScroller) { var d = "vertical"; var prop = "__vPosition"; } else { var d = "horizontal"; var prop = "__hPosition"; } this[prop] = pos; dispatchEvent({type:"scroll", direction:d, position:pos}); } function setEnabled(v) { vScroller.enabled = (hScroller.enabled = v); } function childLoaded(obj) { super.childLoaded(obj); obj.setMask(mask_mc); } static var symbolName = "ScrollView"; static var symbolOwner = mx.core.ScrollView; static var version = "2.0.2.126"; var className = "ScrollView"; var __vScrollPolicy = "auto"; var __hScrollPolicy = "off"; var __vPosition = 0; var __hPosition = 0; var numberOfCols = 0; var rowC = 0; var columnWidth = 1; var rowH = 0; var heightPadding = 0; var widthPadding = 0; var MASK_DEPTH = 10000; }Symbol 7 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar] Frame 0class mx.controls.scrollClasses.ScrollBar extends mx.core.UIComponent { var isScrolling, scrollTrack_mc, scrollThumb_mc, __height, tabEnabled, focusEnabled, boundingBox_mc, setSkin, upArrow_mc, _minHeight, _minWidth, downArrow_mc, createObject, createClassObject, enabled, _height, dispatchEvent, minMode, maxMode, plusMode, minusMode, _parent, getStyle, scrolling, _ymouse; function ScrollBar () { super(); } function get scrollPosition() { return(_scrollPosition); } function set scrollPosition(pos) { _scrollPosition = pos; if (isScrolling != true) { pos = Math.min(pos, maxPos); pos = Math.max(pos, minPos); var y = ((((pos - minPos) * (scrollTrack_mc.height - scrollThumb_mc._height)) / (maxPos - minPos)) + scrollTrack_mc.top); scrollThumb_mc.move(0, y); } //return(scrollPosition); } function get pageScrollSize() { return(largeScroll); } function set pageScrollSize(lScroll) { largeScroll = lScroll; //return(pageScrollSize); } function set lineScrollSize(sScroll) { smallScroll = sScroll; //return(lineScrollSize); } function get lineScrollSize() { return(smallScroll); } function get virtualHeight() { return(__height); } function init(Void) { super.init(); _scrollPosition = 0; tabEnabled = false; focusEnabled = false; boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function createChildren(Void) { if (scrollTrack_mc == undefined) { setSkin(skinIDTrack, scrollTrackName); } scrollTrack_mc.visible = false; var o = new Object(); o.enabled = false; o.preset = mx.controls.SimpleButton.falseDisabled; o.initProperties = 0; o.autoRepeat = true; o.tabEnabled = false; var b; if (upArrow_mc == undefined) { b = createButton(upArrowName, "upArrow_mc", skinIDUpArrow, o); } b.buttonDownHandler = onUpArrow; b.clickHandler = onScrollChanged; _minHeight = b.height; _minWidth = b.width; if (downArrow_mc == undefined) { b = createButton(downArrowName, "downArrow_mc", skinIDDownArrow, o); } b.buttonDownHandler = onDownArrow; b.clickHandler = onScrollChanged; _minHeight = _minHeight + b.height; } function createButton(linkageName, id, skinID, o) { if (skinID == skinIDUpArrow) { o.falseUpSkin = upArrowUpName; o.falseDownSkin = upArrowDownName; o.falseOverSkin = upArrowOverName; } else { o.falseUpSkin = downArrowUpName; o.falseDownSkin = downArrowDownName; o.falseOverSkin = downArrowOverName; } var b = createObject(linkageName, id, skinID, o); this[id].visible = false; this[id].useHandCursor = false; return(b); } function createThumb(Void) { var o = new Object(); o.validateNow = true; o.tabEnabled = false; o.leftSkin = thumbTopName; o.middleSkin = thumbMiddleName; o.rightSkin = thumbBottomName; o.gripSkin = thumbGripName; createClassObject(mx.controls.scrollClasses.ScrollThumb, "scrollThumb_mc", skinIDThumb, o); } function setScrollProperties(pSize, mnPos, mxPos, ls) { var thumbHeight; var o = scrollTrack_mc; pageSize = pSize; largeScroll = (((ls != undefined) && (ls > 0)) ? (ls) : (pSize)); minPos = Math.max(mnPos, 0); maxPos = Math.max(mxPos, 0); _scrollPosition = Math.max(minPos, _scrollPosition); _scrollPosition = Math.min(maxPos, _scrollPosition); if (((maxPos - minPos) > 0) && (enabled)) { var tmp = _scrollPosition; if (!initializing) { upArrow_mc.enabled = true; downArrow_mc.enabled = true; } o.onPress = (o.onDragOver = startTrackScroller); o.onRelease = releaseScrolling; o.onDragOut = (o.stopScrolling = stopScrolling); o.onReleaseOutside = releaseScrolling; o.useHandCursor = false; if (scrollThumb_mc == undefined) { createThumb(); } var st = scrollThumb_mc; if (scrollTrackOverName.length > 0) { o.onRollOver = trackOver; o.onRollOut = trackOut; } thumbHeight = (pageSize / ((maxPos - minPos) + pageSize)) * o.height; if (thumbHeight < st.minHeight) { if (o.height < st.minHeight) { st.__set__visible(false); } else { thumbHeight = st.minHeight; st.__set__visible(true); st.setSize(_minWidth, st.minHeight + 0); } } else { st.__set__visible(true); st.setSize(_minWidth, thumbHeight); } st.setRange(upArrow_mc.__get__height() + 0, (virtualHeight - downArrow_mc.__get__height()) - st.__get__height(), minPos, maxPos); tmp = Math.min(tmp, maxPos); scrollPosition = (Math.max(tmp, minPos)); } else { scrollThumb_mc.__set__visible(false); if (!initializing) { upArrow_mc.enabled = false; downArrow_mc.enabled = false; } delete o.onPress; delete o.onDragOver; delete o.onRelease; delete o.onDragOut; delete o.onRollOver; delete o.onRollOut; delete o.onReleaseOutside; } if (initializing) { scrollThumb_mc.__set__visible(false); } } function setEnabled(enabledFlag) { super.setEnabled(enabledFlag); setScrollProperties(pageSize, minPos, maxPos, largeScroll); } function draw(Void) { if (initializing) { initializing = false; scrollTrack_mc.visible = true; upArrow_mc.__set__visible(true); downArrow_mc.__set__visible(true); } size(); } function size(Void) { if (_height == 1) { return(undefined); } if (upArrow_mc == undefined) { return(undefined); } var y1 = upArrow_mc.__get__height(); var y2 = downArrow_mc.__get__height(); upArrow_mc.move(0, 0); var st = scrollTrack_mc; st._y = y1; st._height = (virtualHeight - y1) - y2; downArrow_mc.move(0, virtualHeight - y2); setScrollProperties(pageSize, minPos, maxPos, largeScroll); } function dispatchScrollEvent(detail) { dispatchEvent({type:"scroll", detail:detail}); } function isScrollBarKey(k) { if (k == 36) { if (scrollPosition != 0) { scrollPosition = (0); dispatchScrollEvent(minMode); } return(true); } if (k == 35) { if (scrollPosition < maxPos) { scrollPosition = (maxPos); dispatchScrollEvent(maxMode); } return(true); } return(false); } function scrollIt(inc, mode) { var delt = smallScroll; if (inc != "Line") { delt = ((largeScroll == 0) ? (pageSize) : (largeScroll)); } var newPos = (_scrollPosition + (mode * delt)); if (newPos > maxPos) { newPos = maxPos; } else if (newPos < minPos) { newPos = minPos; } if (scrollPosition != newPos) { scrollPosition = (newPos); var move = ((mode < 0) ? (minusMode) : (plusMode)); dispatchScrollEvent(inc + move); } } function startTrackScroller(Void) { _parent.pressFocus(); if (_parent.scrollTrackDownName.length > 0) { if (_parent.scrollTrackDown_mc == undefined) { _parent.setSkin(skinIDTrackDown, scrollTrackDownName); } else { _parent.scrollTrackDown_mc.visible = true; } } _parent.trackScroller(); _parent.scrolling = setInterval(_parent, "scrollInterval", getStyle("repeatDelay"), "Page", -1); } function scrollInterval(inc, mode) { clearInterval(scrolling); if (inc == "Page") { trackScroller(); } else { scrollIt(inc, mode); } scrolling = setInterval(this, "scrollInterval", getStyle("repeatInterval"), inc, mode); } function trackScroller(Void) { if ((scrollThumb_mc._y + scrollThumb_mc.__get__height()) < _ymouse) { scrollIt("Page", 1); } else if (scrollThumb_mc._y > _ymouse) { scrollIt("Page", -1); } } function dispatchScrollChangedEvent(Void) { dispatchEvent({type:"scrollChanged"}); } function stopScrolling(Void) { clearInterval(_parent.scrolling); _parent.scrollTrackDown_mc.visible = false; } function releaseScrolling(Void) { _parent.releaseFocus(); stopScrolling(); _parent.dispatchScrollChangedEvent(); } function trackOver(Void) { if (_parent.scrollTrackOverName.length > 0) { if (_parent.scrollTrackOver_mc == undefined) { _parent.setSkin(skinIDTrackOver, scrollTrackOverName); } else { _parent.scrollTrackOver_mc.visible = true; } } } function trackOut(Void) { _parent.scrollTrackOver_mc.visible = false; } function onUpArrow(Void) { _parent.scrollIt("Line", -1); } function onDownArrow(Void) { _parent.scrollIt("Line", 1); } function onScrollChanged(Void) { _parent.dispatchScrollChangedEvent(); } static var symbolOwner = mx.core.UIComponent; var className = "ScrollBar"; var minPos = 0; var maxPos = 0; var pageSize = 0; var largeScroll = 0; var smallScroll = 1; var _scrollPosition = 0; var scrollTrackName = "ScrollTrack"; var scrollTrackOverName = ""; var scrollTrackDownName = ""; var upArrowName = "BtnUpArrow"; var upArrowUpName = "ScrollUpArrowUp"; var upArrowOverName = "ScrollUpArrowOver"; var upArrowDownName = "ScrollUpArrowDown"; var downArrowName = "BtnDownArrow"; var downArrowUpName = "ScrollDownArrowUp"; var downArrowOverName = "ScrollDownArrowOver"; var downArrowDownName = "ScrollDownArrowDown"; var thumbTopName = "ScrollThumbTopUp"; var thumbMiddleName = "ScrollThumbMiddleUp"; var thumbBottomName = "ScrollThumbBottomUp"; var thumbGripName = "ScrollThumbGripUp"; static var skinIDTrack = 0; static var skinIDTrackOver = 1; static var skinIDTrackDown = 2; static var skinIDUpArrow = 3; static var skinIDDownArrow = 4; static var skinIDThumb = 5; var idNames = new Array("scrollTrack_mc", "scrollTrackOver_mc", "scrollTrackDown_mc", "upArrow_mc", "downArrow_mc"); var clipParameters = {minPos:1, maxPos:1, pageSize:1, scrollPosition:1, lineScrollSize:1, pageScrollSize:1, visible:1, enabled:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.scrollClasses.ScrollBar.prototype.clipParameters, mx.core.UIComponent.prototype.clipParameters); var initializing = true; }Symbol 104 MovieClip [__Packages.mx.skins.CustomBorder] Frame 0class mx.skins.CustomBorder extends mx.skins.Border { var __width, __height, l_mc, setSkin, minHeight, minWidth, m_mc, r_mc; function CustomBorder () { super(); } function get width() { return(__width); } function get height() { return(__height); } function init(Void) { super.init(); } function createChildren(Void) { } function draw(Void) { if (l_mc == undefined) { var z = setSkin(tagL, leftSkin); if (horizontal) { minHeight = l_mc._height; minWidth = l_mc._width; } else { minHeight = l_mc._height; minWidth = l_mc._width; } } if (m_mc == undefined) { setSkin(tagM, middleSkin); if (horizontal) { minHeight = m_mc._height; minWidth = minWidth + m_mc._width; } else { minHeight = minHeight + m_mc._height; minWidth = m_mc._width; } } if (r_mc == undefined) { setSkin(tagR, rightSkin); if (horizontal) { minHeight = r_mc._height; minWidth = minWidth + r_mc._width; } else { minHeight = minHeight + r_mc._height; minWidth = r_mc._width; } } size(); } function size(Void) { l_mc.move(0, 0); if (horizontal) { r_mc.move(width - r_mc.width, 0); m_mc.move(l_mc.width, 0); m_mc.setSize(r_mc.x - m_mc.x, m_mc.height); } else { r_mc.move(0, height - r_mc.height, 0); m_mc.move(0, l_mc.height); m_mc.setSize(m_mc.width, r_mc.y - m_mc.y); } } static var symbolName = "CustomBorder"; static var symbolOwner = mx.skins.CustomBorder; static var version = "2.0.2.126"; var className = "CustomBorder"; static var tagL = 0; static var tagM = 1; static var tagR = 2; var idNames = new Array("l_mc", "m_mc", "r_mc"); var leftSkin = "F3PieceLeft"; var middleSkin = "F3PieceMiddle"; var rightSkin = "F3PieceRight"; var horizontal = true; }Symbol 105 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb] Frame 0class mx.controls.scrollClasses.ScrollThumb extends mx.skins.CustomBorder { var useHandCursor, ymin, ymax, datamin, datamax, scrollMove, lastY, _ymouse, _y, _parent, onMouseMove, grip_mc, setSkin, gripSkin, __get__width, __get__height; function ScrollThumb () { super(); } function createChildren(Void) { super.createChildren(); useHandCursor = false; } function setRange(_ymin, _ymax, _datamin, _datamax) { ymin = _ymin; ymax = _ymax; datamin = _datamin; datamax = _datamax; } function dragThumb(Void) { scrollMove = _ymouse - lastY; scrollMove = scrollMove + _y; if (scrollMove < ymin) { scrollMove = ymin; } else if (scrollMove > ymax) { scrollMove = ymax; } _parent.isScrolling = true; _y = scrollMove; var pos = (Math.round(((datamax - datamin) * (_y - ymin)) / (ymax - ymin)) + datamin); _parent.scrollPosition = pos; _parent.dispatchScrollEvent("ThumbTrack"); updateAfterEvent(); } function stopDragThumb(Void) { _parent.isScrolling = false; _parent.dispatchScrollEvent("ThumbPosition"); _parent.dispatchScrollChangedEvent(); delete onMouseMove; } function onPress(Void) { _parent.pressFocus(); lastY = _ymouse; onMouseMove = dragThumb; super.onPress(); } function onRelease(Void) { _parent.releaseFocus(); stopDragThumb(); super.onRelease(); } function onReleaseOutside(Void) { _parent.releaseFocus(); stopDragThumb(); super.onReleaseOutside(); } function draw() { super.draw(); if (grip_mc == undefined) { setSkin(3, gripSkin); } } function size() { super.size(); grip_mc.move((__get__width() - grip_mc.width) / 2, (__get__height() - grip_mc.height) / 2); } static var symbolOwner = mx.skins.CustomBorder.symbolOwner; var className = "ScrollThumb"; var btnOffset = 0; var horizontal = false; var idNames = new Array("l_mc", "m_mc", "r_mc", "grip_mc"); }Symbol 106 MovieClip [__Packages.mx.controls.SimpleButton] Frame 0class mx.controls.SimpleButton extends mx.core.UIComponent { static var emphasizedStyleDeclaration; var preset, boundingBox_mc, useHandCursor, skinName, linkLength, iconName, destroyObject, __width, _width, __height, _height, __emphaticStyleName, styleName, enabled, invalidate, pressFocus, dispatchEvent, autoRepeat, interval, getStyle, releaseFocus, createLabel, invalidateStyle; function SimpleButton () { super(); } function init(Void) { super.init(); if (preset == undefined) { boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } useHandCursor = false; } function createChildren(Void) { if (preset != undefined) { var ref = this[idNames[preset]]; this[refNames[preset]] = ref; skinName = ref; if (falseOverSkin.length == 0) { rolloverSkin = fus; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } initializing = false; } else if (__state == true) { setStateVar(true); } else { if (falseOverSkin.length == 0) { rolloverSkin = fus; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } } } function setIcon(tag, linkageName) { return(setSkin(tag + 8, linkageName)); } function changeIcon(tag, linkageName) { linkLength = linkageName.length; var s = (stateNames[tag] + "Icon"); this[s] = linkageName; this[idNames[tag + 8]] = s; setStateVar(getState()); } function changeSkin(tag, linkageName) { var s = (stateNames[tag] + "Skin"); this[s] = linkageName; this[idNames[tag]] = s; setStateVar(getState()); } function viewIcon(varName) { var v = (varName + "Icon"); var ref = this[v]; if (typeof(ref) == "string") { var s = ref; if (__emphasized) { if (this[ref + "Emphasized"].length > 0) { ref = ref + "Emphasized"; } } if (this[ref].length == 0) { return(undefined); } ref = setIcon(tagMap[s], this[ref]); if ((ref == undefined) && (_global.isLivePreview)) { ref = setIcon(0, "ButtonIcon"); } this[v] = ref; } iconName._visible = false; iconName = ref; iconName._visible = true; } function removeIcons() { var t = 0; while (t < 2) { var i = 8; while (i < 16) { destroyObject(idNames[i]); this[stateNames[i - 8] + "Icon"] = ""; i++; } t++; } refresh(); } function setSkin(tag, linkageName, initobj) { var o = super.setSkin(tag, linkageName, ((initobj != undefined) ? (initobj) : ({styleName:this}))); calcSize(tag, o); return(o); } function calcSize(Void) { __width = _width; __height = _height; } function viewSkin(varName, initObj) { var v = (varName + "Skin"); var ref = this[v]; if (typeof(ref) == "string") { var s = ref; if (__emphasized) { if (this[ref + "Emphasized"].length > 0) { ref = ref + "Emphasized"; } } if (this[ref].length == 0) { return(undefined); } ref = setSkin(tagMap[s], this[ref], ((initObj != undefined) ? (initObj) : ({styleName:this}))); this[v] = ref; } skinName._visible = false; skinName = ref; skinName._visible = true; } function showEmphasized(e) { if (e && (!__emphatic)) { if (emphasizedStyleDeclaration != undefined) { __emphaticStyleName = styleName; styleName = emphasizedStyleDeclaration; } __emphatic = true; } else { if (__emphatic) { styleName = __emphaticStyleName; } __emphatic = false; } } function refresh(Void) { var offset = getState(); if (enabled == false) { viewIcon("disabled"); viewSkin("disabled"); } else { viewSkin(phase); viewIcon(phase); } setView(phase == "down"); iconName.enabled = enabled; } function setView(offset) { if (iconName == undefined) { return(undefined); } var n = (offset ? (btnOffset) : 0); iconName._x = ((__width - iconName._width) / 2) + n; iconName._y = ((__height - iconName._height) / 2) + n; } function setStateVar(state) { if (state) { if (trueOverSkin.length == 0) { rolloverSkin = tus; } else { rolloverSkin = trs; } if (trueOverIcon.length == 0) { rolloverIcon = tui; } else { rolloverIcon = tri; } upSkin = tus; downSkin = tds; disabledSkin = dts; upIcon = tui; downIcon = tdi; disabledIcon = dti; } else { if (falseOverSkin.length == 0) { rolloverSkin = fus; } else { rolloverSkin = frs; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } else { rolloverIcon = fri; } upSkin = fus; downSkin = fds; disabledSkin = dfs; upIcon = fui; downIcon = fdi; disabledIcon = dfi; } __state = state; } function setState(state) { if (state != __state) { setStateVar(state); invalidate(); } } function size(Void) { refresh(); } function draw(Void) { if (initializing) { initializing = false; skinName.visible = true; iconName.visible = true; } size(); } function getState(Void) { return(__state); } function setToggle(val) { __toggle = val; if (__toggle == false) { setState(false); } } function getToggle(Void) { return(__toggle); } function set toggle(val) { setToggle(val); //return(toggle); } function get toggle() { return(getToggle()); } function set value(val) { setSelected(val); //return(value); } function get value() { return(getSelected()); } function set selected(val) { setSelected(val); //return(selected); } function get selected() { return(getSelected()); } function setSelected(val) { if (__toggle) { setState(val); } else { setState((initializing ? (val) : (__state))); } } function getSelected() { return(__state); } function setEnabled(val) { if (enabled != val) { super.setEnabled(val); invalidate(); } } function onPress(Void) { pressFocus(); phase = "down"; refresh(); dispatchEvent({type:"buttonDown"}); if (autoRepeat) { interval = setInterval(this, "onPressDelay", getStyle("repeatDelay")); } } function onPressDelay(Void) { dispatchEvent({type:"buttonDown"}); if (autoRepeat) { clearInterval(interval); interval = setInterval(this, "onPressRepeat", getStyle("repeatInterval")); } } function onPressRepeat(Void) { dispatchEvent({type:"buttonDown"}); updateAfterEvent(); } function onRelease(Void) { releaseFocus(); phase = "rollover"; if (interval != undefined) { clearInterval(interval); delete interval; } if (getToggle()) { setState(!getState()); } else { refresh(); } dispatchEvent({type:"click"}); } function onDragOut(Void) { phase = "up"; refresh(); dispatchEvent({type:"buttonDragOut"}); } function onDragOver(Void) { if (phase != "up") { onPress(); return(undefined); } phase = "down"; refresh(); } function onReleaseOutside(Void) { releaseFocus(); phase = "up"; if (interval != undefined) { clearInterval(interval); delete interval; } } function onRollOver(Void) { phase = "rollover"; refresh(); } function onRollOut(Void) { phase = "up"; refresh(); } function getLabel(Void) { return(fui.text); } function setLabel(val) { if (typeof(fui) == "string") { createLabel("fui", 8, val); fui.styleName = this; } else { fui.text = val; } var tf = fui._getTextFormat(); var extent = tf.getTextExtent2(val); fui._width = extent.width + 5; fui._height = extent.height + 5; iconName = fui; setView(__state); } function get emphasized() { return(__emphasized); } function set emphasized(val) { __emphasized = val; var i = 0; while (i < 8) { this[idNames[i]] = stateNames[i] + "Skin"; if (typeof(this[idNames[i + 8]]) == "movieclip") { this[idNames[i + 8]] = stateNames[i] + "Icon"; } i++; } showEmphasized(__emphasized); setStateVar(__state); invalidateStyle(); //return(emphasized); } function keyDown(e) { if (e.code == 32) { onPress(); } } function keyUp(e) { if (e.code == 32) { onRelease(); } } function onKillFocus(newFocus) { super.onKillFocus(); if (phase != "up") { phase = "up"; refresh(); } } static var symbolName = "SimpleButton"; static var symbolOwner = mx.controls.SimpleButton; static var version = "2.0.2.126"; var className = "SimpleButton"; var style3dInset = 4; var btnOffset = 1; var __toggle = false; var __state = false; var __emphasized = false; var __emphatic = false; static var falseUp = 0; static var falseDown = 1; static var falseOver = 2; static var falseDisabled = 3; static var trueUp = 4; static var trueDown = 5; static var trueOver = 6; static var trueDisabled = 7; var falseUpSkin = "SimpleButtonUp"; var falseDownSkin = "SimpleButtonIn"; var falseOverSkin = ""; var falseDisabledSkin = "SimpleButtonUp"; var trueUpSkin = "SimpleButtonIn"; var trueDownSkin = ""; var trueOverSkin = ""; var trueDisabledSkin = "SimpleButtonIn"; var falseUpIcon = ""; var falseDownIcon = ""; var falseOverIcon = ""; var falseDisabledIcon = ""; var trueUpIcon = ""; var trueDownIcon = ""; var trueOverIcon = ""; var trueDisabledIcon = ""; var phase = "up"; var fui = "falseUpIcon"; var fus = "falseUpSkin"; var fdi = "falseDownIcon"; var fds = "falseDownSkin"; var frs = "falseOverSkin"; var fri = "falseOverIcon"; var dfi = "falseDisabledIcon"; var dfs = "falseDisabledSkin"; var tui = "trueUpIcon"; var tus = "trueUpSkin"; var tdi = "trueDownIcon"; var tds = "trueDownSkin"; var trs = "trueOverSkin"; var tri = "trueOverIcon"; var dts = "trueDisabledSkin"; var dti = "trueDisabledIcon"; var rolloverSkin = mx.controls.SimpleButton.prototype.frs; var rolloverIcon = mx.controls.SimpleButton.prototype.fri; var upSkin = mx.controls.SimpleButton.prototype.fus; var downSkin = mx.controls.SimpleButton.prototype.fds; var disabledSkin = mx.controls.SimpleButton.prototype.dfs; var upIcon = mx.controls.SimpleButton.prototype.fui; var downIcon = mx.controls.SimpleButton.prototype.fdi; var disabledIcon = mx.controls.SimpleButton.prototype.dfi; var initializing = true; var idNames = ["fus", "fds", "frs", "dfs", "tus", "tds", "trs", "dts", "fui", "fdi", "fri", "dfi", "tui", "tdi", "tri", "dti"]; var stateNames = ["falseUp", "falseDown", "falseOver", "falseDisabled", "trueUp", "trueDown", "trueOver", "trueDisabled"]; var refNames = ["upSkin", "downSkin", "rolloverSkin", "disabledSkin"]; var tagMap = {falseUpSkin:0, falseDownSkin:1, falseOverSkin:2, falseDisabledSkin:3, trueUpSkin:4, trueDownSkin:5, trueOverSkin:6, trueDisabledSkin:7, falseUpIcon:0, falseDownIcon:1, falseOverIcon:2, falseDisabledIcon:3, trueUpIcon:4, trueDownIcon:5, trueOverIcon:6, trueDisabledIcon:7}; }Symbol 193 MovieClip [__Packages.mx.containers.Window] Frame 0class mx.containers.Window extends mx.core.ScrollView { var destroyChildAt, __contentPath, boundingBox_mc, _parent, modalWindow, swapDepths, regX, _xmouse, regY, _ymouse, onMouseMove, move, back_mc, createClassObject, depth, titleStyleDeclaration, button_mc, validateNow, redraw, invalidate, _title, _child0, border_mc, __get__width, __get__height, size, vScroller, hScroller, closeButton, dispatchEvent; function Window () { super(); } function set contentPath(scrollableContent) { if (!initializing) { if (scrollableContent == undefined) { destroyChildAt(0); } else { if (this[mx.core.View.childNameBase + 0] != undefined) { destroyChildAt(0); } createChild(scrollableContent, "content", {styleName:this}); } } __contentPath = scrollableContent; //return(contentPath); } function get contentPath() { return(__contentPath); } function init(Void) { super.init(); boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function delegateClick(obj) { _parent.dispatchEvent({type:"click"}); } function startDragging(Void) { if (modalWindow == undefined) { var o = _parent.createChildAtDepth("BoundingBox", mx.managers.DepthManager.kTop, {_visible:false}); swapDepths(o); o.removeMovieClip(); } regX = _xmouse; regY = _ymouse; onMouseMove = dragTracking; } function stopDragging(Void) { delete onMouseMove; } function dragTracking() { var newX = (_parent._xmouse - regX); var newY = (_parent._ymouse - regY); var slop = 5; var scr = mx.managers.SystemManager.__get__screen(); if (newX < ((scr.x - regX) + slop)) { newX = (scr.x - regX) + slop; } if (newX > ((scr.width + scr.x) - (regX + slop))) { newX = (scr.width + scr.x) - (regX + slop); } if (newY < ((scr.y - regY) + slop)) { newY = (scr.y - regY) + slop; } if (newY > ((scr.height + scr.y) - (regY + slop))) { newY = (scr.height + scr.y) - (regY + slop); } move(newX, newY); updateAfterEvent(); } function createChildren(Void) { super.createChildren(); if (back_mc == undefined) { createClassObject(mx.core.UIObject, "back_mc", 1); back_mc.createObject(skinTitleBackground, "back_mc", 0); } back_mc.visible = false; depth = 3; var l = new Object(); back_mc.useHandCursor = false; back_mc.onPress = function () { if (this._parent.enabled) { this._parent.startDragging(); } }; back_mc.onDragOut = (back_mc.onRollOut = (back_mc.onReleaseOutside = (back_mc.onRelease = function () { var p = this._parent; p.stopDragging(); }))); back_mc.tabEnabled = false; if (back_mc.title_mc == undefined) { back_mc.createLabel("title_mc", 1, title); var o = back_mc.title_mc; if (titleStyleDeclaration == undefined) { o.fontSize = 10; o.color = 16777215 /* 0xFFFFFF */; o.fontWeight = "bold"; } else { o.styleName = titleStyleDeclaration; } o.invalidateStyle(); } else { back_mc.title_mc.text = title; } var initObj = new Object(); initObj.falseUpSkin = skinCloseUp; initObj.falseOverSkin = skinCloseOver; initObj.falseDownSkin = skinCloseDown; initObj.falseDisabledSkin = skinCloseDisabled; initObj.tabEnabled = false; createClassObject(mx.controls.SimpleButton, "button_mc", 2, initObj); button_mc.clickHandler = delegateClick; button_mc.__set__visible(false); if (validateNow) { redraw(true); } else { invalidate(); } } function get title() { return(_title); } function set title(s) { _title = s; back_mc.title_mc.text = s; if (!initializing) { draw(); } //return(title); } function setEnabled(enable) { super.setEnabled(enable); button_mc.enabled = enable; _child0.enabled = enable; } function getComponentCount(Void) { return(1); } function getComponentRect(container) { if (container == 1) { var m = border_mc.__get__borderMetrics(); var o = new Object(); o.x = m.left; o.y = m.top + back_mc.height; o.width = (__get__width() - o.x) - m.right; o.height = (__get__height() - o.y) - m.bottom; return(o); } return(undefined); } function draw(Void) { if (initializing) { initializing = false; if (__contentPath != undefined) { contentPath = (__contentPath); } _child0.visible = true; border_mc.__set__visible(true); back_mc.visible = true; } size(); } function getViewMetrics(Void) { var o = super.getViewMetrics(); o.top = o.top + back_mc.height; return(o); } function doLayout(Void) { super.doLayout(); var m = border_mc.__get__borderMetrics(); m.right = m.right + ((vScroller.__get__visible() == true) ? (vScroller.__get__width()) : 0); m.bottom = m.bottom + ((hScroller.__get__visible() == true) ? (hScroller.__get__height()) : 0); var x = m.left; var y = m.top; back_mc.move(x, y); back_mc.back_mc.setSize((__get__width() - x) - m.right, back_mc.height); _child0.move(x, y + back_mc.height); if (_child0.size != mx.core.UIObject.prototype.size) { _child0.setSize((__get__width() - x) - m.right, ((__get__height() - y) - back_mc.height) - m.bottom); } button_mc.__set__visible(closeButton == true); button_mc.move(((__get__width() - x) - x) - button_mc.__get__width(), ((back_mc.height - button_mc.__get__height()) / 2) + y); var h = back_mc.title_mc.textHeight; var offset = (((back_mc.height - h) - 4) / 2); back_mc.title_mc.move(offset, offset - 1); back_mc.title_mc.setSize((__get__width() - offset) - offset, h + 4); } function createChild(id, name, props) { loadingChild = true; var newObj = super.createChild(id, name, props); loadingChild = false; return(newObj); } function childLoaded(obj) { super.childLoaded(obj); if (loadingChild) { dispatchEvent({type:"complete", current:obj.getBytesLoaded(), total:obj.getBytesTotal()}); } } static var symbolName = "Window"; static var symbolOwner = mx.containers.Window; static var version = "2.0.2.126"; var className = "Window"; static var skinIDBorder = 0; static var skinIDTitleBackground = 1; static var skinIDForm = 2; var idNames = new Array("border_mc", "back_mc", "content"); var skinTitleBackground = "TitleBackground"; var skinCloseUp = "CloseButtonUp"; var skinCloseOver = "CloseButtonOver"; var skinCloseDown = "CloseButtonDown"; var skinCloseDisabled = "CloseButtonDisabled"; var clipParameters = {title:1, contentPath:1, closeButton:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.containers.Window.prototype.clipParameters, mx.core.ScrollView.prototype.clipParameters); var initializing = true; var loadingChild = false; }Symbol 115 MovieClip [__Packages.mx.managers.SystemManager] Frame 0class mx.managers.SystemManager { static var _xAddEventListener, addEventListener, __addEventListener, _xRemoveEventListener, removeEventListener, __removeEventListener, form, __screen, dispatchEvent; function SystemManager () { } static function init(Void) { if (_initialized == false) { _initialized = true; mx.events.EventDispatcher.initialize(mx.managers.SystemManager); Mouse.addListener(mx.managers.SystemManager); Stage.addListener(mx.managers.SystemManager); _xAddEventListener = addEventListener; addEventListener = __addEventListener; _xRemoveEventListener = removeEventListener; removeEventListener = __removeEventListener; } } static function addFocusManager(f) { form = f; f.focusManager.activate(); } static function removeFocusManager(f) { } static function onMouseDown(Void) { var z = form; z.focusManager._onMouseDown(); } static function onResize(Void) { var w = Stage.width; var h = Stage.height; var m = _global.origWidth; var n = _global.origHeight; var a = Stage.align; var x = ((m - w) / 2); var y = ((n - h) / 2); if (a == "T") { y = 0; } else if (a == "B") { y = n - h; } else if (a == "L") { x = 0; } else if (a == "R") { x = m - w; } else if (a == "LT") { y = 0; x = 0; } else if (a == "TR") { y = 0; x = m - w; } else if (a == "LB") { y = n - h; x = 0; } else if (a == "RB") { y = n - h; x = m - w; } if (__screen == undefined) { __screen = new Object(); } __screen.x = x; __screen.y = y; __screen.width = w; __screen.height = h; _root.focusManager.relocate(); dispatchEvent({type:"resize"}); } static function get screen() { init(); if (__screen == undefined) { onResize(); } return(__screen); } static var _initialized = false; static var idleFrames = 0; static var isMouseDown = false; static var forms = new Array(); }Symbol 194 MovieClip [__Packages.mx.controls.Alert] Frame 0class mx.controls.Alert extends mx.containers.Window { static var style, titleStyleDeclaration, messageStyleDeclaration; var __set__visible, styleName, __set__contentPath, initializing, parent, __get__width, __get__height, move, _child0, __width, width, __height, height, border_mc, back_mc, invalidate; function Alert () { super(); } static function show(text, title, flags, parent, listener, icon, defButton) { var o = new Object(); var modal = ((flags & NONMODAL) ? false : true); if (parent == undefined) { parent = (o.parent = _root); } else { o.parent = parent; } o.okButton = ((flags & OK) ? true : false); o.cancelButton = ((flags & CANCEL) ? true : false); o.yesButton = ((flags & YES) ? true : false); o.noButton = ((flags & NO) ? true : false); o.defButton = defButton; if ((((o.okButton == false) && (o.cancelButton == false)) && (o.yesButton == false)) && (o.noButton == false)) { o.okButton = true; o.defButton = OK; } o.title = title; o.text = text; o.icon = icon; o.style = style; o.skinTitleBackground = titleBackground; o.titleStyleDeclaration = titleStyleDeclaration; o.validateNow = true; var m = mx.managers.PopUpManager.createPopUp(parent, mx.controls.Alert, modal, o); if (m == undefined) { trace("Failed to create a new alert, probably because there is no Alert in the Library"); } m.addEventListener("click", listener); return(m); } function init(Void) { super.init(); __set__visible(false); } function createChildren(Void) { if (messageStyleDeclaration != undefined) { styleName = messageStyleDeclaration; } var tmp = mx.controls.alertClasses.AlertForm; __set__contentPath(tmp); super.createChildren(); } function getViewMetrics(Void) { var o = super.getViewMetrics(); return(o); } function doLayout(Void) { super.doLayout(); } function draw(Void) { var i = initializing; super.draw(); if (i) { var p = new Object(); p.x = parent._x; p.y = parent._y; parent.localToGlobal(p); var w = parent.width; var h = parent.height; if (((parent == _root) && (parent._parent == undefined)) || (w == undefined)) { var s = mx.managers.SystemManager.__get__screen(); w = s.width; h = s.height; p.x = s.x; p.y = s.y; } if (_global.isLivePreview) { return(undefined); } p.x = p.x + ((w - __get__width()) / 2); p.y = p.y + ((h - __get__height()) / 2); parent.globalToLocal(p); move(p.x, p.y); if (_child0.defButtonName != undefined) { _child0[_child0.defButtonName].setFocus(); } else { _child0.buttons[0].setFocus(); } } } function size(Void) { if (_global.isLivePreview) { __width = width; __height = height; } else { var s = _child0.getSize(); if (isNaN(s.width) || (s.width < 20)) { s.width = 96; } if (isNaN(s.height) || (s.height < 20)) { s.height = 66; } var m = border_mc.__get__borderMetrics(); if (!allowSize) { __width = s.width + (2 * m.left); __height = ((s.height + m.top) + m.bottom) + back_mc.height; allowSize = false; } } super.size(); } function setSize(w, h) { __width = w; __height = h; initializing = (allowSize = true); invalidate(); } static var symbolOwner = mx.containers.Window; static var version = "2.0.2.126"; static var buttonWidth = 50; static var buttonHeight = 22; static var okLabel = "OK"; static var yesLabel = "Yes"; static var noLabel = "No"; static var cancelLabel = "Cancel"; static var buttonUp = "ButtonSkin"; static var buttonDown = "ButtonSkin"; static var buttonOver = "ButtonSkin"; static var titleBackground = "TitleBackground"; static var buttonUpEmphasized = "ButtonSkin"; static var buttonOverEmphasized = "ButtonSkin"; static var buttonDownEmphasized = "ButtonSkin"; var className = "Alert"; var allowSize = false; static var NONMODAL = 32768; static var YES = 1; static var NO = 2; static var OK = 4; static var CANCEL = 8; static var P = _root; }Symbol 169 MovieClip [__Packages.mx.managers.PopUpManager] Frame 0class mx.managers.PopUpManager { var popUp, setSize, move, modalWindow, _parent, _name, _visible, owner; function PopUpManager () { } static function createModalWindow(parent, o, broadcastOutsideEvents) { var modalWindow = parent.createChildAtDepth("Modal", mx.managers.DepthManager.kTopmost); modalWindow.setDepthBelow(o); o.modalID = modalWindow._name; modalWindow._alpha = _global.style.modalTransparency; modalWindow.tabEnabled = false; if (broadcastOutsideEvents) { modalWindow.onPress = mixins.onPress; } else { modalWindow.onPress = mixins.nullFunction; } modalWindow.onRelease = mixins.nullFunction; modalWindow.resize = mixins.resize; mx.managers.SystemManager.init(); mx.managers.SystemManager.addEventListener("resize", modalWindow); modalWindow.resize(); modalWindow.useHandCursor = false; modalWindow.popUp = o; o.modalWindow = modalWindow; o.deletePopUp = mixins.deletePopUp; o.setVisible = mixins.setVisible; o.getVisible = mixins.getVisible; o.addProperty("visible", o.getVisible, o.setVisible); } static function createPopUp(parent, className, modal, initobj, broadcastOutsideEvents) { if (mixins == undefined) { mixins = new mx.managers.PopUpManager(); } if (broadcastOutsideEvents == undefined) { broadcastOutsideEvents = false; } var localRoot = parent._root; if (localRoot == undefined) { localRoot = _root; } while (parent != localRoot) { parent = parent._parent; } initobj.popUp = true; var o = parent.createClassChildAtDepth(className, ((broadcastOutsideEvents || (modal)) ? (mx.managers.DepthManager.kTopmost) : (mx.managers.DepthManager.kTop)), initobj); var r = _root; var useFocusManager = (r.focusManager != undefined); while (r._parent != undefined) { r = r._parent._root; if (r.focusManager != undefined) { useFocusManager = true; break; } } if (useFocusManager) { o.createObject("FocusManager", "focusManager", -1); if (o._visible == false) { mx.managers.SystemManager.deactivate(o); } } if (modal) { createModalWindow(parent, o, broadcastOutsideEvents); } else { if (broadcastOutsideEvents) { o.mouseListener = new Object(); o.mouseListener.owner = o; o.mouseListener.onMouseDown = mixins.onMouseDown; Mouse.addListener(o.mouseListener); } o.deletePopUp = mixins.deletePopUp; } return(o); } function onPress(Void) { var root = popUp._root; if (root == undefined) { root = _root; } if (popUp.hitTest(root._xmouse, root._ymouse, false)) { return(undefined); } popUp.dispatchEvent({type:"mouseDownOutside"}); } function nullFunction(Void) { } function resize(Void) { var s = mx.managers.SystemManager.__get__screen(); setSize(s.width, s.height); move(s.x, s.y); } function deletePopUp(Void) { if (modalWindow != undefined) { _parent.destroyObject(modalWindow._name); } _parent.destroyObject(_name); } function setVisible(v, noEvent) { super.setVisible(v, noEvent); modalWindow._visible = v; } function getVisible(Void) { return(_visible); } function onMouseDown(Void) { var root = owner._root; if (root == undefined) { root = _root; } var pt = new Object(); pt.x = root._xmouse; pt.y = root._ymouse; root.localToGlobal(pt); if (owner.hitTest(pt.x, pt.y, false)) { } else { owner.mouseDownOutsideHandler(owner); } } static var version = "2.0.2.126"; static var mixins = undefined; }Symbol 219 MovieClip [__Packages.mx.controls.alertClasses.AlertForm] Frame 0class mx.controls.alertClasses.AlertForm extends mx.core.UIComponent { var _parent, tabChildren, tabEnabled, text_mc, createClassObject, textMeasure_mc, createTextField, icon_mc, setSkin, buttons, doLater, createClassChildAtDepth, extent, __get__height, __get__width, detail; function AlertForm () { super(); } function init(Void) { super.init(); } function setDefaultButton() { _parent.focusManager.defaultPushButton = this[defButtonName]; } function createChildren(Void) { tabChildren = true; tabEnabled = false; if (text_mc == undefined) { createClassObject(mx.controls.TextArea, "text_mc", 0, {styleName:this, borderStyle:"none", readOnly:true}); } text_mc.tabEnabled = false; text_mc.tabChildren = false; text_mc.hScrollPolicy = "off"; text_mc.vScrollPolicy = "off"; text_mc.label.selectable = false; if (textMeasure_mc == undefined) { createTextField("textMeasure_mc", -1, 0, 0, 0, 0); } textMeasure_mc._visible = false; textMeasure_mc.multiline = true; textMeasure_mc.wordWrap = true; textMeasure_mc.autoSize = "left"; if ((icon_mc == undefined) && (_parent.icon != undefined)) { setSkin(1, _parent.icon); } buttons = new Array(); var defButton = _parent.defButton; if (_parent.okButton) { createButton("okButton", mx.controls.Alert.okLabel, mx.controls.Alert.OK); if (defButton == mx.controls.Alert.OK) { defButtonName = "okButton"; } } if (_parent.yesButton) { createButton("yesButton", mx.controls.Alert.yesLabel, mx.controls.Alert.YES); if (defButton == mx.controls.Alert.YES) { defButtonName = "yesButton"; } } if (_parent.noButton) { createButton("noButton", mx.controls.Alert.noLabel, mx.controls.Alert.NO); if (defButton == mx.controls.Alert.NO) { defButtonName = "noButton"; } } if (_parent.cancelButton) { createButton("cancelButton", mx.controls.Alert.cancelLabel, mx.controls.Alert.CANCEL); if (defButton == mx.controls.Alert.CANCEL) { defButtonName = "cancelButton"; } } if (defButtonName != undefined) { this[defButtonName].emphasized = true; this[defButtonName].redraw(true); doLater(this, "setDefaultButton"); } } function createButton(name, title, detail) { var ss = mx.controls.Alert.buttonStyleDeclaration; var o = mx.controls.Button(createClassChildAtDepth(mx.controls.Button, mx.managers.DepthManager.kTop, {falseUpSkin:mx.controls.Alert.buttonUp, falseDownSkin:mx.controls.Alert.buttonDown, falseOverSkin:mx.controls.Alert.buttonOver, falseOverSkinEmphasized:mx.controls.Alert.buttonOverEmphasized, falseUpSkinEmphasized:mx.controls.Alert.buttonUpEmphasized, falseDownSkinEmphasized:mx.controls.Alert.buttonDownEmphasized, styleName:((ss == undefined) ? (this) : (mx.controls.Alert.buttonStyleDeclaration)), validateNow:true})); o.setLabel(title); o.setSize(mx.controls.Alert.buttonWidth, mx.controls.Alert.buttonHeight); buttons.push(o); o.clickHandler = onClick; o.detail = detail; this[name] = o; } function getSize(Void) { var s = new Object(); s.height = buttons[0].height + 24; var tf2 = _parent.back_mc.title_mc._getTextFormat(); extent = tf2.getTextExtent2(_parent.title); s.width = Math.max(Math.max(2, buttons.length) * (buttons[0].width + 8), (extent.width + 4) + 8); var tf = text_mc._getTextFormat(); extent = tf.getTextExtent2(_parent.text); textMeasure_mc._width = 2 * s.width; textMeasure_mc.setNewTextFormat(text_mc._getTextFormat()); textMeasure_mc.text = _parent.text; s.height = s.height + (textMeasure_mc.textHeight + 8); var numlines = Math.ceil(textMeasure_mc.textHeight / extent.height); if (numlines > 1) { extent.width = 2 * s.width; text_mc.__set__wordWrap(true); } var width = Math.min((extent.width + 4) + 8, 2 * s.width); var bWidth = s.width; s.width = Math.max(width, s.width) + 8; if (icon_mc != undefined) { extent.width = extent.width + (icon_mc.width + 8); width = Math.min((extent.width + 4) + 8, 2 * bWidth); s.width = Math.max(width, s.width) + 8; var i = (icon_mc.height - (numlines * (extent.height + 4))); if (i > 0) { s.height = s.height + i; } } return(s); } function draw(Void) { size(); _parent.visible = true; } function size(Void) { var y = ((__get__height() - buttons[0].height) - 8); var x = ((buttons.length * (buttons[0].width + 8)) - 8); x = (__get__width() - x) / 2; var i = 0; while (i < buttons.length) { buttons[i].move(x, y); buttons[i].tabIndex = i + 1; x = x + (buttons[i].width + 8); i++; } y = y - 8; x = Math.max(((__get__width() - extent.width) - 4) / 2, 8); if (icon_mc != undefined) { icon_mc.move(x, ((__get__height() - buttons[0].height) - icon_mc.height) / 2); x = x + (icon_mc.width + 8); } text_mc.move(x, 8); text_mc.setSize((__get__width() - x) - 8, y - 8); if (_parent.text == undefined) { text_mc.__set__text(""); } else { text_mc.__set__text(_parent.text); } } function onClick(evt) { var mb = mx.controls.Alert(_parent._parent); mb.__set__visible(false); mb.dispatchEvent({type:"click", detail:detail}); mb.deletePopUp(); } static var symbolOwner = mx.core.UIComponent; var idNames = ["text_mc", "icon_mc"]; var defButtonName = undefined; }Symbol 218 MovieClip [__Packages.mx.controls.TextArea] Frame 0class mx.controls.TextArea extends mx.core.ScrollView { var label, invalidate, initText, dispatchValueChangedEvent, getHPosition, setHPosition, getVPosition, setVPosition, _color, focusTextField, tfx, tfy, tfw, tfh, doLater, _vpos, _hpos, hookedV, vScroller, hookedH, hScroller, getViewMetrics, __get__width, __get__height, hScrollPolicy, vScrollPolicy, getStyle, getFocusManager, addEventListener, removeEventListener, _getTextFormat; function TextArea () { super(); } function get maxChars() { return(label.maxChars); } function set maxChars(x) { label.maxChars = x; //return(maxChars); } function get length() { return(label.length); } function get restrict() { return(label.restrict); } function set restrict(s) { label.restrict = ((s == "") ? null : (s)); //return(restrict); } function get wordWrap() { return(label.wordWrap); } function set wordWrap(s) { label.wordWrap = s; invalidate(); //return(wordWrap); } function get editable() { return(__editable); } function set editable(x) { __editable = x; label.type = (x ? "input" : "dynamic"); //return(editable); } function get password() { return(label.password); } function set password(s) { label.password = s; //return(password); } function get html() { return(getHtml()); } function set html(value) { setHtml(value); //return(html); } function getHtml() { return(label.html); } function setHtml(value) { if (value != label.html) { label.html = value; } } function get text() { return(getText()); } function set text(t) { setText(t); //return(text); } function getText() { if (initializing) { return(initText); } var l = label; if (l.html == true) { return(l.htmlText); } return(l.text); } function setText(t) { if (initializing) { initText = t; } else { var l = label; if (l.html == true) { l.htmlText = t; } else { l.text = t; } invalidate(); } dispatchValueChangedEvent(t); } function get hPosition() { return(getHPosition()); } function set hPosition(pos) { setHPosition(pos); label.hscroll = pos; label.background = false; //return(hPosition); } function get vPosition() { return(getVPosition()); } function set vPosition(pos) { setVPosition(pos); label.scroll = pos + 1; label.background = false; //return(vPosition); } function get maxVPosition() { var m = (label.maxscroll - 1); return(((m == undefined) ? 0 : (m))); } function get maxHPosition() { var m = label.maxhscroll; return(((m == undefined) ? 0 : (m))); } function init(Void) { super.init(); label.styleName = this; _color = mx.core.UIObject.textColorList; focusTextField = label; label.owner = this; label.onSetFocus = function (x) { this._parent.onSetFocus(x); }; label.onKillFocus = function (x) { this._parent.onKillFocus(x); }; label.drawFocus = function (b) { this._parent.drawFocus(b); }; label.onChanged = function () { this.owner.adjustScrollBars(); this.owner.dispatchEvent({type:"change"}); this.owner.dispatchValueChangedEvent(this.owner.text); }; label.onScroller = function () { this.owner.hPosition = this.hscroll; this.owner.vPosition = this.scroll - 1; }; if (text == undefined) { text = (""); } } function createChildren(Void) { super.createChildren(); label.autoSize = "none"; } function layoutContent(x, y, totalW, totalH, displayW, displayH) { var l = label; if ((((tfx != x) || (tfy != y)) || (tfw != displayW)) || (tfh != displayH)) { tfx = x; tfy = y; tfw = displayW; tfh = displayH; l.move(tfx, tfy); l.setSize(tfw, tfh); doLater(this, "adjustScrollBars"); } } function scrollChanged(Void) { var currentSelection = Selection; if (currentSelection.lastBeginIndex != undefined) { restoreSelection(); } label.background = false; } function onScroll(docObj) { var l = label; super.onScroll(docObj); l.hscroll = hPosition + 0; l.scroll = vPosition + 1; _vpos = l.scroll; _hpos = l.hscroll; l.background = false; if (hookedV != true) { vScroller.addEventListener("scrollChanged", this); hookedV = true; } if (hookedH != true) { hScroller.addEventListener("scrollChanged", this); hookedH = true; } } function size(Void) { var o = getViewMetrics(); var bW = (o.left + o.right); var bH = (o.top + o.bottom); var bX = o.left; var bY = o.top; tfx = bX; tfy = bY; tfw = __get__width() - bW; tfh = __get__height() - bH; super.size(); label.move(tfx, tfy); label.setSize(tfw, tfh); if (__get__height() <= 40) { hScrollPolicy = "off"; vScrollPolicy = "off"; } doLater(this, "adjustScrollBars"); } function setEnabled(enable) { vScroller.enabled = enable; hScroller.enabled = enable; label.type = (((editable == false) || (enable == false)) ? "dynamic" : "input"); label.selectable = enable; var tmpColor = getStyle((enable ? "color" : "disabledColor")); if (tmpColor == undefined) { tmpColor = (enable ? 0 : 8947848); } setColor(tmpColor); } function setColor(col) { label.textColor = col; } function setFocus(Void) { Selection.setFocus(label); } function onSetFocus(x) { var f = Selection.getFocus(); var o = eval (f); if (o != label) { Selection.setFocus(label); return(undefined); } getFocusManager().defaultPushButtonEnabled = false; addEventListener("keyDown", this); super.onSetFocus(x); } function onKillFocus(x) { getFocusManager().defaultPushButtonEnabled = true; removeEventListener("keyDown", this); super.onKillFocus(x); } function restoreSelection(x) { var currentSelection = Selection; Selection.setSelection(currentSelection.lastBeginIndex, currentSelection.lastEndIndex); label.scroll = _vpos; label.hscroll = _hpos; } function getLineOffsets(Void) { var tf = _getTextFormat(); var tw = tf.getTextExtent2(label.text); var x = _root._getTextExtent; x.setNewTextFormat(TextFormat(tf)); var ww = label.wordWrap; var offset = 0; var w = ((label._width - 2) - 2); var r = new Array(); var z = new String(label.text); var y = z.split("\r"); var m = 0; while (m < y.length) { r.push(offset); var s = y[m]; x.text = s; var l = Math.ceil(x.textWidth / w); var a = Math.floor(s.length / l); var n; while (ww && (x.textWidth > w)) { n = s.indexOf(" ", a); var k; if (n == -1) { n = s.lastIndexOf(" "); if (n == -1) { n = a; } } k = s.substr(0, n); x.text = k; if (x.textWidth > w) { while (x.textWidth > w) { var lastN = n; n = s.lastIndexOf(" ", n - 1); if (n == -1) { n = lastN - 1; } k = s.substr(0, n); x.text = k; } } else if (x.textWidth < w) { var lastN = n; while (x.textWidth < w) { lastN = n; n = s.indexOf(" ", n + 1); if (n == -1) { if (s.indexOf(" ", 0) != -1) { break; } n = lastN + 1; } k = s.substr(0, n); x.text = k; } n = lastN; } offset = offset + n; r.push(offset + 1); s = s.substr(n); if (s.charAt(0) == " ") { s = s.substr(1, s.length - 1); offset = offset + 1; } x.text = s; } offset = offset + (s.length + 1); m++; } return(r); } function keyDown(e) { var k = e.code; if (k == 34) { var rows = ((label.bottomScroll - label.scroll) + 1); var r = getLineOffsets(); var g = Math.min(label.bottomScroll + 1, label.maxscroll); if (g == label.maxscroll) { var l = label.length; Selection.setSelection(l, l); } else { label.scroll = g; Selection.setSelection(r[g - 1], r[g - 1]); } } else if (k == 33) { var rows = ((label.bottomScroll - label.scroll) + 1); var r = getLineOffsets(); var g = (label.scroll - 1); if (g < 1) { Selection.setSelection(0, 0); } else { Selection.setSelection(r[g - 1], r[g - 1]); label.scroll = Math.max(g - rows, 1); } } } function draw(Void) { var l = label; var t = getText(); if (initializing) { initializing = false; delete initText; } var tf = _getTextFormat(); l.embedFonts = tf.embedFonts == true; if (tf != undefined) { l.setTextFormat(tf); l.setNewTextFormat(tf); } l.multiline = true; l.wordWrap = wordWrap == true; if (l.html == true) { l.setTextFormat(tf); l.htmlText = t; } else { l.text = t; } l.type = ((editable == true) ? "input" : "dynamic"); size(); l.background = false; } function adjustScrollBars() { var l = label; var visibleRows = ((l.bottomScroll - l.scroll) + 1); var rows = ((visibleRows + l.maxscroll) - 1); if (rows < 1) { rows = 1; } var hWidth = 0; if ((l.textWidth + 5) > l._width) { if (!l.wordWrap) { hWidth = l._width + l.maxhscroll; } } else { l.hscroll = 0; l.background = false; } if ((l.height / visibleRows) != Math.round(l.height / visibleRows)) { rows--; } setScrollProperties(hWidth, 1, rows, l.height / visibleRows); } function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) { super.setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding); if (vScroller == undefined) { hookedV = false; } if (hScroller == undefined) { hookedH = false; } } function get tabIndex() { return(label.tabIndex); } function set tabIndex(w) { label.tabIndex = w; //return(tabIndex); } function set _accProps(val) { label._accProps = val; //return(_accProps); } function get _accProps() { return(label._accProps); } function get styleSheet() { return(label.styleSheet); } function set styleSheet(v) { label.styleSheet = v; //return(styleSheet); } static var symbolName = "TextArea"; static var symbolOwner = mx.controls.TextArea; static var version = "2.0.2.126"; var className = "TextArea"; var initializing = true; var clipParameters = {text:1, wordWrap:1, editable:1, maxChars:1, restrict:1, html:1, password:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.TextArea.prototype.clipParameters, mx.core.ScrollView.prototype.clipParameters); var __vScrollPolicy = "auto"; var __hScrollPolicy = "auto"; var __editable = true; }Symbol 108 MovieClip [__Packages.mx.controls.Button] Frame 0class mx.controls.Button extends mx.controls.SimpleButton { var initializing, labelPath, initIcon, getState, enabled, phase, idNames, __width, __height, setState, invalidate, iconName, refresh, createLabel, _iconLinkageName, removeIcons, hitArea_mc, createEmptyObject; function Button () { super(); } function init(Void) { super.init(); } function draw() { if (initializing) { labelPath.visible = true; } super.draw(); if (initIcon != undefined) { _setIcon(initIcon); } delete initIcon; } function onRelease(Void) { super.onRelease(); } function createChildren(Void) { super.createChildren(); } function setSkin(tag, linkageName, initobj) { return(super.setSkin(tag, linkageName, initobj)); } function viewSkin(varName) { var skinStyle = (getState() ? "true" : "false"); skinStyle = skinStyle + (enabled ? (phase) : "disabled"); super.viewSkin(varName, {styleName:this, borderStyle:skinStyle}); } function invalidateStyle(c) { labelPath.invalidateStyle(c); super.invalidateStyle(c); } function setColor(c) { var i = 0; while (i < 8) { this[idNames[i]].redraw(true); i++; } } function setEnabled(enable) { labelPath.enabled = enable; super.setEnabled(enable); } function calcSize(tag, ref) { if ((__width == undefined) || (__height == undefined)) { return(undefined); } if (tag < 7) { ref.setSize(__width, __height, true); } } function size(Void) { setState(getState()); setHitArea(__width, __height); var i = 0; while (i < 8) { var ref = idNames[i]; if (typeof(this[ref]) == "movieclip") { this[ref].setSize(__width, __height, true); } i++; } super.size(); } function set labelPlacement(val) { __labelPlacement = val; invalidate(); //return(labelPlacement); } function get labelPlacement() { return(__labelPlacement); } function getLabelPlacement(Void) { return(__labelPlacement); } function setLabelPlacement(val) { __labelPlacement = val; invalidate(); } function getBtnOffset(Void) { if (getState()) { var n = btnOffset; } else if (phase == "down") { var n = btnOffset; } else { var n = 0; } return(n); } function setView(offset) { var n = (offset ? (btnOffset) : 0); var val = getLabelPlacement(); var iconW = 0; var iconH = 0; var labelW = 0; var labelH = 0; var labelX = 0; var labelY = 0; var lp = labelPath; var ic = iconName; var textW = lp.textWidth; var textH = lp.textHeight; var viewW = ((__width - borderW) - borderW); var viewH = ((__height - borderW) - borderW); if (ic != undefined) { iconW = ic._width; iconH = ic._height; } if ((val == "left") || (val == "right")) { if (lp != undefined) { lp._width = (labelW = Math.min(viewW - iconW, textW + 5)); lp._height = (labelH = Math.min(viewH, textH + 5)); } if (val == "right") { labelX = iconW; if (centerContent) { labelX = labelX + (((viewW - labelW) - iconW) / 2); } ic._x = labelX - iconW; } else { labelX = (viewW - labelW) - iconW; if (centerContent) { labelX = labelX / 2; } ic._x = labelX + labelW; } ic._y = (labelY = 0); if (centerContent) { ic._y = (viewH - iconH) / 2; labelY = (viewH - labelH) / 2; } if (!centerContent) { ic._y = ic._y + Math.max(0, (labelH - iconH) / 2); } } else { if (lp != undefined) { lp._width = (labelW = Math.min(viewW, textW + 5)); lp._height = (labelH = Math.min(viewH - iconH, textH + 5)); } labelX = (viewW - labelW) / 2; ic._x = (viewW - iconW) / 2; if (val == "top") { labelY = (viewH - labelH) - iconH; if (centerContent) { labelY = labelY / 2; } ic._y = labelY + labelH; } else { labelY = iconH; if (centerContent) { labelY = labelY + (((viewH - labelH) - iconH) / 2); } ic._y = labelY - iconH; } } var buff = (borderW + n); lp._x = labelX + buff; lp._y = labelY + buff; ic._x = ic._x + buff; ic._y = ic._y + buff; } function set label(lbl) { setLabel(lbl); //return(label); } function setLabel(label) { if (label == "") { labelPath.removeTextField(); refresh(); return(undefined); } if (labelPath == undefined) { var lp = createLabel("labelPath", 200, label); lp._width = lp.textWidth + 5; lp._height = lp.textHeight + 5; if (initializing) { lp.visible = false; } } else { delete labelPath.__text; labelPath.text = label; refresh(); } } function getLabel(Void) { return(((labelPath.__text != undefined) ? (labelPath.__text) : (labelPath.text))); } function get label() { return(getLabel()); } function _getIcon(Void) { return(_iconLinkageName); } function get icon() { if (initializing) { return(initIcon); } return(_iconLinkageName); } function _setIcon(linkage) { if (initializing) { if (linkage == "") { return(undefined); } initIcon = linkage; } else { if (linkage == "") { removeIcons(); return(undefined); } super.changeIcon(0, linkage); super.changeIcon(1, linkage); super.changeIcon(3, linkage); super.changeIcon(4, linkage); super.changeIcon(5, linkage); _iconLinkageName = linkage; refresh(); } } function set icon(linkage) { _setIcon(linkage); //return(icon); } function setHitArea(w, h) { if (hitArea_mc == undefined) { createEmptyObject("hitArea_mc", 100); } var ha = hitArea_mc; ha.clear(); ha.beginFill(16711680); ha.drawRect(0, 0, w, h); ha.endFill(); ha.setVisible(false); } static var symbolName = "Button"; static var symbolOwner = mx.controls.Button; var className = "Button"; static var version = "2.0.2.126"; var btnOffset = 0; var _color = "buttonColor"; var __label = "default value"; var __labelPlacement = "right"; var falseUpSkin = "ButtonSkin"; var falseDownSkin = "ButtonSkin"; var falseOverSkin = "ButtonSkin"; var falseDisabledSkin = "ButtonSkin"; var trueUpSkin = "ButtonSkin"; var trueDownSkin = "ButtonSkin"; var trueOverSkin = "ButtonSkin"; var trueDisabledSkin = "ButtonSkin"; var falseUpIcon = ""; var falseDownIcon = ""; var falseOverIcon = ""; var falseDisabledIcon = ""; var trueUpIcon = ""; var trueDownIcon = ""; var trueOverIcon = ""; var trueDisabledIcon = ""; var clipParameters = {labelPlacement:1, icon:1, toggle:1, selected:1, label:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.Button.prototype.clipParameters, mx.controls.SimpleButton.prototype.clipParameters); var centerContent = true; var borderW = 1; }Symbol 8 MovieClip [__Packages.mx.controls.UIScrollBar] Frame 0class mx.controls.UIScrollBar extends mx.controls.scrollClasses.ScrollBar { var textField, wasHorizontal, __width, __height, _parent, synchScroll, setScrollProperties, __set__scrollPosition, initializing, _rotation, _xscale, hScroller, vScroller, onChanged, onScroller, scrollPosition, dispatchEvent; function UIScrollBar () { super(); } function init(Void) { super.init(); textField.owner = this; horizontal = (wasHorizontal); if (horizontal) { ((textField != undefined) ? (super.setSize(textField._width, 16)) : (super.setSize(__width, __height))); } else { ((textField != undefined) ? (super.setSize(16, textField._height)) : (super.setSize(__width, __height))); } if (horizontal) { var _local3 = __width; __height = __width; width = _local3; __width = 16; } textField.onScroller = function () { this.hPosition = this.hscroll; this.vPosition = this.scroll - 1; }; if (_targetInstanceName != undefined) { setScrollTarget(_targetInstanceName); _targetInstanceName.addListener(this); } } function get _targetInstanceName() { return(textField); } function get height() { if (wasHorizontal) { return(__width); } return(__height); } function get width() { if (wasHorizontal) { return(__height); } return(__width); } function size(Void) { super.size(); onTextChanged(); } function draw() { super.draw(); } function set _targetInstanceName(t) { if (t == undefined) { textField.removeListener(this); delete textField[(horizontal ? "hScroller" : "vScroller")]; if ((textField.hScroller != undefined) && (textField.vScroller != undefined)) { textField.unwatch("text"); textField.unwatch("htmltext"); } } var _local3 = _parent[t]; textField = _parent[t]; onTextChanged(); //return(_targetInstanceName); } function setSize(w, h) { if (horizontal) { super.setSize(h, w); } else { super.setSize(w, h); } } function onTextChanged(Void) { if (textField == undefined) { return(undefined); } clearInterval(synchScroll); if (horizontal) { var _local2 = textField.hscroll; setScrollProperties(textField._width, 0, textField.maxhscroll); __set__scrollPosition(Math.min(_local2, textField.maxhscroll)); } else { var _local2 = textField.scroll; var _local3 = textField.bottomScroll - textField.scroll; setScrollProperties(_local3, 1, textField.maxscroll); __set__scrollPosition(Math.min(_local2, textField.maxscroll)); } } function get horizontal() { return(wasHorizontal); } function set horizontal(v) { wasHorizontal = v; if (v and initializing) { if (_rotation == 90) { return; } _xscale = -100; _rotation = -90; } if (!initializing) { if (v) { if (_rotation == 0) { _rotation = -90; _xscale = -100; } } else if (_rotation == -90) { _rotation = 0; _xscale = 100; } } //return(horizontal); } function callback(prop, oldval, newval) { clearInterval(hScroller.synchScroll); clearInterval(vScroller.synchScroll); hScroller.synchScroll = setInterval(hScroller, "onTextChanged", 50); vScroller.synchScroll = setInterval(vScroller, "onTextChanged", 50); return(newval); } function setScrollTarget(tF) { if (tF == undefined) { textField.removeListener(this); delete textField[(horizontal ? "hScroller" : "vScroller")]; if ((textField.hScroller != undefined) && (textField.vScroller != undefined)) { textField.unwatch("text"); textField.unwatch("htmltext"); } } textField = undefined; if (!(tF instanceof TextField)) { return(undefined); } textField = tF; if (horizontal) { textField.hScroller = this; textField.hScroller.lineScrollSize = 5; } else { textField.vScroller = this; textField.vScroller.lineScrollSize = 1; } onTextChanged(); onChanged = function (Void) { this.onTextChanged(); }; onScroller = function (Void) { if (!this.isScrolling) { if (!this.horizontal) { this.scrollPosition = this.textField.scroll; } else { this.scrollPosition = this.textField.hscroll; } } }; textField.addListener(this); textField.watch("text", callback); textField.watch("htmlText", callback); } function scrollHandler(Void) { if (horizontal) { var _local2 = textField.background; textField.hscroll = scrollPosition; textField.background = _local2; } else { textField.scroll = scrollPosition; } } function setEnabled(enable) { super.setEnabled(enable); if (enable) { textField.addListener(this); } else { textField.removeListener(); } } function dispatchScrollEvent(detail) { dispatchEvent({type:"scroll"}); } static var symbolName = "UIScrollBar"; static var symbolOwner = mx.controls.UIScrollBar; var className = "UIScrollBar"; var clipParameters = {_targetInstanceName:1, horizontal:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.UIScrollBar.prototype.clipParameters); static var version = "2.0.2.126"; }Symbol 107 MovieClip [__Packages.mx.controls.VScrollBar] Frame 0class mx.controls.VScrollBar extends mx.controls.scrollClasses.ScrollBar { var scrollIt; function VScrollBar () { super(); } function init(Void) { super.init(); } function isScrollBarKey(k) { if (k == 38) { scrollIt("Line", -1); return(true); } if (k == 40) { scrollIt("Line", 1); return(true); } if (k == 33) { scrollIt("Page", -1); return(true); } if (k == 34) { scrollIt("Page", 1); return(true); } return(super.isScrollBarKey(k)); } static var symbolName = "VScrollBar"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.2.126"; var className = "VScrollBar"; var minusMode = "Up"; var plusMode = "Down"; var minMode = "AtTop"; var maxMode = "AtBottom"; }Symbol 111 MovieClip [__Packages.mx.skins.ColoredSkinElement] Frame 0class mx.skins.ColoredSkinElement { var getStyle, _color, onEnterFrame; function ColoredSkinElement () { } function setColor(c) { if (c != undefined) { var _local2 = new Color(this); _local2.setRGB(c); } } function draw(Void) { setColor(getStyle(_color)); onEnterFrame = undefined; } function invalidateStyle(Void) { onEnterFrame = draw; } static function setColorStyle(p, colorStyle) { if (p._color == undefined) { p._color = colorStyle; } p.setColor = mixins.setColor; p.invalidateStyle = mixins.invalidateStyle; p.draw = mixins.draw; p.setColor(p.getStyle(colorStyle)); } static var mixins = new mx.skins.ColoredSkinElement(); }Symbol 112 MovieClip [__Packages.mx.core.ext.UIObjectExtensions] Frame 0class mx.core.ext.UIObjectExtensions { function UIObjectExtensions () { } static function addGeometry(tf, ui) { tf.addProperty("width", ui.__get__width, null); tf.addProperty("height", ui.__get__height, null); tf.addProperty("left", ui.__get__left, null); tf.addProperty("x", ui.__get__x, null); tf.addProperty("top", ui.__get__top, null); tf.addProperty("y", ui.__get__y, null); tf.addProperty("right", ui.__get__right, null); tf.addProperty("bottom", ui.__get__bottom, null); tf.addProperty("visible", ui.__get__visible, ui.__set__visible); } static function Extensions() { if (bExtended == true) { return(true); } bExtended = true; var _local6 = mx.core.UIObject.prototype; var _local9 = mx.skins.SkinElement.prototype; addGeometry(_local9, _local6); mx.events.UIEventDispatcher.initialize(_local6); var _local13 = mx.skins.ColoredSkinElement; mx.styles.CSSTextStyles.addTextStyles(_local6); var _local5 = MovieClip.prototype; _local5.getTopLevel = _local6.getTopLevel; _local5.createLabel = _local6.createLabel; _local5.createObject = _local6.createObject; _local5.createClassObject = _local6.createClassObject; _local5.createEmptyObject = _local6.createEmptyObject; _local5.destroyObject = _local6.destroyObject; _global.ASSetPropFlags(_local5, "getTopLevel", 1); _global.ASSetPropFlags(_local5, "createLabel", 1); _global.ASSetPropFlags(_local5, "createObject", 1); _global.ASSetPropFlags(_local5, "createClassObject", 1); _global.ASSetPropFlags(_local5, "createEmptyObject", 1); _global.ASSetPropFlags(_local5, "destroyObject", 1); _local5.__getTextFormat = _local6.__getTextFormat; _local5._getTextFormat = _local6._getTextFormat; _local5.getStyleName = _local6.getStyleName; _local5.getStyle = _local6.getStyle; _global.ASSetPropFlags(_local5, "__getTextFormat", 1); _global.ASSetPropFlags(_local5, "_getTextFormat", 1); _global.ASSetPropFlags(_local5, "getStyleName", 1); _global.ASSetPropFlags(_local5, "getStyle", 1); var _local7 = TextField.prototype; addGeometry(_local7, _local6); _local7.addProperty("enabled", function () { return(this.__enabled); }, function (x) { this.__enabled = x; this.invalidateStyle(); }); _local7.move = _local9.move; _local7.setSize = _local9.setSize; _local7.invalidateStyle = function () { this.invalidateFlag = true; }; _local7.draw = function () { if (this.invalidateFlag) { this.invalidateFlag = false; var _local2 = this._getTextFormat(); this.setTextFormat(_local2); this.setNewTextFormat(_local2); this.embedFonts = _local2.embedFonts == true; if (this.__text != undefined) { if (this.text == "") { this.text = this.__text; } delete this.__text; } this._visible = true; } }; _local7.setColor = function (color) { this.textColor = color; }; _local7.getStyle = _local5.getStyle; _local7.__getTextFormat = _local6.__getTextFormat; _local7.setValue = function (v) { this.text = v; }; _local7.getValue = function () { return(this.text); }; _local7.addProperty("value", function () { return(this.getValue()); }, function (v) { this.setValue(v); }); _local7._getTextFormat = function () { var _local2 = this.stylecache.tf; if (_local2 != undefined) { return(_local2); } _local2 = new TextFormat(); this.__getTextFormat(_local2); this.stylecache.tf = _local2; if (this.__enabled == false) { if (this.enabledColor == undefined) { var _local4 = this.getTextFormat(); this.enabledColor = _local4.color; } var _local3 = this.getStyle("disabledColor"); _local2.color = _local3; } else if (this.enabledColor != undefined) { if (_local2.color == undefined) { _local2.color = this.enabledColor; } } return(_local2); }; _local7.getPreferredWidth = function () { this.draw(); return(this.textWidth + 4); }; _local7.getPreferredHeight = function () { this.draw(); return(this.textHeight + 4); }; TextFormat.prototype.getTextExtent2 = function (s) { var _local3 = _root._getTextExtent; if (_local3 == undefined) { _root.createTextField("_getTextExtent", -2, 0, 0, 1000, 100); _local3 = _root._getTextExtent; _local3._visible = false; } _root._getTextExtent.text = s; var _local4 = this.align; this.align = "left"; _root._getTextExtent.setTextFormat(this); this.align = _local4; return({width:_local3.textWidth, height:_local3.textHeight}); }; if (_global.style == undefined) { _global.style = new mx.styles.CSSStyleDeclaration(); _global.cascadingStyles = true; _global.styles = new Object(); _global.skinRegistry = new Object(); if (_global._origWidth == undefined) { _global.origWidth = Stage.width; _global.origHeight = Stage.height; } } var _local4 = _root; while (_local4._parent != undefined) { _local4 = _local4._parent; } _local4.addProperty("width", function () { return(Stage.width); }, null); _local4.addProperty("height", function () { return(Stage.height); }, null); _global.ASSetPropFlags(_local4, "width", 1); _global.ASSetPropFlags(_local4, "height", 1); return(true); } static var bExtended = false; static var UIObjectExtended = Extensions(); static var UIObjectDependency = mx.core.UIObject; static var SkinElementDependency = mx.skins.SkinElement; static var CSSTextStylesDependency = mx.styles.CSSTextStyles; static var UIEventDispatcherDependency = mx.events.UIEventDispatcher; }Symbol 113 MovieClip [__Packages.mx.skins.halo.Defaults] Frame 0class mx.skins.halo.Defaults { var beginGradientFill, beginFill, moveTo, lineTo, curveTo, endFill; function Defaults () { } static function setThemeDefaults() { var _local2 = _global.style; _local2.themeColor = 8453965 /* 0x80FF4D */; _local2.disabledColor = 8684164 /* 0x848284 */; _local2.modalTransparency = 0; _local2.filled = true; _local2.stroked = true; _local2.strokeWidth = 1; _local2.strokeColor = 0; _local2.fillColor = 16777215 /* 0xFFFFFF */; _local2.repeatInterval = 35; _local2.repeatDelay = 500; _local2.fontFamily = "_sans"; _local2.fontSize = 12; _local2.selectionColor = 13500353 /* 0xCDFFC1 */; _local2.rollOverColor = 14942166 /* 0xE3FFD6 */; _local2.useRollOver = true; _local2.backgroundDisabledColor = 14540253 /* 0xDDDDDD */; _local2.selectionDisabledColor = 14540253 /* 0xDDDDDD */; _local2.selectionDuration = 200; _local2.openDuration = 250; _local2.borderStyle = "inset"; _local2.color = 734012 /* 0x0B333C */; _local2.textSelectedColor = 24371; _local2.textRollOverColor = 2831164 /* 0x2B333C */; _local2.textDisabledColor = 16777215 /* 0xFFFFFF */; _local2.vGridLines = true; _local2.hGridLines = false; _local2.vGridLineColor = 6710886 /* 0x666666 */; _local2.hGridLineColor = 6710886 /* 0x666666 */; _local2.headerColor = 15395562 /* 0xEAEAEA */; _local2.indentation = 17; _local2.folderOpenIcon = "TreeFolderOpen"; _local2.folderClosedIcon = "TreeFolderClosed"; _local2.defaultLeafIcon = "TreeNodeIcon"; _local2.disclosureOpenIcon = "TreeDisclosureOpen"; _local2.disclosureClosedIcon = "TreeDisclosureClosed"; _local2.popupDuration = 150; _local2.todayColor = 6710886 /* 0x666666 */; _local2 = (_global.styles.ScrollSelectList = new mx.styles.CSSStyleDeclaration()); _local2.backgroundColor = 16777215 /* 0xFFFFFF */; _local2.borderColor = 13290186 /* 0xCACACA */; _local2.borderStyle = "inset"; _local2 = (_global.styles.ComboBox = new mx.styles.CSSStyleDeclaration()); _local2.borderStyle = "inset"; _local2 = (_global.styles.NumericStepper = new mx.styles.CSSStyleDeclaration()); _local2.textAlign = "center"; _local2 = (_global.styles.RectBorder = new mx.styles.CSSStyleDeclaration()); _local2.borderColor = 14015965 /* 0xD5DDDD */; _local2.buttonColor = 7305079 /* 0x6F7777 */; _local2.shadowColor = 15658734 /* 0xEEEEEE */; _local2.highlightColor = 12897484 /* 0xC4CCCC */; _local2.shadowCapColor = 14015965 /* 0xD5DDDD */; _local2.borderCapColor = 9542041 /* 0x919999 */; var _local4 = new Object(); _local4.borderColor = 16711680 /* 0xFF0000 */; _local4.buttonColor = 16711680 /* 0xFF0000 */; _local4.shadowColor = 16711680 /* 0xFF0000 */; _local4.highlightColor = 16711680 /* 0xFF0000 */; _local4.shadowCapColor = 16711680 /* 0xFF0000 */; _local4.borderCapColor = 16711680 /* 0xFF0000 */; mx.core.UIComponent.prototype.origBorderStyles = _local4; var _local3; _local3 = (_global.styles.TextInput = new mx.styles.CSSStyleDeclaration()); _local3.backgroundColor = 16777215 /* 0xFFFFFF */; _local3.borderStyle = "inset"; _global.styles.TextArea = _global.styles.TextInput; _local3 = (_global.styles.Window = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "default"; _local3 = (_global.styles.windowStyles = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3 = (_global.styles.dataGridStyles = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3 = (_global.styles.Alert = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "alert"; _local3 = (_global.styles.ScrollView = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "inset"; _local3 = (_global.styles.View = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "none"; _local3 = (_global.styles.ProgressBar = new mx.styles.CSSStyleDeclaration()); _local3.color = 11187123 /* 0xAAB3B3 */; _local3.fontWeight = "bold"; _local3 = (_global.styles.AccordionHeader = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3.fontSize = "11"; _local3 = (_global.styles.Accordion = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "solid"; _local3.backgroundColor = 16777215 /* 0xFFFFFF */; _local3.borderColor = 9081738 /* 0x8A938A */; _local3.headerHeight = 22; _local3.marginLeft = (_local3.marginRight = (_local3.marginTop = (_local3.marginBottom = -1))); _local3.verticalGap = -1; _local3 = (_global.styles.DateChooser = new mx.styles.CSSStyleDeclaration()); _local3.borderColor = 9542041 /* 0x919999 */; _local3.headerColor = 16777215 /* 0xFFFFFF */; _local3 = (_global.styles.CalendarLayout = new mx.styles.CSSStyleDeclaration()); _local3.fontSize = 10; _local3.textAlign = "right"; _local3.color = 2831164 /* 0x2B333C */; _local3 = (_global.styles.WeekDayStyle = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3.fontSize = 11; _local3.textAlign = "center"; _local3.color = 2831164 /* 0x2B333C */; _local3 = (_global.styles.TodayStyle = new mx.styles.CSSStyleDeclaration()); _local3.color = 16777215 /* 0xFFFFFF */; _local3 = (_global.styles.HeaderDateText = new mx.styles.CSSStyleDeclaration()); _local3.fontSize = 12; _local3.fontWeight = "bold"; _local3.textAlign = "center"; } function drawRoundRect(x, y, w, h, r, c, alpha, rot, gradient, ratios) { if (typeof(r) == "object") { var _local18 = r.br; var _local16 = r.bl; var _local15 = r.tl; var _local10 = r.tr; } else { var _local10 = r; var _local15 = _local10; var _local16 = _local15; var _local18 = _local16; } if (typeof(c) == "object") { if (typeof(alpha) != "object") { var _local9 = [alpha, alpha]; } else { var _local9 = alpha; } if (ratios == undefined) { ratios = [0, 255]; } var _local14 = h * 0.7; if (typeof(rot) != "object") { var _local11 = {matrixType:"box", x:-_local14, y:_local14, w:w * 2, h:h * 4, r:rot * 0.0174532925199433 /* Math.PI/180 */}; } else { var _local11 = rot; } if (gradient == "radial") { beginGradientFill("radial", c, _local9, ratios, _local11); } else { beginGradientFill("linear", c, _local9, ratios, _local11); } } else if (c != undefined) { beginFill(c, alpha); } r = _local18; var _local13 = r - (r * 0.707106781186547); var _local12 = r - (r * 0.414213562373095); moveTo(x + w, (y + h) - r); lineTo(x + w, (y + h) - r); curveTo(x + w, (y + h) - _local12, (x + w) - _local13, (y + h) - _local13); curveTo((x + w) - _local12, y + h, (x + w) - r, y + h); r = _local16; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo(x + r, y + h); curveTo(x + _local12, y + h, x + _local13, (y + h) - _local13); curveTo(x, (y + h) - _local12, x, (y + h) - r); r = _local15; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo(x, y + r); curveTo(x, y + _local12, x + _local13, y + _local13); curveTo(x + _local12, y, x + r, y); r = _local10; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo((x + w) - r, y); curveTo((x + w) - _local12, y, (x + w) - _local13, y + _local13); curveTo(x + w, y + _local12, x + w, y + r); lineTo(x + w, (y + h) - r); if (c != undefined) { endFill(); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); setThemeDefaults(); mx.core.UIObject.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect; return(true); } static var classConstructed = classConstruct(); static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration; static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; static var UIObjectDependency = mx.core.UIObject; }Symbol 116 MovieClip [__Packages.mx.managers.FocusManager] Frame 0class mx.managers.FocusManager extends mx.core.UIComponent { var __defaultPushButton, defPushButton, form, move, tabEnabled, _width, _height, _x, _y, _alpha, _parent, tabCapture, watch, lastMouse, _visible, lastFocus, doLater, lastSelFocus, cancelAllDoLaters, _searchKey, _lastTarget, _firstNode, _nextIsNext, _nextNode, _lastx, _prevNode, _needPrev, _foundList, _prevObj, _nextObj, _firstObj, _lastObj, _lastNode, lastTabFocus, findFocusFromObject; function FocusManager () { super(); } function get defaultPushButton() { return(__defaultPushButton); } function set defaultPushButton(x) { if (x != __defaultPushButton) { __defaultPushButton.__set__emphasized(false); __defaultPushButton = x; defPushButton = x; x.__set__emphasized(true); } //return(defaultPushButton); } function getMaxTabIndex(o) { var _local3 = 0; var _local6; for (_local6 in o) { var _local2 = o[_local6]; if (_local2._parent == o) { if (_local2.tabIndex != undefined) { if (_local2.tabIndex > _local3) { _local3 = _local2.tabIndex; } } if (_local2.tabChildren == true) { var _local4 = getMaxTabIndex(_local2); if (_local4 > _local3) { _local3 = _local4; } } } } return(_local3); } function getNextTabIndex(Void) { return(getMaxTabIndex(form) + 1); } function get nextTabIndex() { return(getNextTabIndex()); } function relocate(Void) { var _local2 = mx.managers.SystemManager.__get__screen(); move(_local2.x - 1, _local2.y - 1); } function init(Void) { super.init(); tabEnabled = false; _width = (_height = 1); _x = (_y = -1); _alpha = 0; _parent.focusManager = this; _parent.tabChildren = true; _parent.tabEnabled = false; form = _parent; _parent.addEventListener("hide", this); _parent.addEventListener("reveal", this); mx.managers.SystemManager.init(); mx.managers.SystemManager.addFocusManager(form); tabCapture.tabIndex = 0; watch("enabled", enabledChanged); Selection.addListener(this); lastMouse = new Object(); _global.ASSetPropFlags(_parent, "focusManager", 1); _global.ASSetPropFlags(_parent, "tabChildren", 1); _global.ASSetPropFlags(_parent, "tabEnabled", 1); } function enabledChanged(id, oldValue, newValue) { _visible = newValue; return(newValue); } function activate(Void) { Key.addListener(this); activated = (_visible = true); if (lastFocus != undefined) { bNeedFocus = true; if (!mx.managers.SystemManager.isMouseDown) { doLater(this, "restoreFocus"); } } } function deactivate(Void) { Key.removeListener(this); activated = (_visible = false); var _local2 = getSelectionFocus(); var _local3 = getActualFocus(_local2); if (isOurFocus(_local3)) { lastSelFocus = _local2; lastFocus = _local3; } cancelAllDoLaters(); } function isOurFocus(o) { if (o.focusManager == this) { return(true); } while (o != undefined) { if (o.focusManager != undefined) { return(false); } if (o._parent == _parent) { return(true); } o = o._parent; } return(false); } function onSetFocus(o, n) { if (n == null) { if (activated) { bNeedFocus = true; } } else { var _local2 = getFocus(); if (isOurFocus(_local2)) { bNeedFocus = false; lastFocus = _local2; lastSelFocus = n; } } } function restoreFocus(Void) { var _local2 = lastSelFocus.hscroll; if (_local2 != undefined) { var _local5 = lastSelFocus.scroll; var _local4 = lastSelFocus.background; } lastFocus.setFocus(); var _local3 = Selection; Selection.setSelection(_local3.lastBeginIndex, _local3.lastEndIndex); if (_local2 != undefined) { lastSelFocus.scroll = _local5; lastSelFocus.hscroll = _local2; lastSelFocus.background = _local4; } } function onUnload(Void) { mx.managers.SystemManager.removeFocusManager(form); } function setFocus(o) { if (o == null) { Selection.setFocus(null); } else if (o.setFocus == undefined) { Selection.setFocus(o); } else { o.setFocus(); } } function getActualFocus(o) { var _local1 = o._parent; while (_local1 != undefined) { if (_local1.focusTextField != undefined) { while (_local1.focusTextField != undefined) { o = _local1; _local1 = _local1._parent; if (_local1 == undefined) { return(undefined); } if (_local1.focusTextField == undefined) { return(o); } } } if (_local1.tabEnabled != true) { return(o); } o = _local1; _local1 = o._parent; } return(undefined); } function getSelectionFocus() { var m = Selection.getFocus(); var o = eval (m); return(o); } function getFocus(Void) { var _local2 = getSelectionFocus(); return(getActualFocus(_local2)); } function walkTree(p, index, groupName, dir, lookup, firstChild) { var _local5 = true; var _local11; for (_local11 in p) { var _local2 = p[_local11]; if ((((_local2._parent == p) && (_local2.enabled != false)) && (_local2._visible != false)) && ((_local2.tabEnabled == true) || ((_local2.tabEnabled != false) && ((((((((_local2.onPress != undefined) || (_local2.onRelease != undefined)) || (_local2.onReleaseOutside != undefined)) || (_local2.onDragOut != undefined)) || (_local2.onDragOver != undefined)) || (_local2.onRollOver != undefined)) || (_local2.onRollOut != undefined)) || (_local2 instanceof TextField))))) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; if (_local2 != _lastTarget) { if (((_local2.groupName != undefined) || (groupName != undefined)) && (_local2.groupName == groupName)) { continue; } if ((_local2 instanceof TextField) && (_local2.selectable == false)) { continue; } if (_local5 || (((_local2.groupName != undefined) && (_local2.groupName == _firstNode.groupName)) && (_local2.selected == true))) { if (firstChild) { _firstNode = _local2; firstChild = false; } } if (_nextIsNext == true) { if ((((_local2.groupName != undefined) && (_local2.groupName == _nextNode.groupName)) && (_local2.selected == true)) || ((_nextNode == undefined) && ((_local2.groupName == undefined) || ((_local2.groupName != undefined) && (_local2.groupName != groupName))))) { _nextNode = _local2; } } if ((_local2.groupName == undefined) || (groupName != _local2.groupName)) { if (((_lastx.groupName != undefined) && (_local2.groupName == _lastx.groupName)) && (_lastx.selected == true)) { } else { _lastx = _local2; } } } else { _prevNode = _lastx; _needPrev = false; _nextIsNext = true; } if (_local2.tabIndex != undefined) { if (_local2.tabIndex == index) { if (_foundList[_local2._name] == undefined) { if (_needPrev) { _prevObj = _local2; _needPrev = false; } _nextObj = _local2; } } if (dir && (_local2.tabIndex > index)) { if (((_nextObj == undefined) || ((_nextObj.tabIndex > _local2.tabIndex) && (((_local2.groupName == undefined) || (_nextObj.groupName == undefined)) || (_local2.groupName != _nextObj.groupName)))) || ((((_nextObj.groupName != undefined) && (_nextObj.groupName == _local2.groupName)) && (_nextObj.selected != true)) && ((_local2.selected == true) || (_nextObj.tabIndex > _local2.tabIndex)))) { _nextObj = _local2; } } else if ((!dir) && (_local2.tabIndex < index)) { if (((_prevObj == undefined) || ((_prevObj.tabIndex < _local2.tabIndex) && (((_local2.groupName == undefined) || (_prevObj.groupName == undefined)) || (_local2.groupName != _prevObj.groupName)))) || ((((_prevObj.groupName != undefined) && (_prevObj.groupName == _local2.groupName)) && (_prevObj.selected != true)) && ((_local2.selected == true) || (_prevObj.tabIndex < _local2.tabIndex)))) { _prevObj = _local2; } } if (((_firstObj == undefined) || ((_local2.tabIndex < _firstObj.tabIndex) && (((_local2.groupName == undefined) || (_firstObj.groupName == undefined)) || (_local2.groupName != _firstObj.groupName)))) || ((((_firstObj.groupName != undefined) && (_firstObj.groupName == _local2.groupName)) && (_firstObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex < _firstObj.tabIndex)))) { _firstObj = _local2; } if (((_lastObj == undefined) || ((_local2.tabIndex > _lastObj.tabIndex) && (((_local2.groupName == undefined) || (_lastObj.groupName == undefined)) || (_local2.groupName != _lastObj.groupName)))) || ((((_lastObj.groupName != undefined) && (_lastObj.groupName == _local2.groupName)) && (_lastObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex > _lastObj.tabIndex)))) { _lastObj = _local2; } } if (_local2.tabChildren) { getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild)); } _local5 = false; } else if (((_local2._parent == p) && (_local2.tabChildren == true)) && (_local2._visible != false)) { if (_local2 == _lastTarget) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; if (_prevNode == undefined) { var _local3 = _lastx; var _local7 = false; while (_local3 != undefined) { if (_local3 == _local2) { _local7 = true; break; } _local3 = _local3._parent; } if (_local7 == false) { _prevNode = _lastx; } } _needPrev = false; if (_nextNode == undefined) { _nextIsNext = true; } } else if (!((_local2.focusManager != undefined) && (_local2.focusManager._parent == _local2))) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild)); } _local5 = false; } } _lastNode = _lastx; if (lookup) { if (p._parent != undefined) { if (p != _parent) { if ((_prevNode == undefined) && (dir)) { _needPrev = true; } else if ((_nextNode == undefined) && (!dir)) { _nextIsNext = false; } _lastTarget = _lastTarget._parent; getTabCandidate(p._parent, index, groupName, dir, true); } } } } function getTabCandidate(o, index, groupName, dir, firstChild) { var _local2; var _local3 = true; if (o == _parent) { _local2 = o; _local3 = false; } else { _local2 = o._parent; if (_local2 == undefined) { _local2 = o; _local3 = false; } } walkTree(_local2, index, groupName, dir, _local3, firstChild); } function getTabCandidateFromChildren(o, index, groupName, dir, firstChild) { walkTree(o, index, groupName, dir, false, firstChild); } function getFocusManagerFromObject(o) { while (o != undefined) { if (o.focusManager != undefined) { return(o.focusManager); } o = o._parent; } return(undefined); } function tabHandler(Void) { bDrawFocus = true; var _local5 = getSelectionFocus(); var _local4 = getActualFocus(_local5); if (_local4 != _local5) { _local5 = _local4; } if (getFocusManagerFromObject(_local5) != this) { _local5 == undefined; } if (_local5 == undefined) { _local5 = form; } else if (_local5.tabIndex != undefined) { if ((_foundList != undefined) || (_foundList.tabIndex != _local5.tabIndex)) { _foundList = new Object(); _foundList.tabIndex = _local5.tabIndex; } _foundList[_local5._name] = _local5; } var _local3 = Key.isDown(16) != true; _searchKey = getTimer(); _needPrev = true; _nextIsNext = false; _lastx = undefined; _firstNode = undefined; _lastNode = undefined; _nextNode = undefined; _prevNode = undefined; _firstObj = undefined; _lastObj = undefined; _nextObj = undefined; _prevObj = undefined; _lastTarget = _local5; var _local6 = _local5; getTabCandidate(_local6, ((_local5.tabIndex == undefined) ? 0 : (_local5.tabIndex)), _local5.groupName, _local3, true); var _local2; if (_local3) { if (_nextObj != undefined) { _local2 = _nextObj; } else { _local2 = _firstObj; } } else if (_prevObj != undefined) { _local2 = _prevObj; } else { _local2 = _lastObj; } if (_local2.tabIndex != _local5.tabIndex) { _foundList = new Object(); _foundList.tabIndex = _local2.tabIndex; _foundList[_local2._name] = _local2; } else { if (_foundList == undefined) { _foundList = new Object(); _foundList.tabIndex = _local2.tabIndex; } _foundList[_local2._name] = _local2; } if (_local2 == undefined) { if (_local3 == false) { if (_nextNode != undefined) { _local2 = _nextNode; } else { _local2 = _firstNode; } } else if ((_prevNode == undefined) || (_local5 == form)) { _local2 = _lastNode; } else { _local2 = _prevNode; } } if (_local2 == undefined) { return(undefined); } lastTabFocus = _local2; setFocus(_local2); if (_local2.emphasized != undefined) { if (defPushButton != undefined) { _local5 = defPushButton; defPushButton = _local2; _local5.emphasized = false; _local2.emphasized = true; } } else if ((defPushButton != undefined) && (defPushButton != __defaultPushButton)) { _local5 = defPushButton; defPushButton = __defaultPushButton; _local5.emphasized = false; __defaultPushButton.__set__emphasized(true); } } function onKeyDown(Void) { mx.managers.SystemManager.idleFrames = 0; if (defaultPushButtonEnabled) { if (Key.getCode() == 13) { if (defaultPushButton != undefined) { doLater(this, "sendDefaultPushButtonEvent"); } } } } function sendDefaultPushButtonEvent(Void) { defPushButton.dispatchEvent({type:"click"}); } function getMousedComponentFromChildren(x, y, o) { for (var _local7 in o) { var _local2 = o[_local7]; if (((_local2._visible && (_local2.enabled)) && (_local2._parent == o)) && (_local2._searchKey != _searchKey)) { _local2._searchKey = _searchKey; if (_local2.hitTest(x, y, true)) { if ((_local2.onPress != undefined) || (_local2.onRelease != undefined)) { return(_local2); } var _local3 = getMousedComponentFromChildren(x, y, _local2); if (_local3 != undefined) { return(_local3); } return(_local2); } } } return(undefined); } function mouseActivate(Void) { if (!bNeedFocus) { return(undefined); } _searchKey = getTimer(); var _local2 = getMousedComponentFromChildren(lastMouse.x, lastMouse.y, form); if (_local2 instanceof mx.core.UIComponent) { return(undefined); } _local2 = findFocusFromObject(_local2); if (_local2 == lastFocus) { return(undefined); } if (_local2 == undefined) { doLater(this, "restoreFocus"); return(undefined); } var _local3 = _local2.hscroll; if (_local3 != undefined) { var _local6 = _local2.scroll; var _local5 = _local2.background; } setFocus(_local2); var _local4 = Selection; Selection.setSelection(_local4.lastBeginIndex, _local4.lastEndIndex); if (_local3 != undefined) { _local2.scroll = _local6; _local2.hscroll = _local3; _local2.background = _local5; } } function _onMouseDown(Void) { bDrawFocus = false; if (lastFocus != undefined) { lastFocus.drawFocus(false); } mx.managers.SystemManager.idleFrames = 0; var _local3 = Selection; _local3.lastBeginIndex = Selection.getBeginIndex(); _local3.lastEndIndex = Selection.getEndIndex(); lastMouse.x = _root._xmouse; lastMouse.y = _root._ymouse; _root.localToGlobal(lastMouse); } function onMouseUp(Void) { if (_visible) { doLater(this, "mouseActivate"); } } function handleEvent(e) { if (e.type == "reveal") { mx.managers.SystemManager.activate(form); } else { mx.managers.SystemManager.deactivate(form); } } static function enableFocusManagement() { if (!initialized) { initialized = true; Object.registerClass("FocusManager", mx.managers.FocusManager); if (_root.focusManager == undefined) { _root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--); } } } static var symbolName = "FocusManager"; static var symbolOwner = mx.managers.FocusManager; static var version = "2.0.2.126"; var className = "FocusManager"; var bNeedFocus = false; var bDrawFocus = false; var defaultPushButtonEnabled = true; var activated = true; static var initialized = false; static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }Symbol 117 MovieClip [__Packages.mx.skins.halo.FocusRect] Frame 0class mx.skins.halo.FocusRect extends mx.skins.SkinElement { var boundingBox_mc, _xscale, _yscale, clear, beginFill, drawRoundRect, endFill, _visible; function FocusRect () { super(); boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function draw(o) { o.adjustFocusRect(); } function setSize(w, h, r, a, rectCol) { _xscale = (_yscale = 100); clear(); if (typeof(r) == "object") { r.br = ((r.br > 2) ? (r.br - 2) : 0); r.bl = ((r.bl > 2) ? (r.bl - 2) : 0); r.tr = ((r.tr > 2) ? (r.tr - 2) : 0); r.tl = ((r.tl > 2) ? (r.tl - 2) : 0); beginFill(rectCol, a * 0.3); drawRoundRect(0, 0, w, h, r); drawRoundRect(2, 2, w - 4, h - 4, r); endFill(); r.br = ((r.br > 1) ? (r.br + 1) : 0); r.bl = ((r.bl > 1) ? (r.bl + 1) : 0); r.tr = ((r.tr > 1) ? (r.tr + 1) : 0); r.tl = ((r.tl > 1) ? (r.tl + 1) : 0); beginFill(rectCol, a * 0.3); drawRoundRect(1, 1, w - 2, h - 2, r); r.br = ((r.br > 1) ? (r.br - 1) : 0); r.bl = ((r.bl > 1) ? (r.bl - 1) : 0); r.tr = ((r.tr > 1) ? (r.tr - 1) : 0); r.tl = ((r.tl > 1) ? (r.tl - 1) : 0); drawRoundRect(2, 2, w - 4, h - 4, r); endFill(); } else { var _local5; if (r != 0) { _local5 = r - 2; } else { _local5 = 0; } beginFill(rectCol, a * 0.3); drawRoundRect(0, 0, w, h, r); drawRoundRect(2, 2, w - 4, h - 4, _local5); endFill(); beginFill(rectCol, a * 0.3); if (r != 0) { _local5 = r - 2; r = r - 1; } else { _local5 = 0; r = 0; } drawRoundRect(1, 1, w - 2, h - 2, r); drawRoundRect(2, 2, w - 4, h - 4, _local5); endFill(); } } function handleEvent(e) { if (e.type == "unload") { _visible = true; } else if (e.type == "resize") { e.target.adjustFocusRect(); } else if (e.type == "move") { e.target.adjustFocusRect(); } } static function classConstruct() { mx.core.UIComponent.prototype.drawFocus = function (focused) { var _local2 = this._parent.focus_mc; if (!focused) { _local2._visible = false; this.removeEventListener("unload", _local2); this.removeEventListener("move", _local2); this.removeEventListener("resize", _local2); } else { if (_local2 == undefined) { _local2 = this._parent.createChildAtDepth("FocusRect", mx.managers.DepthManager.kTop); _local2.tabEnabled = false; this._parent.focus_mc = _local2; } else { _local2._visible = true; } _local2.draw(this); if (_local2.getDepth() < this.getDepth()) { _local2.setDepthAbove(this); } this.addEventListener("unload", _local2); this.addEventListener("move", _local2); this.addEventListener("resize", _local2); } }; mx.core.UIComponent.prototype.adjustFocusRect = function () { var _local2 = this.getStyle("themeColor"); if (_local2 == undefined) { _local2 = 8453965 /* 0x80FF4D */; } var _local3 = this._parent.focus_mc; _local3.setSize(this.width + 4, this.height + 4, 0, 100, _local2); _local3.move(this.x - 2, this.y - 2); }; TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus; TextField.prototype.adjustFocusRect = mx.core.UIComponent.prototype.adjustFocusRect; mx.skins.halo.FocusRect.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect; return(true); } static var classConstructed = classConstruct(); static var DefaultsDependency = mx.skins.halo.Defaults; static var UIComponentDependency = mx.core.UIComponent; }Symbol 118 MovieClip [__Packages.mx.managers.OverlappedWindows] Frame 0class mx.managers.OverlappedWindows { function OverlappedWindows () { } static function checkIdle(Void) { if (mx.managers.SystemManager.idleFrames > 10) { mx.managers.SystemManager.dispatchEvent({type:"idle"}); } else { mx.managers.SystemManager.idleFrames++; } } static function __addEventListener(e, o, l) { if (e == "idle") { if (mx.managers.SystemManager.interval == undefined) { mx.managers.SystemManager.interval = setInterval(mx.managers.SystemManager.checkIdle, 100); } } mx.managers.SystemManager._xAddEventListener(e, o, l); } static function __removeEventListener(e, o, l) { if (e == "idle") { if (mx.managers.SystemManager._xRemoveEventListener(e, o, l) == 0) { clearInterval(mx.managers.SystemManager.interval); } } else { mx.managers.SystemManager._xRemoveEventListener(e, o, l); } } static function onMouseDown(Void) { mx.managers.SystemManager.idleFrames = 0; mx.managers.SystemManager.isMouseDown = true; var _local5 = _root; var _local3; var _local8 = _root._xmouse; var _local7 = _root._ymouse; if (mx.managers.SystemManager.form.modalWindow == undefined) { if (mx.managers.SystemManager.forms.length > 1) { var _local6 = mx.managers.SystemManager.forms.length; var _local4; _local4 = 0; while (_local4 < _local6) { var _local2 = mx.managers.SystemManager.forms[_local4]; if (_local2._visible) { if (_local2.hitTest(_local8, _local7)) { if (_local3 == undefined) { _local3 = _local2.getDepth(); _local5 = _local2; } else if (_local3 < _local2.getDepth()) { _local3 = _local2.getDepth(); _local5 = _local2; } } } _local4++; } if (_local5 != mx.managers.SystemManager.form) { mx.managers.SystemManager.activate(_local5); } } } var _local9 = mx.managers.SystemManager.form; _local9.focusManager._onMouseDown(); } static function onMouseMove(Void) { mx.managers.SystemManager.idleFrames = 0; } static function onMouseUp(Void) { mx.managers.SystemManager.isMouseDown = false; mx.managers.SystemManager.idleFrames = 0; } static function activate(f) { if (mx.managers.SystemManager.form != undefined) { if ((mx.managers.SystemManager.form != f) && (mx.managers.SystemManager.forms.length > 1)) { var _local1 = mx.managers.SystemManager.form; _local1.focusManager.deactivate(); } } mx.managers.SystemManager.form = f; f.focusManager.activate(); } static function deactivate(f) { if (mx.managers.SystemManager.form != undefined) { if ((mx.managers.SystemManager.form == f) && (mx.managers.SystemManager.forms.length > 1)) { var _local5 = mx.managers.SystemManager.form; _local5.focusManager.deactivate(); var _local3 = mx.managers.SystemManager.forms.length; var _local1; var _local2; _local1 = 0; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1] == f) { _local1 = _local1 + 1; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1]._visible == true) { _local2 = mx.managers.SystemManager.forms[_local1]; } _local1++; } mx.managers.SystemManager.form = _local2; break; } if (mx.managers.SystemManager.forms[_local1]._visible == true) { _local2 = mx.managers.SystemManager.forms[_local1]; } _local1++; } _local5 = mx.managers.SystemManager.form; _local5.focusManager.activate(); } } } static function addFocusManager(f) { mx.managers.SystemManager.forms.push(f); mx.managers.SystemManager.activate(f); } static function removeFocusManager(f) { var _local3 = mx.managers.SystemManager.forms.length; var _local1; _local1 = 0; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1] == f) { if (mx.managers.SystemManager.form == f) { mx.managers.SystemManager.deactivate(f); } mx.managers.SystemManager.forms.splice(_local1, 1); return(undefined); } _local1++; } } static function enableOverlappedWindows() { if (!initialized) { initialized = true; mx.managers.SystemManager.checkIdle = checkIdle; mx.managers.SystemManager.__addEventListener = __addEventListener; mx.managers.SystemManager.__removeEventListener = __removeEventListener; mx.managers.SystemManager.onMouseDown = onMouseDown; mx.managers.SystemManager.onMouseMove = onMouseMove; mx.managers.SystemManager.onMouseUp = onMouseUp; mx.managers.SystemManager.activate = activate; mx.managers.SystemManager.deactivate = deactivate; mx.managers.SystemManager.addFocusManager = addFocusManager; mx.managers.SystemManager.removeFocusManager = removeFocusManager; } } static var initialized = false; static var SystemManagerDependency = mx.managers.SystemManager; }Symbol 119 MovieClip [__Packages.mx.styles.CSSSetStyle] Frame 0class mx.styles.CSSSetStyle { var styleName, stylecache, _color, setColor, invalidateStyle; function CSSSetStyle () { } function _setStyle(styleProp, newValue) { this[styleProp] = newValue; if (mx.styles.StyleManager.TextStyleMap[styleProp] != undefined) { if (styleProp == "color") { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } } _level0.changeTextStyleInChildren(styleProp); return(undefined); } if (mx.styles.StyleManager.isColorStyle(styleProp)) { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } if (styleProp == "themeColor") { var _local7 = mx.styles.StyleManager.colorNames.haloBlue; var _local6 = mx.styles.StyleManager.colorNames.haloGreen; var _local8 = mx.styles.StyleManager.colorNames.haloOrange; var _local4 = {}; _local4[_local7] = 12188666 /* 0xB9FBFA */; _local4[_local6] = 13500353 /* 0xCDFFC1 */; _local4[_local8] = 16766319 /* 0xFFD56F */; var _local5 = {}; _local5[_local7] = 13958653 /* 0xD4FDFD */; _local5[_local6] = 14942166 /* 0xE3FFD6 */; _local5[_local8] = 16772787 /* 0xFFEEB3 */; var _local9 = _local4[newValue]; var _local10 = _local5[newValue]; if (_local9 == undefined) { _local9 = newValue; } if (_local10 == undefined) { _local10 = newValue; } setStyle("selectionColor", _local9); setStyle("rollOverColor", _local10); } _level0.changeColorStyleInChildren(styleName, styleProp, newValue); } else { if ((styleProp == "backgroundColor") && (isNaN(newValue))) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } _level0.notifyStyleChangeInChildren(styleName, styleProp, newValue); } } function changeTextStyleInChildren(styleProp) { var _local4 = getTimer(); var _local5; for (_local5 in this) { var _local2 = this[_local5]; if (_local2._parent == this) { if (_local2.searchKey != _local4) { if (_local2.stylecache != undefined) { delete _local2.stylecache.tf; delete _local2.stylecache[styleProp]; } _local2.invalidateStyle(styleProp); _local2.changeTextStyleInChildren(styleProp); _local2.searchKey = _local4; } } } } function changeColorStyleInChildren(sheetName, colorStyle, newValue) { var _local6 = getTimer(); var _local7; for (_local7 in this) { var _local2 = this[_local7]; if (_local2._parent == this) { if (_local2.searchKey != _local6) { if (((_local2.getStyleName() == sheetName) || (sheetName == undefined)) || (sheetName == "_global")) { if (_local2.stylecache != undefined) { delete _local2.stylecache[colorStyle]; } if (typeof(_local2._color) == "string") { if (_local2._color == colorStyle) { var _local4 = _local2.getStyle(colorStyle); if (colorStyle == "color") { if (stylecache.tf.color != undefined) { stylecache.tf.color = _local4; } } _local2.setColor(_local4); } } else if (_local2._color[colorStyle] != undefined) { if (typeof(_local2) != "movieclip") { _local2._parent.invalidateStyle(); } else { _local2.invalidateStyle(colorStyle); } } } _local2.changeColorStyleInChildren(sheetName, colorStyle, newValue); _local2.searchKey = _local6; } } } } function notifyStyleChangeInChildren(sheetName, styleProp, newValue) { var _local5 = getTimer(); var _local6; for (_local6 in this) { var _local2 = this[_local6]; if (_local2._parent == this) { if (_local2.searchKey != _local5) { if (((_local2.styleName == sheetName) || ((_local2.styleName != undefined) && (typeof(_local2.styleName) == "movieclip"))) || (sheetName == undefined)) { if (_local2.stylecache != undefined) { delete _local2.stylecache[styleProp]; delete _local2.stylecache.tf; } delete _local2.enabledColor; _local2.invalidateStyle(styleProp); } _local2.notifyStyleChangeInChildren(sheetName, styleProp, newValue); _local2.searchKey = _local5; } } } } function setStyle(styleProp, newValue) { if (stylecache != undefined) { delete stylecache[styleProp]; delete stylecache.tf; } this[styleProp] = newValue; if (mx.styles.StyleManager.isColorStyle(styleProp)) { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } if (styleProp == "themeColor") { var _local10 = mx.styles.StyleManager.colorNames.haloBlue; var _local9 = mx.styles.StyleManager.colorNames.haloGreen; var _local11 = mx.styles.StyleManager.colorNames.haloOrange; var _local6 = {}; _local6[_local10] = 12188666 /* 0xB9FBFA */; _local6[_local9] = 13500353 /* 0xCDFFC1 */; _local6[_local11] = 16766319 /* 0xFFD56F */; var _local7 = {}; _local7[_local10] = 13958653 /* 0xD4FDFD */; _local7[_local9] = 14942166 /* 0xE3FFD6 */; _local7[_local11] = 16772787 /* 0xFFEEB3 */; var _local12 = _local6[newValue]; var _local13 = _local7[newValue]; if (_local12 == undefined) { _local12 = newValue; } if (_local13 == undefined) { _local13 = newValue; } setStyle("selectionColor", _local12); setStyle("rollOverColor", _local13); } if (typeof(_color) == "string") { if (_color == styleProp) { if (styleProp == "color") { if (stylecache.tf.color != undefined) { stylecache.tf.color = newValue; } } setColor(newValue); } } else if (_color[styleProp] != undefined) { invalidateStyle(styleProp); } changeColorStyleInChildren(undefined, styleProp, newValue); } else { if ((styleProp == "backgroundColor") && (isNaN(newValue))) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } invalidateStyle(styleProp); } if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (styleProp == "styleName")) { var _local8; var _local5 = newValue; if (styleProp == "styleName") { _local8 = ((typeof(newValue) == "string") ? (_global.styles[newValue]) : (_local5)); _local5 = _local8.themeColor; if (_local5 != undefined) { _local8.rollOverColor = (_local8.selectionColor = _local5); } } notifyStyleChangeInChildren(undefined, styleProp, newValue); } } static function enableRunTimeCSS() { } static function classConstruct() { var _local2 = MovieClip.prototype; var _local3 = mx.styles.CSSSetStyle.prototype; mx.styles.CSSStyleDeclaration.prototype.setStyle = _local3._setStyle; _local2.changeTextStyleInChildren = _local3.changeTextStyleInChildren; _local2.changeColorStyleInChildren = _local3.changeColorStyleInChildren; _local2.notifyStyleChangeInChildren = _local3.notifyStyleChangeInChildren; _local2.setStyle = _local3.setStyle; _global.ASSetPropFlags(_local2, "changeTextStyleInChildren", 1); _global.ASSetPropFlags(_local2, "changeColorStyleInChildren", 1); _global.ASSetPropFlags(_local2, "notifyStyleChangeInChildren", 1); _global.ASSetPropFlags(_local2, "setStyle", 1); var _local4 = TextField.prototype; _local4.setStyle = _local2.setStyle; _local4.changeTextStyleInChildren = _local3.changeTextStyleInChildren; return(true); } static var classConstructed = classConstruct(); static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration; }Symbol 120 MovieClip [__Packages.mx.core.ext.UIComponentExtensions] Frame 0class mx.core.ext.UIComponentExtensions { function UIComponentExtensions () { } static function Extensions() { if (bExtended == true) { return(true); } bExtended = true; TextField.prototype.setFocus = function () { Selection.setFocus(this); }; TextField.prototype.onSetFocus = function (oldFocus) { if (this.tabEnabled != false) { if (this.getFocusManager().bDrawFocus) { this.drawFocus(true); } } }; TextField.prototype.onKillFocus = function (oldFocus) { if (this.tabEnabled != false) { this.drawFocus(false); } }; TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus; TextField.prototype.getFocusManager = mx.core.UIComponent.prototype.getFocusManager; mx.managers.OverlappedWindows.enableOverlappedWindows(); mx.styles.CSSSetStyle.enableRunTimeCSS(); mx.managers.FocusManager.enableFocusManagement(); } static var bExtended = false; static var UIComponentExtended = Extensions(); static var UIComponentDependency = mx.core.UIComponent; static var FocusManagerDependency = mx.managers.FocusManager; static var OverlappedWindowsDependency = mx.managers.OverlappedWindows; }Symbol 122 MovieClip [__Packages.mx.skins.halo.RectBorder] Frame 0class mx.skins.halo.RectBorder extends mx.skins.RectBorder { var offset, getStyle, borderStyleName, __borderMetrics, className, borderColorName, backgroundColorName, shadowColorName, highlightColorName, buttonColorName, __get__width, __get__height, clear, _color, drawRoundRect, beginFill, drawRect, endFill; function RectBorder () { super(); } function init(Void) { borderWidths.default = 3; super.init(); } function getBorderMetrics(Void) { if (offset == undefined) { var _local3 = getStyle(borderStyleName); offset = borderWidths[_local3]; } if ((getStyle(borderStyleName) == "default") || (getStyle(borderStyleName) == "alert")) { __borderMetrics = {left:3, top:1, right:3, bottom:3}; return(__borderMetrics); } return(super.getBorderMetrics()); } function drawBorder(Void) { var _local6 = _global.styles[className]; if (_local6 == undefined) { _local6 = _global.styles.RectBorder; } var _local5 = getStyle(borderStyleName); var _local7 = getStyle(borderColorName); if (_local7 == undefined) { _local7 = _local6[borderColorName]; } var _local8 = getStyle(backgroundColorName); if (_local8 == undefined) { _local8 = _local6[backgroundColorName]; } var _local16 = getStyle("backgroundImage"); if (_local5 != "none") { var _local14 = getStyle(shadowColorName); if (_local14 == undefined) { _local14 = _local6[shadowColorName]; } var _local13 = getStyle(highlightColorName); if (_local13 == undefined) { _local13 = _local6[highlightColorName]; } var _local12 = getStyle(buttonColorName); if (_local12 == undefined) { _local12 = _local6[buttonColorName]; } var _local11 = getStyle(borderCapColorName); if (_local11 == undefined) { _local11 = _local6[borderCapColorName]; } var _local10 = getStyle(shadowCapColorName); if (_local10 == undefined) { _local10 = _local6[shadowCapColorName]; } } offset = borderWidths[_local5]; var _local9 = offset; var _local3 = __get__width(); var _local4 = __get__height(); clear(); _color = undefined; if (_local5 == "none") { } else if (_local5 == "inset") { _color = colorList; draw3dBorder(_local11, _local12, _local7, _local13, _local14, _local10); } else if (_local5 == "outset") { _color = colorList; draw3dBorder(_local11, _local7, _local12, _local14, _local13, _local10); } else if (_local5 == "alert") { var _local15 = getStyle("themeColor"); drawRoundRect(0, 5, _local3, _local4 - 5, 5, 6184542, 10); drawRoundRect(1, 4, _local3 - 2, _local4 - 5, 4, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, _local15, 50); drawRoundRect(3, 1, _local3 - 6, _local4 - 4, 2, 16777215, 100); } else if (_local5 == "default") { drawRoundRect(0, 5, _local3, _local4 - 5, {tl:5, tr:5, br:0, bl:0}, 6184542, 10); drawRoundRect(1, 4, _local3 - 2, _local4 - 5, {tl:4, tr:4, br:0, bl:0}, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, {tl:3, tr:3, br:0, bl:0}, [12897484, 11844796], 100, 0, "radial"); drawRoundRect(3, 1, _local3 - 6, _local4 - 4, {tl:2, tr:2, br:0, bl:0}, 16777215, 100); } else if (_local5 == "dropDown") { drawRoundRect(0, 0, _local3 + 1, _local4, {tl:4, tr:0, br:0, bl:4}, [13290186, 7895160], 100, -10, "linear"); drawRoundRect(1, 1, _local3 - 1, _local4 - 2, {tl:3, tr:0, br:0, bl:3}, 16777215, 100); } else if (_local5 == "menuBorder") { var _local15 = getStyle("themeColor"); drawRoundRect(4, 4, _local3 - 2, _local4 - 3, 0, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(4, 4, _local3 - 1, _local4 - 2, 0, 6184542, 10); drawRoundRect(0, 0, _local3 + 1, _local4, 0, [0, 14342874], 100, 250, "linear"); drawRoundRect(0, 0, _local3 + 1, _local4, 0, _local15, 50); drawRoundRect(2, 2, _local3 - 3, _local4 - 4, 0, 16777215, 100); } else if (_local5 == "comboNonEdit") { } else { beginFill(_local7); drawRect(0, 0, _local3, _local4); drawRect(1, 1, _local3 - 1, _local4 - 1); endFill(); _color = borderColorName; } if (_local8 != undefined) { beginFill(_local8); drawRect(_local9, _local9, __get__width() - _local9, __get__height() - _local9); endFill(); } } function draw3dBorder(c1, c2, c3, c4, c5, c6) { var _local3 = __get__width(); var _local2 = __get__height(); beginFill(c1); drawRect(0, 0, _local3, _local2); drawRect(1, 0, _local3 - 1, _local2); endFill(); beginFill(c2); drawRect(1, 0, _local3 - 1, 1); endFill(); beginFill(c3); drawRect(1, _local2 - 1, _local3 - 1, _local2); endFill(); beginFill(c4); drawRect(1, 1, _local3 - 1, 2); endFill(); beginFill(c5); drawRect(1, _local2 - 2, _local3 - 1, _local2 - 1); endFill(); beginFill(c6); drawRect(1, 2, _local3 - 1, _local2 - 2); drawRect(2, 2, _local3 - 2, _local2 - 2); endFill(); } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.styles.rectBorderClass = mx.skins.halo.RectBorder; _global.skinRegistry.RectBorder = true; return(true); } static var symbolName = "RectBorder"; static var symbolOwner = mx.skins.halo.RectBorder; static var version = "2.0.2.126"; var borderCapColorName = "borderCapColor"; var shadowCapColorName = "shadowCapColor"; var colorList = {highlightColor:0, borderColor:0, buttonColor:0, shadowColor:0, borderCapColor:0, shadowCapColor:0}; var borderWidths = {none:0, solid:1, inset:2, outset:2, alert:3, dropDown:2, menuBorder:2, comboNonEdit:2}; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }Symbol 123 MovieClip [__Packages.mx.skins.halo.ButtonSkin] Frame 0class mx.skins.halo.ButtonSkin extends mx.skins.RectBorder { var __get__width, __get__height, getStyle, _parent, clear, drawRoundRect, __get__x, __get__y; function ButtonSkin () { super(); } function init() { super.init(); } function size() { drawHaloRect(__get__width(), __get__height()); } function drawHaloRect(w, h) { var _local6 = getStyle("borderStyle"); var _local4 = getStyle("themeColor"); var _local5 = _parent.emphasized; clear(); switch (_local6) { case "falseup" : if (_local5) { drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 75); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 85, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 75); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); } else { drawRoundRect(0, 0, w, h, 5, 9542041, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, [13291985, 16250871], 100, 0, "radial"); drawRoundRect(2, 2, w - 4, h - 4, 3, [9542041, 13818586], 100, 0, "radial"); drawRoundRect(3, 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(3, 4, w - 6, h - 7, 2, 16316664, 100); } break; case "falsedown" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20); break; case "falserollover" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 50); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); break; case "falsedisabled" : drawRoundRect(0, 0, w, h, 5, 13159628, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100); drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100); drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100); break; case "trueup" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16250871, 100); break; case "truedown" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20); break; case "truerollover" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 40); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); break; case "truedisabled" : drawRoundRect(0, 0, w, h, 5, 13159628, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100); drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100); drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.skinRegistry.ButtonSkin = true; return(true); } static var symbolName = "ButtonSkin"; static var symbolOwner = mx.skins.halo.ButtonSkin; var className = "ButtonSkin"; var backgroundColorName = "buttonColor"; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }Symbol 124 MovieClip [__Packages.mx.controls.HScrollBar] Frame 0class mx.controls.HScrollBar extends mx.controls.scrollClasses.ScrollBar { var _minHeight, _minWidth, _xscale, _rotation, __width, scrollIt; function HScrollBar () { super(); } function getMinWidth(Void) { return(_minHeight); } function getMinHeight(Void) { return(_minWidth); } function init(Void) { super.init(); _xscale = -100; _rotation = -90; } function get virtualHeight() { return(__width); } function isScrollBarKey(k) { if (k == 37) { scrollIt("Line", -1); return(true); } if (k == 39) { scrollIt("Line", 1); return(true); } return(super.isScrollBarKey(k)); } static var symbolName = "HScrollBar"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.2.126"; var className = "HScrollBar"; var minusMode = "Left"; var plusMode = "Right"; var minMode = "AtLeft"; var maxMode = "AtRight"; }Symbol 125 MovieClip [__Packages.mx.controls.MenuBar] Frame 0class mx.controls.MenuBar extends mx.core.UIComponent { var __menus, __menuBarItems, __labels, boundingBox_mc, invUpdateDisplay, invUpdateSize, openMenuIndex, dispatchEvent, getFocusManager, supposedToLoseFocus, background_mc, createEmptyMovieClip, createObject, setMask, __menuDataProvider, _parent, labelFunction, enabled, __height, invalidate, enableByPass, redraw, width, mask_mc, height, __width, isDown, pressFocus, releaseFocus; function MenuBar () { super(); } function init(Void) { super.init(); __menus = new Object(); __menuBarItems = new Array(); var _local3 = 0; while (_local3 < __labels.length) { addMenu(__labels[_local3]); _local3++; } boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function draw(Void) { super.draw(); if (invUpdateDisplay) { updateDisplay(invUpdateSize); } } function handleEvent(event) { var _local2 = event.type; if (_local2 == "menuHide") { if (event.menu.menuBarIndex == openMenuIndex) { __menuBarItems[openMenuIndex].setLabelBorder("none"); delete openMenuIndex; } } if (rebroadcastEvents[_local2]) { event.target = this; dispatchEvent(event); } } function onSetFocus() { super.onSetFocus(); getFocusManager().defaultPushButtonEnabled = false; } function onKillFocus() { super.onKillFocus(); getFocusManager().defaultPushButtonEnabled = true; if (supposedToLoseFocus == undefined) { getMenuAt(openMenuIndex).hide(); } delete supposedToLoseFocus; } function createChildren(Void) { super.createChildren(); if (background_mc == undefined) { createEmptyMovieClip("background_mc", 0); background_mc.createObject(menuBarBackLeftName, "bckLeft", 1); background_mc.createObject(menuBarBackRightName, "bckRight", 2); background_mc.createObject(menuBarBackMiddleName, "bckCenter", 3); } if (!_global.isLivePreview) { var _local4 = createObject("BoundingBox", "mask_mc", 10); setMask(_local4); } updateBackgroundDisplay(); } function size(Void) { super.size(); updateDisplay(true); updateBackgroundDisplay(); } function addMenu(arg1, arg2) { var _local2 = __menuDataProvider.childNodes.length; if (_local2 == undefined) { _local2 = 0; } return(addMenuAt(_local2, arg1, arg2)); } function addMenuAt(index, arg1, arg2) { if (__menuDataProvider == undefined) { __menuDataProvider = new XML(); __menuDataProvider.addEventListener("modelChanged", this); } var _local8; var _local3; var _local4 = arg1; if (arg2 != undefined) { if (arg2 instanceof XML) { _local3 = __menuDataProvider.addMenuItemAt(index, arg1); var _local2 = arg2.childNodes; while (_local2.length != 0) { _local3.addMenuItem(_local2[0]); } _local4 = undefined; } else { arg2.attributes.label = arg1; _local4 = arg2; } } if (_local4 != undefined) { _local3 = __menuDataProvider.addMenuItemAt(index, _local4); } return(insertMenuBarItem(index, _local3)); } function insertMenuBarItem(index, mdp) { var _local2 = mx.controls.Menu.createMenu(_parent._root, mdp, {styleName:this, menuBarIndex:index}); __menus[mdp.getID()] = _local2; _local2.__menuBar = this; _local2.addEventListener("menuHide", this); _local2.addEventListener("rollOver", this); _local2.addEventListener("rollOut", this); _local2.addEventListener("menuShow", this); _local2.addEventListener("change", this); _local2.border_mc.borderStyle = "menuBorder"; _local2.labelField = labelField; _local2.labelFunction = labelFunction; var _local4 = labelFunction(mdp); if (_local4 == undefined) { _local4 = mdp.attributes[labelField]; } var _local3 = createObject("MenuBarItem", "mbItem" + (topItemDepth++), topItemDepth, {owner:this, __initText:_local4, styleName:this, _visible:false}); _local3.enabled = enabled; _local3.setSize(_local3.getPreferredWidth(), __height); _local2.__activator = _local3; __menuBarItems.splice(index, 0, _local3); invUpdateDisplay = true; invalidate(); return(_local2); } function getMenuAt(index) { return(__menus[__menuDataProvider.childNodes[index].getID()]); } function removeMenuAt(index) { var _local2 = __menuDataProvider.removeMenuItemAt(index); var _local3 = __menuBarItems[index]; __menuBarItems.splice(index, 1); _local3.removeMovieClip(); var _local5 = __menus[_local2.getID()]; delete __menus[_local2.getID()]; invUpdateDisplay = true; invalidate(); return(_local5); } function setEnabled(b) { super.setEnabled(b); var _local4 = __menuBarItems.length; enableByPass = true; var _local3 = 0; while (_local3 < _local4) { __menuBarItems[_local3].enabled = b; _local3++; } delete enableByPass; } function setMenuEnabledAt(index, enable) { if ((!enabled) && (enableByPass == undefined)) { return(undefined); } __menuBarItems[index].enabled = enable; } function getMenuEnabledAt(index) { return(__menuBarItems[index].enabled); } function setDataProvider(dp) { removeAll(); __menuDataProvider = dp; dp.isTreeRoot = true; var _local3 = dp.childNodes; var _local4 = _local3.length; var _local2 = 0; while (_local2 < _local4) { insertMenuBarItem(_local2, _local3[_local2]); _local2++; } } function get dataProvider() { return(__menuDataProvider); } function set dataProvider(dp) { setDataProvider(dp); //return(dataProvider); } function get labels() { return(__labels); } function set labels(lbls) { __labels = lbls; var _local4 = __menuBarItems.length; var _local3 = __labels.length; var _local2 = 0; while (_local2 < _local4) { removeMenuAt(0); _local2++; } _local2 = 0; while (_local2 < _local3) { addMenu(__labels[_local2]); _local2++; } redraw(true); //return(labels); } function invalidateStyle(propName) { super.invalidateStyle(propName); if ((((propName == "fontFamily") || (propName == "fontSize")) || (propName == "fontWeight")) || (propName == "styleName")) { invUpdateDisplay = true; invUpdateSize = true; invalidate(); } var _local3 = 0; while (_local3 < __menuBarItems.length) { getMenuAt(_local3).invalidateStyle(propName); _local3++; } } function changeColorStyleInChildren(sheet, styleProp, newValue) { super.changeColorStyleInChildren(sheet, styleProp, newValue); var _local3 = 0; while (_local3 < __menuBarItems.length) { getMenuAt(_local3).changeColorStyleInChildren(sheet, styleProp, newValue); _local3++; } } function notifyStyleChangeInChildren(sheet, styleProp, newValue) { super.notifyStyleChangeInChildren(sheet, styleProp, newValue); var _local3 = 0; while (_local3 < __menuBarItems.length) { getMenuAt(_local3).notifyStyleChangeInChildren(sheet, styleProp, newValue); _local3++; } } function updateDisplay(resize) { delete invUpdateDisplay; delete invUpdateSize; var _local4 = __marginWidth; var _local5 = 0; var _local6 = __menuBarItems.length; var _local3 = 0; while (_local3 < _local6) { var _local2 = __menuBarItems[_local3]; _local2._visible = true; _local2.menuBarIndex = _local3; getMenuAt(_local3).menuBarIndex = _local3; if (resize) { _local2.setSize(_local2.getPreferredWidth(), __height); } _local4 = (_local2._x = _local4 + _local5); _local5 = _local2.__width; _local3++; } } function updateBackgroundDisplay() { mask_mc._width = width; mask_mc._height = height; var _local2 = background_mc; _local2._height = __height; _local2.bckLeft._x = 0; var _local3 = _local2.bckLeft._width; _local2.bckCenter._width = __width - (_local3 + _local2.bckRight._width); _local2.bckCenter._x = _local3; _local2.bckRight._x = _local3 + _local2.bckCenter._width; } function showMenu(index) { openMenuIndex = index; var _local3 = __menuBarItems[index]; var _local6 = _local3.dP; if (__menus[_local6.getID()] == undefined) { var _local2 = mx.controls.Menu.createMenu(_parent._root, _local6, {styleName:this, menuBarIndex:index}); __menus[_local6.getID()] = _local2; _local2.__menuBar = this; _local2.addEventListener("menuHide", this); _local2.addEventListener("rollOver", this); _local2.addEventListener("rollOut", this); _local2.addEventListener("menuShow", this); _local2.addEventListener("change", this); _local2.border_mc.borderStyle = "menuBorder"; _local2.labelField = labelField; _local2.labelFunction = labelFunction; _local2.__activator = _local3; } var _local4 = {x:0, y:0}; _local3.setLabelBorder("falsedown"); _local3.localToGlobal(_local4); var _local5 = getMenuAt(index); _local5._root.globalToLocal(_local4); _local5.focusManager.lastFocus = undefined; _local5.show(_local4.x, _local4.y + (_local3._height + 1)); } function removeMenuBarItemAt(index) { var _local2 = __menuBarItems[index]; var _local3 = _local2.__menu; if (_local2 != undefined) { _local3.removeMovieClip(); _local2.removeMovieClip(); __menuBarItems.splice(index, 1); updateDisplay(false); } } function removeAll() { while (__menuBarItems.length > 0) { var _local2 = __menuBarItems[0]; var _local3 = _local2.__menu; _local3.removeMovieClip(); _local2.removeMovieClip(); __menuBarItems.splice(0, 1); } updateDisplay(false); } function onItemRollOver(index) { var _local3 = __menuBarItems[index]; if (openMenuIndex != undefined) { var _local2 = openMenuIndex; if (_local2 != index) { isDown = false; var _local4 = __menuBarItems[_local2]; onItemRelease(_local2); _local4.setLabelBorder("none"); showMenu(index); isDown = true; } } else { _local3.setLabelBorder("falserollover"); isDown = false; } } function onItemPress(index) { var _local2 = __menuBarItems[index]; if (!isDown) { showMenu(index); isDown = true; } else { _local2.setLabelBorder("falsedown"); isDown = false; } pressFocus(); } function onItemRelease(index) { var _local2 = __menuBarItems[index]; if (!isDown) { getMenuAt(index).hide(); _local2.setLabelBorder("falserollover"); } releaseFocus(); } function onItemRollOut(index) { if (openMenuIndex != index) { __menuBarItems[index].setLabelBorder("none"); } } function onItemDragOver(index) { var _local5 = __menuBarItems[index]; if (openMenuIndex != undefined) { var _local2 = openMenuIndex; if (_local2 != index) { isDown = false; var _local3 = __menuBarItems[_local2]; onItemRelease(_local2); _local3.setLabelBorder("none"); } } else { isDown = true; } onItemPress(index); } function onItemDragOut(index) { onItemRollOut(index); } function keyDown(e) { var _local3 = __menuBarItems.length; var _local8; if ((e.code == 39) || (e.code == 37)) { if (openMenuIndex == undefined) { openMenuIndex = -1; } var _local2 = openMenuIndex; var _local5 = false; var _local4 = 0; while ((!_local5) && (_local4 < _local3)) { _local4++; _local2 = ((e.code == 39) ? (_local2 + 1) : (_local2 - 1)); if (_local2 >= _local3) { _local2 = 0; } else if (_local2 < 0) { _local2 = _local3 - 1; } if (__menuBarItems[_local2].enabled) { _local5 = true; } } if (_local4 <= _local3) { onItemRollOver(_local2); } } if (Key.isDown(40)) { if (openMenuIndex != undefined) { var _local7 = getMenuAt(openMenuIndex); _local7.focusEnabled = true; _local7.moveSelBy(1); supposedToLoseFocus = true; Selection.setFocus(_local7); } } if (Key.isDown(13) || (Key.isDown(27))) { getMenuAt(openMenuIndex).hide(); } } static var symbolName = "MenuBar"; static var symbolOwner = mx.controls.MenuBar; static var version = "2.0.2.126"; var className = "MenuBar"; static var _s_MenuIndex = 0; var topItemDepth = 200; var menuBarBackLeftName = "MenuBarBackLeft"; var menuBarBackRightName = "MenuBarBackRight"; var menuBarBackMiddleName = "MenuBarBackMiddle"; var __backgroundWidth = 550; var __marginWidth = 10; var tabChildren = false; var labelField = "label"; var clipParameters = {enabled:1, visible:1, labels:1, minWidth:1, minHeight:1}; var rebroadcastEvents = {menuHide:1, menuShow:1, rollOver:1, rollOut:1, change:1}; }Symbol 164 MovieClip [__Packages.mx.controls.listclasses.DataSelector] Frame 0class mx.controls.listclasses.DataSelector extends Object { var __vPosition, setVPosition, __dataProvider, enabled, lastSelID, lastSelected, selected, invUpdateControl, invalidate, multipleSelection, updateControl, __rowCount, rows; function DataSelector () { super(); } static function Initialize(obj) { var _local3 = mixinProps; var _local4 = _local3.length; obj = obj.prototype; var _local1 = 0; while (_local1 < _local4) { obj[_local3[_local1]] = mixins[_local3[_local1]]; _local1++; } mixins.createProp(obj, "dataProvider", true); mixins.createProp(obj, "length", false); mixins.createProp(obj, "value", false); mixins.createProp(obj, "selectedIndex", true); mixins.createProp(obj, "selectedIndices", true); mixins.createProp(obj, "selectedItems", false); mixins.createProp(obj, "selectedItem", true); return(true); } function createProp(obj, propName, setter) { var p = (propName.charAt(0).toUpperCase() + propName.substr(1)); var _local2 = null; var _local4 = function (Void) { return(this["get" + p]()); }; if (setter) { _local2 = function (val) { this["set" + p](val); }; } obj.addProperty(propName, _local4, _local2); } function setDataProvider(dP) { if (__vPosition != 0) { setVPosition(0); } clearSelected(); __dataProvider.removeEventListener(this); __dataProvider = dP; dP.addEventListener("modelChanged", this); dP.addView(this); modelChanged({eventName:"updateAll"}); } function getDataProvider(Void) { return(__dataProvider); } function addItemAt(index, label, data) { if ((index < 0) || (!enabled)) { return(undefined); } var _local2 = __dataProvider; if (_local2 == undefined) { _local2 = (__dataProvider = new Array()); _local2.addEventListener("modelChanged", this); index = 0; } if ((typeof(label) == "object") || (typeof(_local2.getItemAt(0)) == "string")) { _local2.addItemAt(index, label); } else { _local2.addItemAt(index, {label:label, data:data}); } } function addItem(label, data) { addItemAt(__dataProvider.length, label, data); } function removeItemAt(index) { return(__dataProvider.removeItemAt(index)); } function removeAll(Void) { __dataProvider.removeAll(); } function replaceItemAt(index, newLabel, newData) { if (typeof(newLabel) == "object") { __dataProvider.replaceItemAt(index, newLabel); } else { __dataProvider.replaceItemAt(index, {label:newLabel, data:newData}); } } function sortItemsBy(fieldName, order) { lastSelID = __dataProvider.getItemID(lastSelected); __dataProvider.sortItemsBy(fieldName, order); } function sortItems(compareFunc, order) { lastSelID = __dataProvider.getItemID(lastSelected); __dataProvider.sortItems(compareFunc, order); } function getLength(Void) { return(__dataProvider.length); } function getItemAt(index) { return(__dataProvider.getItemAt(index)); } function modelChanged(eventObj) { var _local3 = eventObj.firstItem; var _local6 = eventObj.lastItem; var _local7 = eventObj.eventName; if (_local7 == undefined) { _local7 = eventObj.event; _local3 = eventObj.firstRow; _local6 = eventObj.lastRow; if (_local7 == "addRows") { _local7 = (eventObj.eventName = "addItems"); } else if (_local7 == "deleteRows") { _local7 = (eventObj.eventName = "removeItems"); } else if (_local7 == "updateRows") { _local7 = (eventObj.eventName = "updateItems"); } } if (_local7 == "addItems") { for (var _local2 in selected) { var _local5 = selected[_local2]; if ((_local5 != undefined) && (_local5 >= _local3)) { selected[_local2] = selected[_local2] + ((_local6 - _local3) + 1); } } } else if (_local7 == "removeItems") { if (__dataProvider.length == 0) { delete selected; } else { var _local9 = eventObj.removedIDs; var _local10 = _local9.length; var _local2 = 0; while (_local2 < _local10) { var _local4 = _local9[_local2]; if (selected[_local4] != undefined) { delete selected[_local4]; } _local2++; } for (_local2 in selected) { if (selected[_local2] >= _local3) { selected[_local2] = selected[_local2] - ((_local6 - _local3) + 1); } } } } else if (_local7 == "sort") { if (typeof(__dataProvider.getItemAt(0)) != "object") { delete selected; } else { var _local10 = __dataProvider.length; var _local2 = 0; while (_local2 < _local10) { if (isSelected(_local2)) { var _local4 = __dataProvider.getItemID(_local2); if (_local4 == lastSelID) { lastSelected = _local2; } selected[_local4] = _local2; } _local2++; } } } else if (_local7 == "filterModel") { setVPosition(0); } invUpdateControl = true; invalidate(); } function getValue(Void) { var _local2 = getSelectedItem(); if (typeof(_local2) != "object") { return(_local2); } return(((_local2.data == undefined) ? (_local2.label) : (_local2.data))); } function getSelectedIndex(Void) { for (var _local3 in selected) { var _local2 = selected[_local3]; if (_local2 != undefined) { return(_local2); } } } function setSelectedIndex(index) { if (((index >= 0) && (index < __dataProvider.length)) && (enabled)) { delete selected; selectItem(index, true); lastSelected = index; invUpdateControl = true; invalidate(); } else if (index == undefined) { clearSelected(); } } function getSelectedIndices(Void) { var _local2 = new Array(); for (var _local3 in selected) { _local2.push(selected[_local3]); } _local2.reverse(); return(((_local2.length > 0) ? (_local2) : undefined)); } function setSelectedIndices(indexArray) { if (multipleSelection != true) { return(undefined); } delete selected; var _local3 = 0; while (_local3 < indexArray.length) { var _local2 = indexArray[_local3]; if ((_local2 >= 0) && (_local2 < __dataProvider.length)) { selectItem(_local2, true); } _local3++; } invUpdateControl = true; updateControl(); } function getSelectedItems(Void) { var _local3 = getSelectedIndices(); var _local4 = new Array(); var _local2 = 0; while (_local2 < _local3.length) { _local4.push(getItemAt(_local3[_local2])); _local2++; } return(((_local4.length > 0) ? (_local4) : undefined)); } function getSelectedItem(Void) { return(__dataProvider.getItemAt(getSelectedIndex())); } function selectItem(index, selectedFlag) { if (selected == undefined) { selected = new Object(); } var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } if (selectedFlag && (!isSelected(index))) { selected[_local2] = index; } else if (!selectedFlag) { delete selected[_local2]; } } function isSelected(index) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(false); } return(selected[_local2] != undefined); } function clearSelected(transition) { var _local3 = 0; for (var _local4 in selected) { var _local2 = selected[_local4]; if (((_local2 != undefined) && (__vPosition <= _local2)) && (_local2 < (__vPosition + __rowCount))) { rows[_local2 - __vPosition].drawRow(rows[_local2 - __vPosition].item, "normal", transition && ((_local3 % 3) == 0)); } _local3++; } delete selected; } static var mixins = new mx.controls.listclasses.DataSelector(); static var mixinProps = ["setDataProvider", "getDataProvider", "addItem", "addItemAt", "removeAll", "removeItemAt", "replaceItemAt", "sortItemsBy", "sortItems", "getLength", "getItemAt", "modelChanged", "calcPreferredWidthFromData", "calcPreferredHeightFromData", "getValue", "getSelectedIndex", "getSelectedItem", "getSelectedIndices", "getSelectedItems", "selectItem", "isSelected", "clearSelected", "setSelectedIndex", "setSelectedIndices"]; }Symbol 165 MovieClip [__Packages.mx.controls.listclasses.DataProvider] Frame 0class mx.controls.listclasses.DataProvider extends Object { var length, splice, dispatchEvent, sortOn, reverse, sort; function DataProvider (obj) { super(); } static function Initialize(obj) { var _local4 = mixinProps; var _local6 = _local4.length; obj = obj.prototype; var _local3 = 0; while (_local3 < _local6) { obj[_local4[_local3]] = mixins[_local4[_local3]]; _global.ASSetPropFlags(obj, _local4[_local3], 1); _local3++; } mx.events.EventDispatcher.initialize(obj); _global.ASSetPropFlags(obj, "addEventListener", 1); _global.ASSetPropFlags(obj, "removeEventListener", 1); _global.ASSetPropFlags(obj, "dispatchEvent", 1); _global.ASSetPropFlags(obj, "dispatchQueue", 1); Object.prototype.LargestID = 0; Object.prototype.getID = function () { if (this.__ID__ == undefined) { this.__ID__ = Object.prototype.LargestID++; _global.ASSetPropFlags(this, "__ID__", 1); } return(this.__ID__); }; _global.ASSetPropFlags(Object.prototype, "LargestID", 1); _global.ASSetPropFlags(Object.prototype, "getID", 1); return(true); } function addItemAt(index, value) { if (index < length) { splice(index, 0, value); } else if (index > length) { trace("Cannot add an item past the end of the DataProvider"); return(undefined); } this[index] = value; updateViews("addItems", index, index); } function addItem(value) { addItemAt(length, value); } function addItemsAt(index, newItems) { index = Math.min(length, index); newItems.unshift(index, 0); splice.apply(this, newItems); newItems.splice(0, 2); updateViews("addItems", index, (index + newItems.length) - 1); } function removeItemsAt(index, len) { var _local3 = new Array(); var _local2 = 0; while (_local2 < len) { _local3.push(getItemID(index + _local2)); _local2++; } var _local6 = splice(index, len); dispatchEvent({type:"modelChanged", eventName:"removeItems", firstItem:index, lastItem:(index + len) - 1, removedItems:_local6, removedIDs:_local3}); } function removeItemAt(index) { var _local2 = this[index]; removeItemsAt(index, 1); return(_local2); } function removeAll(Void) { splice(0); updateViews("removeItems", 0, length - 1); } function replaceItemAt(index, itemObj) { if ((index < 0) || (index >= length)) { return(undefined); } var _local3 = getItemID(index); this[index] = itemObj; this[index].__ID__ = _local3; updateViews("updateItems", index, index); } function getItemAt(index) { return(this[index]); } function getItemID(index) { var _local2 = this[index]; if ((typeof(_local2) != "object") && (_local2 != undefined)) { return(index); } return(_local2.getID()); } function sortItemsBy(fieldName, order) { if (typeof(order) == "string") { sortOn(fieldName); if (order.toUpperCase() == "DESC") { reverse(); } } else { sortOn(fieldName, order); } updateViews("sort"); } function sortItems(compareFunc, optionFlags) { sort(compareFunc, optionFlags); updateViews("sort"); } function editField(index, fieldName, newData) { this[index][fieldName] = newData; dispatchEvent({type:"modelChanged", eventName:"updateField", firstItem:index, lastItem:index, fieldName:fieldName}); } function getEditingData(index, fieldName) { return(this[index][fieldName]); } function updateViews(event, first, last) { dispatchEvent({type:"modelChanged", eventName:event, firstItem:first, lastItem:last}); } static var mixinProps = ["addView", "addItem", "addItemAt", "removeAll", "removeItemAt", "replaceItemAt", "getItemAt", "getItemID", "sortItemsBy", "sortItems", "updateViews", "addItemsAt", "removeItemsAt", "getEditingData", "editField"]; static var evtDipatcher = mx.events.EventDispatcher; static var mixins = new mx.controls.listclasses.DataProvider(); }Symbol 166 MovieClip [__Packages.mx.controls.listclasses.ScrollSelectList] Frame 0class mx.controls.listclasses.ScrollSelectList extends mx.core.ScrollView { var invLayoutContent, rows, topRowZ, listContent, __dataProvider, __vPosition, tW, layoutX, layoutY, tH, invRowHeight, invalidate, __height, invUpdateControl, __cellRenderer, __labelFunction, __iconField, __iconFunction, getLength, baseRowZ, lastPosition, propertyTable, isSelected, wasKeySelected, changeFlag, clearSelected, selectItem, lastSelected, dispatchEvent, dragScrolling, _ymouse, scrollInterval, isPressed, onMouseUp, getSelectedIndex, enabled, tabEnabled, tabChildren, createEmptyMovieClip, border_mc; function ScrollSelectList () { super(); } function layoutContent(x, y, w, h) { delete invLayoutContent; var _local4 = Math.ceil(h / __rowHeight); roundUp = (h % __rowHeight) != 0; var _local12 = _local4 - __rowCount; if (_local12 < 0) { var _local3 = _local4; while (_local3 < __rowCount) { rows[_local3].removeMovieClip(); delete rows[_local3]; _local3++; } topRowZ = topRowZ + _local12; } else if (_local12 > 0) { if (rows == undefined) { rows = new Array(); } var _local3 = __rowCount; while (_local3 < _local4) { var _local2 = (rows[_local3] = listContent.createObject(__rowRenderer, "listRow" + (topRowZ++), topRowZ, {owner:this, styleName:this, rowIndex:_local3})); _local2._x = x; _local2._y = Math.round((_local3 * __rowHeight) + y); _local2.setSize(w, __rowHeight); _local2.drawRow(__dataProvider.getItemAt(__vPosition + _local3), getStateAt(__vPosition + _local3)); _local2.lastY = _local2._y; _local3++; } } if (w != tW) { var _local11 = ((_local12 > 0) ? (__rowCount) : (_local4)); var _local3 = 0; while (_local3 < _local11) { rows[_local3].setSize(w, __rowHeight); _local3++; } } if ((layoutX != x) || (layoutY != y)) { var _local3 = 0; while (_local3 < _local4) { rows[_local3]._x = x; rows[_local3]._y = Math.round((_local3 * __rowHeight) + y); _local3++; } } __rowCount = _local4; layoutX = x; layoutY = y; tW = w; tH = h; } function getRowHeight(Void) { return(__rowHeight); } function setRowHeight(v) { __rowHeight = v; invRowHeight = true; invalidate(); } function get rowHeight() { return(getRowHeight()); } function set rowHeight(w) { setRowHeight(w); //return(rowHeight); } function setRowCount(v) { __rowCount = v; } function getRowCount(Void) { var _local2 = ((__rowCount == 0) ? (Math.ceil(__height / __rowHeight)) : (__rowCount)); return(_local2); } function get rowCount() { return(getRowCount()); } function set rowCount(w) { setRowCount(w); //return(rowCount); } function setEnabled(v) { super.setEnabled(v); invUpdateControl = true; invalidate(); } function setCellRenderer(cR) { __cellRenderer = cR; var _local2 = 0; while (_local2 < rows.length) { rows[_local2].setCellRenderer(true); _local2++; } invUpdateControl = true; invalidate(); } function set cellRenderer(cR) { setCellRenderer(cR); //return(cellRenderer); } function get cellRenderer() { return(__cellRenderer); } function set labelField(field) { setLabelField(field); //return(labelField); } function setLabelField(field) { __labelField = field; invUpdateControl = true; invalidate(); } function get labelField() { return(__labelField); } function set labelFunction(func) { setLabelFunction(func); //return(labelFunction); } function setLabelFunction(func) { __labelFunction = func; invUpdateControl = true; invalidate(); } function get labelFunction() { return(__labelFunction); } function set iconField(field) { setIconField(field); //return(iconField); } function setIconField(field) { __iconField = field; invUpdateControl = true; invalidate(); } function get iconField() { return(__iconField); } function set iconFunction(func) { setIconFunction(func); //return(iconFunction); } function setIconFunction(func) { __iconFunction = func; invUpdateControl = true; invalidate(); } function get iconFunction() { return(__iconFunction); } function setVPosition(pos) { if (pos < 0) { return(undefined); } if ((pos > 0) && (pos > ((getLength() - __rowCount) + roundUp))) { return(undefined); } var _local8 = pos - __vPosition; if (_local8 == 0) { return(undefined); } __vPosition = pos; var _local10 = _local8 > 0; _local8 = Math.abs(_local8); if (_local8 >= __rowCount) { updateControl(); } else { var _local4 = new Array(); var _local9 = __rowCount - _local8; var _local12 = _local8 * __rowHeight; var _local11 = _local9 * __rowHeight; var _local6 = (_local10 ? 1 : -1); var _local3 = 0; while (_local3 < __rowCount) { if (((_local3 < _local8) && (_local10)) || ((_local3 >= _local9) && (!_local10))) { rows[_local3]._y = rows[_local3]._y + Math.round(_local6 * _local11); var _local5 = _local3 + (_local6 * _local9); var _local7 = __vPosition + _local5; _local4[_local5] = rows[_local3]; _local4[_local5].rowIndex = _local5; _local4[_local5].drawRow(__dataProvider.getItemAt(_local7), getStateAt(_local7), false); } else { rows[_local3]._y = rows[_local3]._y - Math.round(_local6 * _local12); var _local5 = _local3 - (_local6 * _local8); _local4[_local5] = rows[_local3]; _local4[_local5].rowIndex = _local5; } _local3++; } rows = _local4; _local3 = 0; while (_local3 < __rowCount) { rows[_local3].swapDepths(baseRowZ + _local3); _local3++; } } lastPosition = pos; super.setVPosition(pos); } function setPropertiesAt(index, obj) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } if (propertyTable == undefined) { propertyTable = new Object(); } propertyTable[_local2] = obj; rows[index - __vPosition].drawRow(__dataProvider.getItemAt(index), getStateAt(index)); } function getPropertiesAt(index) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } return(propertyTable[_local2]); } function getPropertiesOf(obj) { var _local2 = obj.getID(); if (_local2 == undefined) { return(undefined); } return(propertyTable[_local2]); } function getStyle(styleProp) { var _local2 = super.getStyle(styleProp); var _local3 = mx.styles.StyleManager.colorNames[_local2]; if (_local3 != undefined) { _local2 = _local3; } return(_local2); } function updateControl(Void) { var _local2 = 0; while (_local2 < __rowCount) { rows[_local2].drawRow(__dataProvider.getItemAt(_local2 + __vPosition), getStateAt(_local2 + __vPosition)); _local2++; } delete invUpdateControl; } function getStateAt(index) { return((isSelected(index) ? "selected" : "normal")); } function selectRow(rowIndex, transition, allowChangeEvent) { if (!selectable) { return(undefined); } var _local3 = __vPosition + rowIndex; var _local8 = __dataProvider.getItemAt(_local3); var _local5 = rows[rowIndex]; if (_local8 == undefined) { return(undefined); } if (transition == undefined) { transition = true; } if (allowChangeEvent == undefined) { allowChangeEvent = wasKeySelected; } changeFlag = true; if (((!multipleSelection) && (!Key.isDown(17))) || ((!Key.isDown(16)) && (!Key.isDown(17)))) { clearSelected(transition); selectItem(_local3, true); lastSelected = _local3; _local5.drawRow(_local5.item, getStateAt(_local3), transition); } else if (Key.isDown(16) && (multipleSelection)) { if (lastSelected == undefined) { lastSelected = _local3; } var _local4 = ((lastSelected < _local3) ? 1 : -1); clearSelected(false); var _local2 = lastSelected; while (_local2 != _local3) { selectItem(_local2, true); if ((_local2 >= __vPosition) && (_local2 < (__vPosition + __rowCount))) { rows[_local2 - __vPosition].drawRow(rows[_local2 - __vPosition].item, "selected", false); } _local2 = _local2 + _local4; } selectItem(_local3, true); _local5.drawRow(_local5.item, "selected", transition); } else if (Key.isDown(17)) { var _local7 = isSelected(_local3); if ((!multipleSelection) || (wasKeySelected)) { clearSelected(transition); } if (!((!multipleSelection) && (_local7))) { selectItem(_local3, !_local7); var _local9 = ((!_local7) ? "selected" : "normal"); _local5.drawRow(_local5.item, _local9, transition); } lastSelected = _local3; } if (allowChangeEvent) { dispatchEvent({type:"change"}); } delete wasKeySelected; } function dragScroll(Void) { clearInterval(dragScrolling); if (_ymouse < 0) { setVPosition(__vPosition - 1); selectRow(0, false); var _local2 = Math.min((-_ymouse) - 30, 0); scrollInterval = (((0.593 * _local2) * _local2) + 1) + minScrollInterval; dragScrolling = setInterval(this, "dragScroll", scrollInterval); dispatchEvent({type:"scroll", direction:"vertical", position:__vPosition}); } else if (_ymouse > __height) { var _local3 = __vPosition; setVPosition(__vPosition + 1); if (_local3 != __vPosition) { selectRow((__rowCount - 1) - roundUp, false); } var _local2 = Math.min((_ymouse - __height) - 30, 0); scrollInterval = (((0.593 * _local2) * _local2) + 1) + minScrollInterval; dragScrolling = setInterval(this, "dragScroll", scrollInterval); dispatchEvent({type:"scroll", direction:"vertical", position:__vPosition}); } else { dragScrolling = setInterval(this, "dragScroll", 15); } updateAfterEvent(); } function __onMouseUp(Void) { clearInterval(dragScrolling); delete dragScrolling; delete dragScrolling; delete isPressed; delete onMouseUp; if (!selectable) { return(undefined); } if (changeFlag) { dispatchEvent({type:"change"}); } delete changeFlag; } function moveSelBy(incr) { if (!selectable) { setVPosition(__vPosition + incr); return(undefined); } var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = -1; } var _local2 = _local3 + incr; _local2 = Math.max(0, _local2); _local2 = Math.min(getLength() - 1, _local2); if (_local2 == _local3) { return(undefined); } if ((_local3 < __vPosition) || (_local3 >= (__vPosition + __rowCount))) { setVPosition(_local3); } if ((_local2 >= ((__vPosition + __rowCount) - roundUp)) || (_local2 < __vPosition)) { setVPosition(__vPosition + incr); } wasKeySelected = true; selectRow(_local2 - __vPosition, false); } function keyDown(e) { if (selectable) { if (findInputText()) { return(undefined); } } if (e.code == 40) { moveSelBy(1); } else if (e.code == 38) { moveSelBy(-1); } else if (e.code == 34) { if (selectable) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = 0; } setVPosition(_local3); } moveSelBy((__rowCount - 1) - roundUp); } else if (e.code == 33) { if (selectable) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = 0; } setVPosition(_local3); } moveSelBy((1 - __rowCount) + roundUp); } else if (e.code == 36) { moveSelBy(-__dataProvider.length); } else if (e.code == 35) { moveSelBy(__dataProvider.length); } } function findInputText(Void) { var _local2 = Key.getAscii(); if ((_local2 >= 33) && (_local2 <= 126)) { findString(String.fromCharCode(_local2)); return(true); } } function findString(str) { if (__dataProvider.length == 0) { return(undefined); } var _local4 = getSelectedIndex(); if (_local4 == undefined) { _local4 = 0; } var _local6 = 0; var _local3 = _local4 + 1; while (_local3 != _local4) { var _local2 = __dataProvider.getItemAt(_local3); if (_local2 instanceof XMLNode) { _local2 = _local2.attributes[__labelField]; } else if (typeof(_local2) != "string") { _local2 = String(_local2[__labelField]); } _local2 = _local2.substring(0, str.length); if ((str == _local2) || (str.toUpperCase() == _local2.toUpperCase())) { _local6 = _local3 - _local4; break; } if (_local3 >= (getLength() - 1)) { _local3 = -1; } _local3++; } if (_local6 != 0) { moveSelBy(_local6); } } function onRowPress(rowIndex) { if (!enabled) { return(undefined); } isPressed = true; dragScrolling = setInterval(this, "dragScroll", 15); onMouseUp = __onMouseUp; if (!selectable) { return(undefined); } selectRow(rowIndex); } function onRowRelease(rowIndex) { } function onRowRollOver(rowIndex) { if (!enabled) { return(undefined); } var _local2 = rows[rowIndex].item; if (getStyle("useRollOver") && (_local2 != undefined)) { rows[rowIndex].drawRow(_local2, "highlighted", false); } dispatchEvent({type:"itemRollOver", index:rowIndex + __vPosition}); } function onRowRollOut(rowIndex) { if (!enabled) { return(undefined); } if (getStyle("useRollOver")) { rows[rowIndex].drawRow(rows[rowIndex].item, getStateAt(rowIndex + __vPosition), false); } dispatchEvent({type:"itemRollOut", index:rowIndex + __vPosition}); } function onRowDragOver(rowIndex) { if (((!enabled) || (isPressed != true)) || (!selectable)) { return(undefined); } if (dropEnabled) { } else if (dragScrolling) { selectRow(rowIndex, false); } else { onMouseUp = __onMouseUp; onRowPress(rowIndex); } } function onRowDragOut(rowIndex) { if (!enabled) { return(undefined); } if (dragEnabled) { } else { onRowRollOut(rowIndex); } } function init(Void) { super.init(); tabEnabled = true; tabChildren = false; if (__dataProvider == undefined) { __dataProvider = new Array(); __dataProvider.addEventListener("modelChanged", this); } baseRowZ = (topRowZ = 10); } function createChildren(Void) { super.createChildren(); listContent = createEmptyMovieClip("content_mc", CONTENTDEPTH); invLayoutContent = true; invalidate(); } function draw(Void) { if (invRowHeight) { delete invRowHeight; __rowCount = 0; listContent.removeMovieClip(); listContent = createEmptyMovieClip("content_mc", CONTENTDEPTH); } if (invUpdateControl) { updateControl(); } border_mc.draw(); } function invalidateStyle(propName) { if (isRowStyle[propName]) { invUpdateControl = true; invalidate(); } else { var _local3 = 0; while (_local3 < __rowCount) { rows[_local3].invalidateStyle(propName); _local3++; } } super.invalidateStyle(propName); } static var mixIt1 = mx.controls.listclasses.DataSelector.Initialize(mx.controls.listclasses.ScrollSelectList); static var mixIt2 = mx.controls.listclasses.DataProvider.Initialize(Array); var CONTENTDEPTH = 100; var __hPosition = 0; var __rowRenderer = "SelectableRow"; var __rowHeight = 22; var __rowCount = 0; var __labelField = "label"; var minScrollInterval = 30; var dropEnabled = false; var dragEnabled = false; var className = "ScrollSelectList"; var isRowStyle = {styleName:true, backgroundColor:true, selectionColor:true, rollOverColor:true, selectionDisabledColor:true, backgroundDisabledColor:true, textColor:true, textSelectedColor:true, textRollOverColor:true, textDisabledColor:true, alternatingRowColors:true, defaultIcon:true}; var roundUp = 0; var selectable = true; var multipleSelection = false; }Symbol 167 MovieClip [__Packages.mx.controls.treeclasses.TreeDataProvider] Frame 0class mx.controls.treeclasses.TreeDataProvider extends Object { var childNodes, appendChild, insertBefore, parentNode, removeNode; function TreeDataProvider () { super(); } static function Initialize(obj) { obj = obj.prototype; if (obj.addTreeNode != undefined) { return(false); } var _local4 = mixinProps; var _local5 = _local4.length; var _local2 = 0; while (_local2 < _local5) { obj[_local4[_local2]] = mixins[_local4[_local2]]; _global.ASSetPropFlags(obj, _local4[_local2], 1); _local2++; } mx.events.EventDispatcher.initialize(obj); _global.ASSetPropFlags(obj, "addEventListener", 1); _global.ASSetPropFlags(obj, "removeEventListener", 1); _global.ASSetPropFlags(obj, "dispatchEvent", 1); _global.ASSetPropFlags(obj, "dispatchQueue", 1); _global.ASSetPropFlags(obj, "createEvent", 1); return(true); } function createProp(obj, propName, setter) { var p = (propName.charAt(0).toUpperCase() + propName.substr(1)); var _local2 = null; var _local4 = function (Void) { return(this["get" + p]()); }; if (setter) { _local2 = function (val) { this["set" + p](val); }; } obj.addProperty(propName, _local4, _local2); } static function convertToNode(tag, arg, data) { if (typeof(arg) == "string") { var _local2 = blankXML.createElement(tag); _local2.attributes.label = arg; if (data != undefined) { _local2.attributes.data = data; } return(_local2); } if (arg instanceof XML) { return(arg.firstChild.cloneNode(true)); } if (arg instanceof XMLNode) { return(arg); } if (typeof(arg) == "object") { var _local2 = blankXML.createElement(tag); for (var _local3 in arg) { _local2.attributes[_local3] = arg[_local3]; } if (data != undefined) { _local2.attributes.data = data; } return(_local2); } } function addTreeNode(arg, data) { return(addTreeNodeAt(childNodes.length, arg, data)); } function addTreeNodeAt(index, arg, data) { if (index > childNodes.length) { return(undefined); } var _local2; if (arg instanceof XMLNode) { _local2 = arg.removeTreeNode(); } else { _local2 = convertToNode("node", arg, data); } if (index >= childNodes.length) { appendChild(_local2); } else { insertBefore(_local2, childNodes[index]); } updateViews({eventName:"addNode", node:_local2, parentNode:this, index:index}); return(_local2); } function getTreeNodeAt(index) { return(childNodes[index]); } function removeTreeNodeAt(index) { var _local2 = childNodes[index]; _local2.removeNode(); updateViews({eventName:"removeNode", node:_local2, parentNode:this, index:index}); return(_local2); } function removeTreeNode() { var _local4 = parentNode; var _local6; var _local3 = 0; var _local2 = parentNode.firstChild; while (_local2 != undefined) { if (_local2 == this) { _local6 = _local3; break; } _local3++; _local2 = _local2.nextSibling; } if (_local6 != undefined) { var _local8 = getRootNode(); removeNode(); _local4.updateViews({eventName:"removeNode", node:this, parentNode:_local4, index:_local6}); } return(this); } function removeAll() { while (childNodes.length > 0) { removeTreeNodeAt(childNodes.length - 1); } var _local3 = getRootNode(); updateViews({eventName:"updateTree"}); } function getRootNode() { var _local2 = this; while ((_local2.parentNode != undefined) && (_local2.isTreeRoot == undefined)) { _local2 = _local2.parentNode; } return(_local2); } function updateViews(eventObj) { var _local2 = this; eventObj.target = this; eventObj.type = "modelChanged"; while (_local2 != undefined) { if (_local2.isTreeRoot || (_local2.parentNode == undefined)) { _local2.dispatchEvent(eventObj); } _local2 = _local2.parentNode; } } static var mixinProps = ["addTreeNode", "addTreeNodeAt", "getTreeNodeAt", "removeTreeNodeAt", "getRootNode", "getDepth", "removeAll", "removeTreeNode", "updateViews"]; static var evtDipatcher = mx.events.EventDispatcher; static var mixins = new mx.controls.treeclasses.TreeDataProvider(); static var blankXML = new XML(); static var largestID = 0; }Symbol 168 MovieClip [__Packages.mx.controls.menuclasses.MenuDataProvider] Frame 0class mx.controls.menuclasses.MenuDataProvider extends Object { var addTreeNode, addTreeNodeAt, removeTreeNode, getTreeNodeAt, childNodes; function MenuDataProvider () { super(); } static function Initialize(obj) { obj = obj.prototype; var _local3 = mixinProps; var _local5 = _local3.length; var _local2 = 0; while (_local2 < _local5) { obj[_local3[_local2]] = mixins[_local3[_local2]]; _global.ASSetPropFlags(obj, _local3[_local2], 1); _local2++; } return(true); } function addMenuItem(arg) { return(addTreeNode(mx.controls.treeclasses.TreeDataProvider.convertToNode("menuitem", arg))); } function addMenuItemAt(index, arg) { return(addTreeNodeAt(index, mx.controls.treeclasses.TreeDataProvider.convertToNode("menuitem", arg))); } function removeMenuItem(Void) { return(removeTreeNode()); } function removeMenuItemAt(index) { return(getTreeNodeAt(index).removeTreeNode()); } function getMenuItemAt(index) { return(getTreeNodeAt(index)); } function indexOf(item) { var _local2 = 0; while (_local2 < childNodes.length) { if (childNodes[_local2] == item) { return(_local2); } _local2++; } return(undefined); } static var mixinProps = ["addMenuItem", "addMenuItemAt", "getMenuItemAt", "removeMenuItem", "removeMenuItemAt", "normalize", "indexOf"]; static var mixins = new mx.controls.menuclasses.MenuDataProvider(); }Symbol 170 MovieClip [__Packages.mx.effects.Tween] Frame 0class mx.effects.Tween extends Object { static var IntervalToken; var arrayMode, listener, initVal, endVal, startTime, updateFunc, endFunc, ID; function Tween (listenerObj, init, end, dur) { super(); if (listenerObj == undefined) { return; } if (typeof(init) != "number") { arrayMode = true; } listener = listenerObj; initVal = init; endVal = end; if (dur != undefined) { duration = dur; } startTime = getTimer(); if (duration == 0) { endTween(); } else { AddTween(this); } } static function AddTween(tween) { tween.ID = ActiveTweens.length; ActiveTweens.push(tween); if (IntervalToken == undefined) { Dispatcher.DispatchTweens = DispatchTweens; IntervalToken = setInterval(Dispatcher, "DispatchTweens", Interval); } } static function RemoveTweenAt(index) { var _local2 = ActiveTweens; if (((index >= _local2.length) || (index < 0)) || (index == undefined)) { return(undefined); } _local2.splice(index, 1); var _local4 = _local2.length; var _local1 = index; while (_local1 < _local4) { _local2[_local1].ID--; _local1++; } if (_local4 == 0) { clearInterval(IntervalToken); delete IntervalToken; } } static function DispatchTweens(Void) { var _local2 = ActiveTweens; var _local3 = _local2.length; var _local1 = 0; while (_local1 < _local3) { _local2[_local1].doInterval(); _local1++; } updateAfterEvent(); } function doInterval() { var _local2 = getTimer() - startTime; var _local3 = getCurVal(_local2); if (_local2 >= duration) { endTween(); } else if (updateFunc != undefined) { listener[updateFunc](_local3); } else { listener.onTweenUpdate(_local3); } } function getCurVal(curTime) { if (arrayMode) { var _local3 = new Array(); var _local2 = 0; while (_local2 < initVal.length) { _local3[_local2] = easingEquation(curTime, initVal[_local2], endVal[_local2] - initVal[_local2], duration); _local2++; } return(_local3); } return(easingEquation(curTime, initVal, endVal - initVal, duration)); } function endTween() { if (endFunc != undefined) { listener[endFunc](endVal); } else { listener.onTweenEnd(endVal); } RemoveTweenAt(ID); } function setTweenHandlers(update, end) { updateFunc = update; endFunc = end; } function easingEquation(t, b, c, d) { return(((c / 2) * (Math.sin(Math.PI * ((t / d) - 0.5)) + 1)) + b); } static var ActiveTweens = new Array(); static var Interval = 10; static var Dispatcher = new Object(); var duration = 3000; }Symbol 171 MovieClip [__Packages.mx.controls.Menu] Frame 0class mx.controls.Menu extends mx.controls.listclasses.ScrollSelectList { var __set__visible, listContent, mask_mc, border_mc, __menuCache, getViewMetrics, layoutContent, __width, __height, invRowHeight, invUpdateSize, getFocusManager, __menuDataProvider, groupName, __get__visible, __menuBar, _x, _y, _width, popupMask, attachMovie, setMask, __get__width, height, getStyle, wasJustCreated, popupTween, isPressed, width, __activeChildren, __lastRowRolledOver, clearSelected, anchorRow, supposedToLoseFocus, __dataProvider, invalidate, __rowCount, getLength, setSize, rows, __namedItems, __radioGroups, _selection, _members, enabled, selectable, __anchor, __parentMenu, __anchorIndex, __vPosition, dragScrolling, __timer, __timeOut, focusManager, getSelectedIndex, wasKeySelected, selectRow, selectedIndex, selectedItem; function Menu () { super(); } static function createMenu(parent, mdp, initObj) { if (parent == undefined) { parent = _root; } var pt = new Object(); pt.x = parent._root._xmouse; pt.y = parent._root._ymouse; parent._root.localToGlobal(pt); if (mdp == undefined) { mdp = new XML(); } var _local3 = mx.managers.PopUpManager.createPopUp(parent, mx.controls.Menu, false, initObj, true); if (_local3 == undefined) { trace("Failed to create a new menu, probably because there is no Menu in the Library"); } else { _local3.isPressed = true; _local3.mouseDownOutsideHandler = function (event) { if ((!this.isMouseOverMenu()) && (!this.__activator.hitTest(pt.x, pt.y))) { this.hideAllMenus(); } }; _local3.dataProvider = mdp; } return(_local3); } static function isItemEnabled(itm) { var _local1 = itm.attributes.enabled; return((((_local1 == undefined) || (_local1 == true)) || (_local1.toLowerCase() == "true")) && (itm.attributes.type.toLowerCase() != "separator")); } static function isItemSelected(itm) { var _local1 = itm.attributes.selected; return((_local1 == true) || (_local1.toLowerCase() == "true")); } function init(Void) { super.init(); __set__visible(false); } function createChildren(Void) { super.createChildren(); listContent.setMask(mask_mc); mask_mc.removeMovieClip(); border_mc.move(0, 0); border_mc.borderStyle = "menuBorder"; } function propagateToSubMenus(prop, value) { for (var _local5 in __menuCache) { var _local2 = __menuCache[_local5]; if (_local2 != this) { _local2["set" + prop](value); } } } function setLabelField(lbl) { super.setLabelField(lbl); propagateToSubMenus("LabelField", lbl); } function setLabelFunction(lbl) { super.setLabelFunction(lbl); propagateToSubMenus("LabelFunction", lbl); } function setCellRenderer(cR) { super.setCellRenderer(cR); propagateToSubMenus("CellRenderer", cR); } function setRowHeight(v) { super.setRowHeight(v); propagateToSubMenus("RowHeight", v); } function setIconField(v) { super.setIconField(v); propagateToSubMenus("IconField", v); } function setIconFunction(v) { super.setIconFunction(v); propagateToSubMenus("IconFunction", v); } function size(Void) { super.size(); var _local3 = getViewMetrics(); layoutContent(_local3.left, _local3.top, (__width - _local3.left) - _local3.right, (__height - _local3.top) - _local3.bottom); } function draw(Void) { if (invRowHeight) { super.draw(); listContent.setMask(mask_mc); invUpdateSize = true; } super.draw(); if (invUpdateSize) { updateSize(); } } function onSetFocus() { super.onSetFocus(); getFocusManager().defaultPushButtonEnabled = false; } function setDataProvider(dP) { if (typeof(dP) == "string") { dP = new XML(dP).firstChild; } __menuDataProvider.removeEventListener("modelChanged", this); __menuDataProvider = dP; if (!(__menuDataProvider instanceof XML)) { __menuDataProvider.isTreeRoot = true; } __menuDataProvider.addEventListener("modelChanged", this); modelChanged({eventName:"updateTree"}); } function getDataProvider() { return(__menuDataProvider); } function addMenuItem(arg) { return(__menuDataProvider.addMenuItem(arg)); } function addMenuItemAt(index, arg) { return(__menuDataProvider.addMenuItemAt(index, arg)); } function removeMenuItemAt(index) { var _local2 = getMenuItemAt(index); if ((_local2 != undefined) && (_local2 != null)) { _local2.removeMenuItem(); } return(_local2); } function removeMenuItem(item) { return(removeMenuItemAt(indexOf(item))); } function removeAll(Void) { return(__menuDataProvider.removeAll()); } function getMenuItemAt(index) { return(__menuDataProvider.getMenuItemAt(index)); } function setMenuItemSelected(item, select) { if (item.attributes.type == "radio") { var _local3 = getRootMenu(); groupName = item.attributes.groupName; _local3[groupName].setGroupSelection(item); return(undefined); } if (select != item.attributes.selected) { item.attributes.selected = select; item.updateViews({eventName:"selectionChanged", node:item}); } } function setMenuItemEnabled(item, enable) { if (enable != item.attributes.enabled) { item.attributes.enabled = enable; item.updateViews({eventName:"enabledChanged", node:item}); } } function indexOf(item) { return(__menuDataProvider.indexOf(item)); } function show(x, y) { if (!__get__visible()) { var _local2 = getRootMenu(); _local2.dispatchEvent({type:"menuShow", menuBar:__menuBar, menu:this, menuItem:__menuDataProvider}); if (x != undefined) { _x = x; if (y != undefined) { _y = y; } } if (this != _local2) { var _local5 = (_x + _width) - Stage.width; if (_local5 > 0) { _x = _x - _local5; if (_x < 0) { _x = 0; } } } popupMask = attachMovie("BoundingBox", "pMask_mc", 6000); setMask(popupMask); var _local3 = __get__width(); if (_local3 < 50) { _local3 = 100; } popupMask._width = _local3; popupMask._height = height; popupMask._x = -popupMask._width; popupMask._y = -popupMask._height; var _local4 = getStyle("popupDuration"); if (wasJustCreated && (_local4 < 200)) { _local4 = 200; delete wasJustCreated; } popupTween = new mx.effects.Tween(this, [popupMask._x, popupMask._y], [0, 0], _local4); __set__visible(true); isPressed = true; if ((!__menuBar) && (_local2 == this)) { Selection.setFocus(this); } } } function onTweenUpdate(val) { popupMask._width = width; popupMask._x = val[0]; popupMask._y = val[1]; } function onTweenEnd(val) { popupMask._x = val[0]; popupMask._y = val[1]; setMask(undefined); popupMask.removeMovieClip(); } function hide(Void) { if (__get__visible()) { for (var _local2 in __activeChildren) { __activeChildren[_local2].hide(); } __lastRowRolledOver = undefined; clearSelected(); if (anchorRow != undefined) { anchorRow.highlight._visible = false; } __set__visible(false); isPressed = false; __wasVisible = false; var _local3 = getRootMenu(); _local3.dispatchEvent({type:"menuHide", menuBar:__menuBar, menu:this, menuItem:__menuDataProvider}); } } function onKillFocus() { super.onKillFocus(); getFocusManager().defaultPushButtonEnabled = true; if (supposedToLoseFocus == undefined) { hideAllMenus(); } delete supposedToLoseFocus; } function modelChanged(eventObj) { var _local3 = eventObj.eventName; if (_local3 == "updateTree") { __dataProvider.removeAll(); __dataProvider.addItemsAt(0, __menuDataProvider.childNodes); invUpdateSize = true; invalidate(); super.modelChanged({eventName:"updateAll"}); deinstallAllItems(); installItem(__menuDataProvider); if (__menuCache == undefined) { __menuCache = new Object(); } __menuCache[__menuDataProvider.getID()] = this; } else if ((_local3 == "addNode") || (_local3 == "removeNode")) { var _local5 = eventObj.node; var _local6 = eventObj.parentNode; var _local7 = __menuCache[_local6.getID()]; if (_local3 == "removeNode") { deleteDependentSubMenus(_local5); _local7.removeItemAt(eventObj.index); deinstallItem(_local5); } else { _local7.addItemAt(eventObj.index, _local5); installItem(_local5); } _local7.invUpdateSize = true; _local7.invalidate(); var _local8 = __menuCache[_local6.parentNode.getID()]; _local8.invUpdateControl = true; _local8.invalidate(); } else if ((_local3 == "selectionChanged") || (_local3 == "enabledChanged")) { var _local7 = __menuCache[eventObj.node.parentNode.getID()]; _local7.invUpdateControl = true; _local7.invalidate(); } else { super.modelChanged(eventObj); } } function updateSize() { delete invUpdateSize; var _local2 = calcHeight(); if (getLength() != __rowCount) { setSize(0, _local2); } setSize(calcWidth(), _local2); } function calcWidth() { var _local4 = -1; var _local3; var _local2 = 0; while (_local2 < rows.length) { _local3 = rows[_local2].getIdealWidth(); if (_local3 > _local4) { _local4 = _local3; } _local2++; } var _local5 = getStyle("textIndent"); if (_local5 == undefined) { _local5 = 0; } return(_local4 + _local5); } function calcHeight() { var _local2 = getViewMetrics(); return(((__dataProvider.length * __rowHeight) + _local2.top) + _local2.bottom); } function invalidateStyle(propName) { super.invalidateStyle(propName); for (var _local4 in __activeChildren) { __activeChildren[_local4].invalidateStyle(propName); } } function notifyStyleChangeInChildren(sheetName, styleProp, newValue) { super.notifyStyleChangeInChildren(sheetName, styleProp, newValue); for (var _local6 in __activeChildren) { __activeChildren[_local6].notifyStyleChangeInChildren(sheetName, styleProp, newValue); } } function deleteDependentSubMenus(menuItem) { var _local2 = menuItem.childNodes; for (var _local3 in _local2) { deleteDependentSubMenus(_local2[_local3]); } var _local4 = __menuCache[menuItem.getID()]; if (_local4 != undefined) { _local4.hide(); delete __menuCache[menuItem.getID()]; } } function installItem(item) { if (item.attributes.instanceName != undefined) { var _local6 = item.attributes.instanceName; if (this[_local6] != undefined) { trace("WARNING: Duplicate menu item instanceNames - " + _local6); } if (__namedItems == undefined) { __namedItems = new Object(); } __namedItems[_local6] = item; this[_local6] = item; } if ((item.attributes.type == "radio") && (item.attributes.groupName != undefined)) { var _local5 = item.attributes.groupName; var _local2 = this[_local5]; if (_local2 == undefined) { _local2 = new Object(); _local2.name = _local5; _local2._rootMenu = this; _local2._members = new Object(); _local2._memberCount = 0; _local2.getGroupSelection = getGroupSelection; _local2.setGroupSelection = setGroupSelection; _local2.addProperty("selection", _local2.getGroupSelection, _local2.setGroupSelection); if (__radioGroups == undefined) { __radioGroups = new Object(); } __radioGroups[_local5] = _local2; this[_local5] = _local2; } _local2._members[item.getID()] = item; _local2._memberCount++; if (isItemSelected(item)) { _local2.selection = item; } } var _local3 = item.childNodes; for (var _local7 in _local3) { installItem(_local3[_local7]); } } function deinstallItem(item) { var _local2 = item.childNodes; for (var _local5 in _local2) { deinstallItem(_local2[_local5]); } if (item.attributes.instanceName != undefined) { var _local7 = item.attributes.instanceName; delete this[_local7]; delete __namedItems[_local7]; } if ((item.attributes.type == "radio") && (item.attributes.groupName != undefined)) { var _local6 = item.attributes.groupName; var _local3 = this[_local6]; if (_local3 == undefined) { return(undefined); } delete _local3._members[item.getID()]; _local3._memberCount--; if (_local3._memberCount == 0) { delete this[_local6]; delete __radioGroups[_local6]; } else if (_local3.selection == item) { delete _local3._selection; } } } function deinstallAllItems(Void) { for (var _local2 in __namedItems) { delete this[_local2]; } delete __namedItems; for (var _local2 in __radioGroups) { delete this[_local2]; } delete __radioGroups; } function getGroupSelection() { return(_selection); } function setGroupSelection(item) { _selection = item; for (var _local4 in _members) { var _local2 = _members[_local4]; _local2.attributes.selected = _local2 == item; } item.updateViews({eventName:"selectionChanged", node:item}); } function onRowRelease(rowIndex) { if (((!enabled) || (!selectable)) || (!__get__visible())) { return(undefined); } var _local5 = rows[rowIndex]; var _local2 = _local5.item; if ((_local2 != undefined) && (isItemEnabled(_local2))) { var _local10 = _local2.attributes.type; var _local4 = (!_local2.hasChildNodes()) && (_local10 != "separator"); if (_local4) { hideAllMenus(); } var _local6; var _local3 = getRootMenu(); if ((_local10 == "check") || (_local10 == "radio")) { setMenuItemSelected(_local2, !isItemSelected(_local2)); } if (_local4) { _local3.dispatchEvent({type:"change", menuBar:__menuBar, menu:_local3, menuItem:_local2, groupName:_local2.attributes.groupName}); } } } function onRowPress(rowIndex) { var _local3 = rows[rowIndex].item; if (isItemEnabled(_local3) && (!_local3.hasChildNodes())) { super.onRowPress(rowIndex); } } function onRowRollOut(rowIndex) { if (((!enabled) || (!selectable)) || (!__get__visible())) { return(undefined); } super.onRowRollOut(rowIndex); var _local4 = rows[rowIndex].item; if (_local4 != undefined) { var _local5 = getRootMenu(); _local5.dispatchEvent({type:"rollOut", menuBar:__menuBar, menu:this, menuItem:_local4}); } var _local3 = __activeChildren[_local4.getID()]; if (_local4.hasChildNodes() > 0) { if (_local3.isOpening || (_local3.isOpening == undefined)) { cancelMenuDelay(); _local3.isOpening = false; } if (_local3.visible) { rows[rowIndex].drawRow(_local4, "selected", false); } } else if (_local3.isClosing || (_local3.isClosing == undefined)) { cancelMenuDelay(); _local3.isClosing = false; } setTimeOut(__closeDelay, _local4.getID()); } function onRowRollOver(rowIndex) { if (((!enabled) || (!selectable)) || (!__get__visible())) { return(undefined); } var _local2 = rows[rowIndex]; var _local8 = _local2.item; var _local6 = _local8.getID(); var _local4 = __activeChildren[__anchor]; var _local5 = __activeChildren[_local6]; clearSelected(); clearTimeOut(); __lastRowRolledOver = rowIndex; if (anchorRow != undefined) { anchorRow.drawRow(anchorRow.item, "normal", false); delete anchorRow; } if (__parentMenu) { var _local3 = __parentMenu.rows[__anchorIndex]; _local3.drawRow(_local3.item, "selected", false); __parentMenu.anchorRow = _local3; } if (_local5.__activeChildren[_local5.__anchor].visible) { _local5.__activeChildren[_local5.__anchor].hide(); } if (_local4.visible && (__anchor != _local6)) { _local4.isClosing = true; setMenuDelay(__closeDelay, "closeSubMenu", {id:__anchor}); } if ((_local8 != undefined) && (isItemEnabled(_local8))) { var _local7 = getRootMenu(); _local7.dispatchEvent({type:"rollOver", menuBar:__menuBar, menu:this, menuItem:_local8}); if (_local8.hasChildNodes() > 0) { anchorRow = _local2; _local2.drawRow(_local8, "selected", false); if (!_local5.visible) { _local5.isOpening = true; setMenuDelay(__openDelay, "openSubMenu", {item:_local8, rowIndex:rowIndex}); } } else { _local2.drawRow(_local8, "highlighted", false); } } } function onRowDragOver(rowIndex) { var _local4 = __dataProvider.getItemAt(rowIndex + __vPosition); if (isItemEnabled(_local4)) { super.onRowDragOver(rowIndex); onRowRollOver(rowIndex); } } function __onMouseUp() { clearInterval(dragScrolling); delete dragScrolling; delete isPressed; if (!selectable) { return(undefined); } if (__wasVisible) { hide(); } __wasVisible = false; } function setMenuDelay(delay, request, args) { if (__timer == null) { __timer = setInterval(this, "callMenuDelay", delay, request, args); } else { __delayQueue.push({delay:delay, request:request, args:args}); } } function callMenuDelay(request, args) { this[request](args); clearMenuDelay(); } function clearMenuDelay(Void) { clearInterval(__timer); __timer = null; runDelayQueue(); } function cancelMenuDelay(Void) { var _local2 = __delayQueue.pop(); clearMenuDelay(); } function runDelayQueue(Void) { if (__delayQueue.length == 0) { return(undefined); } var _local2 = __delayQueue.shift(); var _local4 = _local2.delay; var _local5 = _local2.request; var _local3 = _local2.args; setMenuDelay(_local4, _local5, _local3); } function setTimeOut(delay, id) { clearTimeOut(); __timeOut = setInterval(this, "callTimeOut", delay, id); } function clearTimeOut(Void) { clearInterval(__timeOut); __timeOut = null; } function callTimeOut(Void) { var _local2 = __activeChildren[__anchor]; clearTimeOut(); if ((!isMouseOverMenu()) && (_local2)) { var _local3 = _local2.__anchorIndex; var _local5 = __dataProvider.getItemAt(_local3 + __vPosition); var _local4 = rows[_local3]; _local4.drawRow(_local5, "normal", false); _local2.hide(); __delayQueue.length = 0; } } function openSubMenu(o) { var _local3 = getRootMenu(); var _local5 = rows[o.rowIndex]; var _local7 = o.item; var _local6 = (__anchor = _local7.getID()); var _local2 = _local3.__menuCache[_local6]; if (_local2 == undefined) { _local2 = mx.managers.PopUpManager.createPopUp(_local3, mx.controls.Menu, false, {__parentMenu:this, __anchorIndex:o.rowIndex, styleName:_local3}, true); _local2.labelField = _local3.__labelField; _local2.labelFunction = _local3.__labelFunction; _local2.iconField = _local3.__iconField; _local2.iconFunction = _local3.__iconFunction; _local2.wasJustCreated = true; _local2.cellRenderer = _local3.__cellRenderer; _local2.rowHeight = _local3.__rowHeight; if (_local3.__menuCache == undefined) { _local3.__menuCache = new Object(); _local3.__menuCache[_local3.__menuDataProvider.getID()] = _local3; } if (__activeChildren == undefined) { __activeChildren = new Object(); } _local3.__menuCache[_local6] = _local2; __activeChildren[_local6] = _local2; _local2.__dataProvider.addItemsAt(0, _local7.childNodes); _local2.invUpdateSize = true; _local2.invalidate(); } _local2.__menuBar = __menuBar; var _local4 = {x:0, y:0}; _local5.localToGlobal(_local4); _local5._root.globalToLocal(_local4); _local2.focusManager.lastFocus = undefined; _local2.show(_local4.x + _local5.__width, _local4.y); focusManager.lastFocus = undefined; _local2.isOpening = false; } function closeSubMenu(o) { var _local2 = __activeChildren[o.id]; _local2.hide(); _local2.isClosing = false; } function moveSelBy(incr) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = -1; } var _local2 = _local3 + incr; if (_local2 > (__dataProvider.length - 1)) { _local2 = 0; } else if (_local2 < 0) { _local2 = __dataProvider.length - 1; } wasKeySelected = true; selectRow(_local2 - __vPosition, false, false); var _local4 = __dataProvider.getItemAt(_local2 + __vPosition); if (_local4.attributes.type == "separator") { moveSelBy(incr); } } function keyDown(e) { if (__lastRowRolledOver != undefined) { selectedIndex = __lastRowRolledOver; __lastRowRolledOver = undefined; } var _local2 = selectedItem; if (Key.isDown(38)) { var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; if (_local2.hasChildNodes() && (_local3.visible)) { supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = _local3.rows.length - 1; } else { moveSelBy(-1); } } if (Key.isDown(40)) { var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; if (_local2.hasChildNodes() && (_local3.visible)) { supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = 0; } else { moveSelBy(1); } } if (Key.isDown(39)) { if (isItemEnabled(_local2) && (_local2.hasChildNodes())) { openSubMenu({item:_local2, rowIndex:selectedIndex}); var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = 0; } else if (__menuBar) { supposedToLoseFocus = true; Selection.setFocus(__menuBar); __menuBar.keyDown(e); } } if (Key.isDown(37)) { if (__parentMenu) { supposedToLoseFocus = true; hide(); Selection.setFocus(__parentMenu); } else if (__menuBar) { supposedToLoseFocus = true; Selection.setFocus(__menuBar); __menuBar.keyDown(e); } } if (Key.isDown(13) || (Key.isDown(32))) { if (isItemEnabled(_local2) && (_local2.hasChildNodes())) { openSubMenu({item:_local2, rowIndex:selectedIndex}); var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = 0; } else { onRowRelease(selectedIndex); } } if (Key.isDown(27) || (Key.isDown(9))) { hideAllMenus(); } } function hideAllMenus(Void) { getRootMenu().hide(); } function isMouseOverMenu(Void) { var _local4 = new Object(); _local4.x = _root._xmouse; _local4.y = _root._ymouse; _root.localToGlobal(_local4); if (border_mc.hitTest(_local4.x, _local4.y)) { return(true); } var _local5 = getRootMenu(); for (var _local6 in _local5.__menuCache) { var _local3 = _local5.__menuCache[_local6]; if (_local3.visible && (_local3.border_mc.hitTest(_local4.x, _local4.y))) { return(true); } } return(false); } function getRootMenu(Void) { var _local2 = this; while (_local2.__parentMenu != undefined) { _local2 = _local2.__parentMenu; } return(_local2); } static var symbolName = "Menu"; static var symbolOwner = mx.controls.Menu; var className = "Menu"; static var version = "2.0.2.126"; static var mixit = mx.controls.treeclasses.TreeDataProvider.Initialize(XMLNode); static var mixit2 = mx.controls.menuclasses.MenuDataProvider.Initialize(XMLNode); var __hScrollPolicy = "off"; var __vScrollPolicy = "off"; var __rowRenderer = "MenuRow"; var __rowHeight = 19; var __wasVisible = false; var __enabled = true; var __openDelay = 250; var __closeDelay = 250; var __delayQueue = new Array(); var __iconField = "icon"; }Symbol 172 MovieClip [__Packages.mx.skins.halo.ActivatorSkin] Frame 0class mx.skins.halo.ActivatorSkin extends mx.skins.RectBorder { var __get__width, __get__height, getStyle, clear, drawRoundRect, __get__x, __get__y; function ActivatorSkin () { super(); } function init() { super.init(); } function size() { drawHaloRect(__get__width(), __get__height()); } function drawHaloRect(w, h) { var _local5 = getStyle("borderStyle"); var _local4 = getStyle("themeColor"); clear(); switch (_local5) { case "none" : drawRoundRect(__get__x(), __get__y(), w, h, 0, 16777215, 0); break; case "falsedown" : drawRoundRect(__get__x(), __get__y(), w, h, 0, 9542041, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 0, [3355443, 16579836], 100, -90, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 0, _local4, 50); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 0, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 0, _local4, 20); break; case "falserollover" : drawRoundRect(__get__x(), __get__y(), w, h, 0, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 0, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 0, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 0, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 0, 16316664, 100); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.skinRegistry.ActivatorSkin = true; return(true); } static var symbolName = "ActivatorSkin"; static var symbolOwner = mx.skins.halo.ActivatorSkin; var className = "ActivatorSkin"; var backgroundColorName = "buttonColor"; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }Symbol 173 MovieClip [__Packages.mx.controls.menuclasses.MenuBarItem] Frame 0class mx.controls.menuclasses.MenuBarItem extends mx.core.UIComponent { var createLabel, cell, __initText, createClassObject, owner, useHandCursor, trackAsMenu, border_mc, __width, __height, enabled, menuBarIndex; function MenuBarItem () { super(); } function createChildren(Void) { super.createChildren(); createLabel("cell", 20); cell.setValue(__initText); createClassObject(mx.skins.halo.ActivatorSkin, "border_mc", 0, {styleName:owner, borderStyle:"none"}); useHandCursor = false; trackAsMenu = true; } function size(Void) { super.size(); border_mc.setSize(__width, __height); cell.setSize(__width - __cellWidthBuffer, cell.getPreferredHeight()); cell._x = __cellWidthBuffer / 2; cell._y = (__height - cell._height) / 2; } function getPreferredWidth(Void) { return(cell.getPreferredWidth() + __cellWidthBuffer); } function setLabelBorder(style) { border_mc.borderStyle = style; border_mc.draw(); } function setEnabled(state) { cell.enabled = state; if (!enabled) { setLabelBorder("none"); } } function onPress(Void) { owner.onItemPress(menuBarIndex); } function onRelease(Void) { owner.onItemRelease(menuBarIndex); } function onRollOver(Void) { owner.onItemRollOver(menuBarIndex); } function onRollOut(Void) { owner.onItemRollOut(menuBarIndex); } function onDragOver(Void) { owner.onItemDragOver(menuBarIndex); } function onDragOut(Void) { owner.onItemDragOut(menuBarIndex); } var __cellHeightBuffer = 3; var __cellWidthBuffer = 20; var __isDown = false; var __isClosing = false; }Symbol 174 MovieClip [__Packages.mx.controls.listclasses.SelectableRow] Frame 0class mx.controls.listclasses.SelectableRow extends mx.core.UIComponent { var __height, cell, owner, rowIndex, icon_mc, createObject, __width, backGround, highlight, highlightColor, createLabel, createClassObject, listOwner, tabEnabled, item, createEmptyMovieClip, drawRect, isChangedToSelected, bGTween, grandOwner; function SelectableRow () { super(); } function setValue(itmObj, state) { var _local7 = __height; var _local2 = cell; var _local5 = owner; var _local8 = itemToString(itmObj); if (_local2.getValue() != _local8) { _local2.setValue(_local8, itmObj, state); } var _local4 = _local5.getPropertiesAt(rowIndex + _local5.__vPosition).icon; if (_local4 == undefined) { _local4 = _local5.__iconFunction(itmObj); if (_local4 == undefined) { _local4 = itmObj[_local5.__iconField]; if (_local4 == undefined) { _local4 = _local5.getStyle("defaultIcon"); } } } var _local3 = icon_mc; if ((_local4 != undefined) && (itmObj != undefined)) { _local3 = createObject(_local4, "icon_mc", 20); _local3._x = 2; _local3._y = (_local7 - _local3._height) / 2; _local2._x = 4 + _local3._width; } else { _local3.removeMovieClip(); _local2._x = 2; } var _local9 = ((_local3 == undefined) ? 0 : (_local3._width)); _local2.setSize(__width - _local9, Math.min(_local7, _local2.getPreferredHeight())); _local2._y = (_local7 - _local2._height) / 2; } function size(Void) { var _local3 = backGround; var _local2 = cell; var _local4 = __height; var _local5 = __width; var _local6 = ((icon_mc == undefined) ? 0 : (icon_mc._width)); _local2.setSize(_local5 - _local6, Math.min(_local4, _local2.getPreferredHeight())); _local2._y = (_local4 - _local2._height) / 2; icon_mc._y = (_local4 - icon_mc._height) / 2; _local3._x = 0; _local3._width = _local5; _local3._height = _local4; drawRowFill(_local3, normalColor); drawRowFill(highlight, highlightColor); } function setCellRenderer(forceSizing) { var _local3 = owner.__cellRenderer; var _local4; if (cell != undefined) { _local4 = cell._x; cell.removeMovieClip(); cell.removeTextField(); } var _local2; if (_local3 == undefined) { _local2 = (cell = createLabel("cll", 0, {styleName:this})); _local2.styleName = owner; _local2.selectable = false; _local2.tabEnabled = false; _local2.background = false; _local2.border = false; } else if (typeof(_local3) == "string") { _local2 = (cell = createObject(_local3, "cll", 0, {styleName:this})); } else { _local2 = (cell = createClassObject(_local3, "cll", 0, {styleName:this})); } _local2.owner = this; _local2.listOwner = owner; _local2.getCellIndex = getCellIndex; _local2.getDataLabel = getDataLabel; if (_local4 != undefined) { _local2._x = _local4; } if (forceSizing) { size(); } } function getCellIndex(Void) { return({columnIndex:0, itemIndex:owner.rowIndex + listOwner.__vPosition}); } function getDataLabel() { return(listOwner.labelField); } function init(Void) { super.init(); tabEnabled = false; } function createChildren(Void) { setCellRenderer(false); setupBG(); setState(state, false); } function drawRow(itmObj, state, transition) { item = itmObj; setState(state, transition); setValue(itmObj, state, transition); } function itemToString(itmObj) { if (itmObj == undefined) { return(" "); } var _local2 = owner.__labelFunction(itmObj); if (_local2 == undefined) { _local2 = ((itmObj instanceof XMLNode) ? (itmObj.attributes[owner.__labelField]) : (itmObj[owner.__labelField])); if (_local2 == undefined) { _local2 = " "; if (typeof(itmObj) == "object") { for (var _local4 in itmObj) { if (_local4 != "__ID__") { _local2 = (itmObj[_local4] + ", ") + _local2; } } _local2 = _local2.substring(0, _local2.length - 2); } else { _local2 = itmObj; } } } return(_local2); } function setupBG(Void) { var _local2 = (backGround = createEmptyMovieClip("bG_mc", LOWEST_DEPTH)); drawRowFill(_local2, normalColor); highlight = createEmptyMovieClip("tran_mc", LOWEST_DEPTH + 10); _local2.owner = this; _local2.grandOwner = owner; _local2.onPress = bGOnPress; _local2.onRelease = bGOnRelease; _local2.onRollOver = bGOnRollOver; _local2.onRollOut = bGOnRollOut; _local2.onDragOver = bGOnDragOver; _local2.onDragOut = bGOnDragOut; _local2.useHandCursor = false; _local2.trackAsMenu = true; _local2.drawRect = drawRect; highlight.drawRect = drawRect; } function drawRowFill(mc, newClr) { mc.clear(); mc.beginFill(newClr); mc.drawRect(1, 0, __width, __height); mc.endFill(); mc._width = __width; mc._height = __height; } function setState(newState, transition) { var _local2 = highlight; var _local8 = backGround; var _local4 = __height; var _local3 = owner; if (!_local3.enabled) { if ((newState == "selected") || (state == "selected")) { highlightColor = _local3.getStyle("selectionDisabledColor"); drawRowFill(_local2, highlightColor); _local2._visible = true; _local2._y = 0; _local2._height = _local4; } else { _local2._visible = false; normalColor = _local3.getStyle("backgroundDisabledColor"); drawRowFill(_local8, normalColor); } cell.__enabled = false; cell.setColor(_local3.getStyle("disabledColor")); } else { cell.__enabled = true; if (transition && ((newState == state) || ((newState == "highlighted") && (state == "selected")))) { isChangedToSelected = true; return(undefined); } var _local6 = _local3.getStyle("selectionDuration"); var _local7 = 0; if (isChangedToSelected && (newState == "selected")) { transition = false; } var _local10 = transition && (_local6 != 0); if (newState == "normal") { _local7 = _local3.getStyle("color"); normalColor = getNormalColor(); drawRowFill(_local8, normalColor); if (_local10) { _local6 = _local6 / 2; _local2._height = _local4; _local2._width = __width; _local2._y = 0; bGTween = new mx.effects.Tween(this, _local4 + 2, _local4 * 0.2, _local6, 5); } else { _local2._visible = false; } delete isChangedToSelected; } else { highlightColor = _local3.getStyle(((newState == "highlighted") ? "rollOverColor" : "selectionColor")); drawRowFill(_local2, highlightColor); _local2._visible = true; _local7 = _local3.getStyle(((newState == "highlighted") ? "textRollOverColor" : "textSelectedColor")); if (_local10) { _local2._height = _local4 * 0.5; _local2._y = (_local4 - _local2._height) / 2; bGTween = new mx.effects.Tween(this, _local2._height, _local4 + 2, _local6, 5); var _local9 = _local3.getStyle("selectionEasing"); if (_local9 != undefined) { bGTween.easingEquation = _local9; } } else { _local2._y = 0; _local2._height = _local4; } } cell.setColor(_local7); } state = newState; } function onTweenUpdate(val) { highlight._height = val; highlight._y = (__height - val) / 2; } function onTweenEnd(val) { onTweenUpdate(val); highlight._visible = state != "normal"; } function getNormalColor(Void) { var _local3; var _local2 = owner; if (!owner.enabled) { _local3 = _local2.getStyle("backgroundDisabledColor"); } else { var _local5 = rowIndex + _local2.__vPosition; if (rowIndex == undefined) { _local3 = _local2.getPropertiesOf(item).backgroundColor; } else { _local3 = _local2.getPropertiesAt(_local5).backgroundColor; } if (_local3 == undefined) { var _local4 = _local2.getStyle("alternatingRowColors"); if (_local4 == undefined) { _local3 = _local2.getStyle("backgroundColor"); } else { _local3 = _local4[_local5 % _local4.length]; } } } return(_local3); } function invalidateStyle(propName) { cell.invalidateStyle(propName); super.invalidateStyle(propName); } function bGOnPress(Void) { grandOwner.pressFocus(); grandOwner.onRowPress(owner.rowIndex); } function bGOnRelease(Void) { grandOwner.releaseFocus(); grandOwner.onRowRelease(owner.rowIndex); } function bGOnRollOver(Void) { grandOwner.onRowRollOver(owner.rowIndex); } function bGOnRollOut(Void) { grandOwner.onRowRollOut(owner.rowIndex); } function bGOnDragOver(Void) { grandOwner.onRowDragOver(owner.rowIndex); } function bGOnDragOut(Void) { grandOwner.onRowDragOut(owner.rowIndex); } static var LOWEST_DEPTH = -16384; var state = "normal"; var disabledColor = 15263976; var normalColor = 16777215; }Symbol 175 MovieClip [__Packages.mx.controls.menuclasses.MenuRow] Frame 0class mx.controls.menuclasses.MenuRow extends mx.controls.listclasses.SelectableRow { var cell, state, owner, icon_branch, branch, type, iconID, icon_mc, icon_sep, createObject, __width, __height, idealWidth; function MenuRow () { super(); } function setValue(itemObj, sel) { var _local7 = cell; var _local6 = itemToString(itemObj); if (_local7.getValue() != _local6) { _local7.setValue(_local6, itemObj, state); } var _local8 = itemObj.hasChildNodes(); var _local5 = mx.controls.Menu.isItemEnabled(itemObj); var _local4 = itemObj.attributes.type; if (_local4 == undefined) { _local4 = "normal"; } var _local9 = mx.controls.Menu.isItemSelected(itemObj); var _local3 = owner.__iconFunction(itemObj); if (_local3 == undefined) { _local3 = itemObj.attributes[owner.__iconField]; } if (_local3 == undefined) { _local3 = owner.getStyle("defaultIcon"); } if (icon_branch && (((_local8 != branch) || (_local5 != isEnabled)) || (type == "separator"))) { icon_branch.removeMovieClip(); delete icon_branch; } if ((((_local9 != selected) || (_local3 != iconID)) || (_local4 != type)) || ((_local5 != isEnabled) && (_local4 != "normal"))) { icon_mc.removeMovieClip(); icon_sep.removeMovieClip(); delete icon_sep; delete icon_mc; } branch = _local8; isEnabled = _local5; type = _local4; selected = _local9; iconID = _local3; cell.__enabled = isEnabled; cell.setColor((isEnabled ? (owner.getStyle("color")) : (owner.getStyle("disabledColor")))); if (sel == "highlighted") { if (isEnabled) { cell.setColor(owner.getStyle("textRollOverColor")); } } else if (sel == "selected") { if (isEnabled) { cell.setColor(owner.getStyle("textSelectedColor")); } } if (branch && (icon_branch == undefined)) { icon_branch = createObject("MenuBranch" + (isEnabled ? "Enabled" : "Disabled"), "icon_branch", 20); } if (type == "separator") { if (icon_sep == undefined) { var _local10 = createObject("MenuSeparator", "icon_sep", 21); } } else if (icon_mc == undefined) { if (type != "normal") { if (selected) { iconID = ((type == "check") ? "MenuCheck" : "MenuRadio") + (isEnabled ? "Enabled" : "Disabled"); } else { iconID = undefined; } } if (iconID != undefined) { icon_mc = createObject(iconID, "icon_mc", 21); } } size(); } function itemToString(itmObj) { if (itmObj.attributes.type == "separator") { return(" "); } return(super.itemToString(itmObj)); } function size(Void) { super.size(); cell._x = lBuffer; cell.setSize((__width - rBuffer) - lBuffer, Math.min(__height, cell.getPreferredHeight())); if (icon_branch) { icon_branch._x = __width - (rBuffer / 2); icon_branch._y = (__height - icon_branch._height) / 2; } if (icon_sep) { icon_sep._x = 4; icon_sep._y = (__height - icon_sep._height) / 2; icon_sep._width = __width - 8; } else if (icon_mc) { icon_mc._x = Math.max(0, (lBuffer - icon_mc._width) / 2); icon_mc._y = (__height - icon_mc._height) / 2; } } function getIdealWidth(Void) { cell.draw(); idealWidth = ((cell.getPreferredWidth() + 4) + lBuffer) + rBuffer; return(idealWidth); } var isEnabled = true; var selected = false; var lBuffer = 18; var rBuffer = 15; }Symbol 176 MovieClip [__Packages.mx.controls.CheckBox] Frame 0class mx.controls.CheckBox extends mx.controls.Button { var _getTextFormat, labelPath, iconName; function CheckBox () { super(); } function onRelease() { super.onRelease(); } function init() { super.init(); } function size() { super.size(); } function get emphasized() { return(undefined); } function calcPreferredHeight() { var _local5 = _getTextFormat(); var _local3 = _local5.getTextExtent2(labelPath.text).height; var _local4 = iconName._height; var _local2 = 0; if ((__labelPlacement == "left") || (__labelPlacement == "right")) { _local2 = Math.max(_local3, _local4); } else { _local2 = _local3 + _local4; } return(Math.max(14, _local2)); } function set toggle(v) { //return(toggle); } function get toggle() { } function set icon(v) { //return(icon); } function get icon() { } static var symbolName = "CheckBox"; static var symbolOwner = mx.controls.CheckBox; static var version = "2.0.2.126"; var className = "CheckBox"; var ignoreClassStyleDeclaration = {Button:1}; var btnOffset = 0; var __toggle = true; var __selected = false; var __labelPlacement = "right"; var __label = "CheckBox"; var falseUpSkin = ""; var falseDownSkin = ""; var falseOverSkin = ""; var falseDisabledSkin = ""; var trueUpSkin = ""; var trueDownSkin = ""; var trueOverSkin = ""; var trueDisabledSkin = ""; var falseUpIcon = "CheckFalseUp"; var falseDownIcon = "CheckFalseDown"; var falseOverIcon = "CheckFalseOver"; var falseDisabledIcon = "CheckFalseDisabled"; var trueUpIcon = "CheckTrueUp"; var trueDownIcon = "CheckTrueDown"; var trueOverIcon = "CheckTrueOver"; var trueDisabledIcon = "CheckTrueDisabled"; var clipParameters = {label:1, labelPlacement:1, selected:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.CheckBox.prototype.clipParameters, mx.controls.Button.prototype.clipParameters); var centerContent = false; var borderW = 0; }Symbol 227 Buttonon (rollOver) { Mouse.hide(); } on (rollOut) { Mouse.show(); }Symbol 232 Buttonon (rollOver) { Mouse.hide(); } on (rollOut) { Mouse.show(); }Symbol 235 MovieClip Frame 1stop();Symbol 235 MovieClip Frame 2play();Symbol 235 MovieClip Frame 3stop();Symbol 239 Buttonon (press) { _root.yoko.gotoAndStop(1); _root.pre.btn11._visible = true; _root.men1._visible = true; _root.men2._visible = true; _root.hotkey._visible = true; _root.layout._visible = true; _root.sphere._visible = true; _root.bar._visible = true; _root.armor._visible = true; }Symbol 245 Buttonon (press) { nextFrame(); }Symbol 270 Buttonon (press) { prevFrame(); }Symbol 713 MovieClip Frame 1stop();Symbol 713 MovieClip Frame 2stop();Symbol 718 Buttonon (release) { _root.yoko.gotoAndStop(3); _root.pre.btn11._visible = false; _root.men1._visible = false; _root.men2._visible = false; _root.hotkey._visible = false; _root.layout._visible = false; _root.bar._visible = false; _root.armor._visible = false; }Symbol 723 Buttonon (release) { _root.yoko.gotoAndStop(2); _root.pre.btn11._visible = false; _root.men1._visible = false; _root.men2._visible = false; _root.hotkey._visible = false; _root.layout._visible = false; _root.bar._visible = false; _root.armor._visible = false; }Symbol 734 Buttonon (press) { getURL ("http://www.armorgames.com", "_blank"); }Symbol 750 MovieClip Frame 40stop();Symbol 754 Buttonon (press) { _root.play(); }Symbol 755 MovieClip Frame 1function itemHandler1() { } function itemHandler2() { } function itemHandler3() { } function itemHandler4() { } function itemHandler5() { } function itemHandler6() { } function itemHandler7() { } function itemHandler8() { } _root.stop(); _global.PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100; if (_global.PercentLoaded < 100) { bar._xscale = _global.PercentLoaded * 4; } else { _root.soundLoaded.play(); gotoAndStop ("loaded"); } var PercentDisp = ((Math.round(_global.PercentLoaded * 1000) / 1000) + "%"); var PercentDisp2 = (Math.round(_global.PercentLoaded) + "%"); percent1._x = bar._xscale - 240; Stage.showMenu = true; var initialMenu = new ContextMenu(); initialMenu.hideBuiltInItems(); _root.menu = initialMenu; percentisLoaded = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); initialMenu.customItems.push(new ContextMenuItem(("Universal Tutorial is " + percentisLoaded) + "% Loaded", itemHandler1)); initialMenu.customItems.push(new ContextMenuItem("A right-click menu interface will appear once you begin the tutorial", itemHandler2)); initialMenu.customItems.push(new ContextMenuItem("\n\n Tired of waiting, eh? I know how terrible waiting is, but the\n ", itemHandler3)); initialMenu.customItems.push(new ContextMenuItem("wait is really worth it. Trust me, this tutorial is worth your time. \n\n", itemHandler4)); initialMenu.customItems.push(new ContextMenuItem("Some things to look forward to in this tutorial are:\n\n", itemHandler5)); initialMenu.customItems.push(new ContextMenuItem("Advanced Search engine finds most relevant results fast", itemHandler6)); initialMenu.customItems.push(new ContextMenuItem("800 pages of text, pictures, and interactive elements", itemHandler7)); initialMenu.customItems.push(new ContextMenuItem("Diverse and expansive tutorial on Actionscript for n00bs and experienced users alike", itemHandler8));Symbol 755 MovieClip Frame 2gotoAndPlay (1);Symbol 766 Buttonon (press) { stopAllSounds(); }Symbol 770 Buttonon (press) { _root.gotoAndStop(_global.framez[3] + 4); }Symbol 771 Buttonon (press) { _root.gotoAndStop(_global.framez[0] + 4); }Symbol 772 Buttonon (press) { _root.gotoAndStop(_global.framez[1] + 4); }Symbol 773 Buttonon (press) { _root.gotoAndStop(_global.framez[2] + 4); }Symbol 778 Buttonon (press) { _global.firstValue = _global.framez.shift(); _root.gotoAndStop(_global.firstValue + 4); firstValue0 = firstValue; if (firstValue == undefined) { _root.searchResult = "Please enter a valid search before you ask to go to the most relevant result"; } _global.framez.unshift(firstValue0); }Symbol 782 Buttonon (press) { _root.blinanor.play(); frameNumber = ((_root.frameNum * 10) / 10) + 3; Math.round(frameNumber); if (frameNumber < 751) { _root.gotoAndStop(frameNumber); } else { searchResult = "You cannot go to that frame, ACCESS DENIED\n(No seriously there is nothing on that page"; } if (_root.frameNum == "trivia") { _root.gotoAndStop("trivia"); } if (_root.frameNum == "betatest") { _root.gotoAndStop("betatest"); } if (_root.frameNum == "pronote") { _root.gotoAndStop("pronote"); } if (_root.frameNum == "eagle") { _root.gotoAndStop("eagle"); } }Symbol 792 Buttonon (press) { _root.mus.setVolume(_root.mus.getVolume() - 10); }Symbol 795 Buttonon (press) { _root.mus.setVolume(_root.mus.getVolume() + 10); }Symbol 798 Buttonon (rollOver) { _root.men.gotoAndPlay(30); _root.menutxt._visible = true; }Symbol 799 Buttonon (press) { getURL ("www.newgrounds.com"); _root.back.menutxt._visible = true; }Symbol 802 Buttonon (press) { if ((_root._currentframe <= 302) and (_root._currentframe >= 2)) { _root.gotoAndStop("swift"); } if ((_root._currentframe <= 910) and (_root._currentframe >= 302)) { _root.gotoAndStop("flash"); } if (_root._currentframe == 1) { _root.gotoAndStop("main"); } this.back.menutxt._visible = true; }Symbol 805 Buttonon (press) { _root.gotoAndStop("main"); _root.back.menutxt._visible = true; }Symbol 806 Buttonon (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("yay"); _root.mus.start(0, 1000); }Symbol 807 Buttonon (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); _root.mus.volume = 70; }Symbol 812 MovieClip Frame 1stop();Symbol 812 MovieClip Frame 30stop();Symbol 812 MovieClip Frame 45stop(); _root.menutxt._visible = true;Symbol 818 Buttonon (press) { if (_root.mus.getVolume() > 10) { _root.mus.setVolume(_root.mus.getVolume() - 10); } }Symbol 819 Buttonon (press) { if (_root.mus.getVolume() < 90) { _root.mus.setVolume(_root.mus.getVolume() + 10); } }Symbol 820 Buttonon (press) { _root.mus.stop(); _root.musar = new Sound(); _root.musar.attachSound("yay"); _root.musar.start(6, 1000); _root.musar.setVolume(70); }Symbol 821 Buttonon (press) { stopAllSounds(); _root.musar.stop(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); _root.mus.volume = 50; }Symbol 822 Buttonon (press) { _global.firstValue = _global.framez.shift(); firstValue0 = firstValue; if (firstValue == undefined) { _root.searchResult = "Please enter a valid search before you ask to go to the most relevant result"; } _global.framez.unshift(firstValue0); _root.gotoAndStop(_global.firstValue + 4); }Symbol 830 Buttonon (press) { this.useHandCursor = false; }Symbol 833 Buttonon (press) { _root.blinanor.play(); frameNumber = ((_root.frameNum * 10) / 10) + 3; Math.round(frameNumber); if (frameNumber < 1000) { _root.gotoAndStop(frameNumber); _root.frameNum == ""; } else { _root.searchResult = "The page number you entered isn't valid"; } if (_root.frameNum == "trivia") { _root.gotoAndStop("trivia"); } if (_root.frameNum == "eagle") { _root.gotoAndStop("eagle"); } if (_root.frameNum == "pronote") { _root.gotoAndStop("pronote"); } if (_root.frameNum == "betatest") { _root.gotoAndStop("betatest"); } }Symbol 841 MovieClip Frame 1stop();Symbol 841 MovieClip Frame 2stop();Symbol 857 MovieClip Frame 1stop();Symbol 857 MovieClip Frame 30stop();Symbol 857 MovieClip Frame 59gotoAndStop (1);Symbol 860 MovieClip Frame 1stop();Instance of Symbol 844 MovieClip in Symbol 860 MovieClip Frame 1onClipEvent (enterFrame) { if ((_root.bigmen.otherbtn._currentframe = 1)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.otherbtn.gotoAndStop(2); _root.bigmen.otherbtn.holdin.play(); } else { _root.bigmen.otherbtn.gotoAndStop(1); if (_root.bigmen.otherbtn.holdin._currentframe == 30) { _root.bigmen.otherbtn.holdin.play(); } if (_root.bigmen.otherbtn.holdin._currentframe < 20) { _root.bigmen.otherbtn.holdin.gotoAndStop(1); } } } }Instance of Symbol 847 MovieClip in Symbol 860 MovieClip Frame 1onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("grounds"); } }Symbol 860 MovieClip Frame 2stop();Instance of Symbol 859 MovieClip in Symbol 860 MovieClip Frame 2onClipEvent (enterFrame) { if ((_root.bigmen.otherbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.otherbtn.gotoAndStop(2); if (_root.bigmen.otherbtn.holdin._currentframe == 1) { _root.bigmen.otherbtn.holdin.play(); } } else { _root.bigmen.otherbtn.gotoAndStop(1); if (_root.bigmen.otherbtn.holdin._currentframe == 30) { _root.bigmen.otherbtn.holdin.play(); } if (_root.bigmen.otherbtn.holdin._currentframe < 20) { _root.bigmen.otherbtn.holdin.gotoAndStop(1); } } } }Symbol 875 MovieClip Frame 1stop();Symbol 875 MovieClip Frame 30stop();Symbol 875 MovieClip Frame 60gotoAndStop (1);Symbol 878 MovieClip Frame 1stop();Instance of Symbol 863 MovieClip in Symbol 878 MovieClip Frame 1onClipEvent (enterFrame) { if (_root.bigmen.asbtn._currentframe == 1) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.asbtn.gotoAndStop(2); _root.bigmen.asbtn.movein3.play(); } else { _root.bigmen.asbtn.gotoAndStop(1); if (_root.bigmen.asbtn.movein3._currentframe == 30) { _root.bigmen.asbtn.movein3.play(); } if (_root.bigmen.asbtn.movein3._currentframe < 20) { _root.bigmen.asbtn.movein3.gotoAndStop(1); } } } }Instance of Symbol 847 MovieClip in Symbol 878 MovieClip Frame 1onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("code"); } }Symbol 878 MovieClip Frame 2stop();Instance of Symbol 877 MovieClip in Symbol 878 MovieClip Frame 2onClipEvent (enterFrame) { if ((_root.bigmen.asbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.asbtn.gotoAndStop(2); if (_root.bigmen.asbtn.movein3._currentframe == 1) { _root.bigmen.asbtn.movein3.play(); } } else { _root.bigmen.asbtn.gotoAndStop(1); if (_root.bigmen.asbtn.movein3._currentframe == 30) { _root.bigmen.asbtn.movein3.play(); } if (_root.bigmen.asbtn.movein3._currentframe < 20) { _root.bigmen.asbtn.movein3.gotoAndStop(1); } } } }Symbol 893 MovieClip Frame 1stop();Symbol 893 MovieClip Frame 30stop();Symbol 893 MovieClip Frame 60gotoAndStop (1);Symbol 896 MovieClip Frame 1stop();Instance of Symbol 881 MovieClip in Symbol 896 MovieClip Frame 1onClipEvent (enterFrame) { if (_root.bigmen.flashbtn._currentframe == 1) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.flashbtn.gotoAndStop(2); _root.bigmen.flashbtn.movein2.play(); } else { _root.bigmen.flashbtn.gotoAndStop(1); if (_root.bigmen.flashbtn.movein2._currentframe == 30) { _root.bigmen.flashbtn.movein2.play(); } if (_root.bigmen.flashbtn.movein2._currentframe < 20) { _root.bigmen.flashbtn.movein2.gotoAndStop(1); } } } }Instance of Symbol 847 MovieClip in Symbol 896 MovieClip Frame 1onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("flash"); } }Symbol 896 MovieClip Frame 2stop();Instance of Symbol 895 MovieClip in Symbol 896 MovieClip Frame 2onClipEvent (enterFrame) { if ((_root.bigmen.flashbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.flashbtn.gotoAndStop(2); if (_root.bigmen.flashbtn.movein2._currentframe == 1) { _root.bigmen.flashbtn.movein2.play(); } } else { _root.bigmen.flashbtn.gotoAndStop(1); if (_root.bigmen.flashbtn.movein2._currentframe == 30) { _root.bigmen.flashbtn.movein2.play(); trace("its at frame 30"); } if (_root.bigmen.flashbtn.movein2._currentframe < 20) { _root.bigmen.flashbtn.movein2.gotoAndStop(10); } } } }Symbol 945 MovieClip Frame 1stop();Symbol 945 MovieClip Frame 30stop();Symbol 945 MovieClip Frame 60gotoAndStop (1);Symbol 948 MovieClip Frame 1stop();Instance of Symbol 899 MovieClip "swiftbtn1" in Symbol 948 MovieClip Frame 1onClipEvent (enterFrame) { if ((_root.bigmen.swiftbtn._currentframe = 1)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.swiftbtn.gotoAndStop(2); _root.bigmen.swiftbtn.movein1.play(); } else { _root.bigmen.swiftbtn.gotoAndStop(1); if (_root.bigmen.swiftbtn.movein1._currentframe == 30) { _root.bigmen.swiftbtn.movein1.play(); } if (_root.bigmen.swiftbtn.movein1._currentframe < 20) { _root.bigmen.swiftbtn.movein1.gotoAndStop(1); } } } }Instance of Symbol 847 MovieClip in Symbol 948 MovieClip Frame 1onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("swift"); } }Symbol 948 MovieClip Frame 2stop();Instance of Symbol 947 MovieClip "swiftbtn2" in Symbol 948 MovieClip Frame 2onClipEvent (enterFrame) { if ((_root.bigmen.swiftbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.swiftbtn.gotoAndStop(2); if (_root.bigmen.swiftbtn.movein1._currentframe == 1) { _root.bigmen.swiftbtn.movein1.play(); } } else { _root.bigmen.swiftbtn.gotoAndStop(1); if (_root.bigmen.swiftbtn.movein1._currentframe == 30) { _root.bigmen.swiftbtn.movein1.play(); } if (_root.bigmen.swiftbtn.movein1._currentframe < 20) { _root.bigmen.swiftbtn.movein1.gotoAndStop(1); } } } }Symbol 955 MovieClip Frame 1stop();Instance of Symbol 841 MovieClip "slider" in Symbol 955 MovieClip Frame 1onClipEvent (enterFrame) { this._x = _root.bigmen._xmouse; if (this._x <= -157) { this._x = -156; } if (this._x >= 200) { this._x = 219; } }Instance of Symbol 954 MovieClip in Symbol 955 MovieClip Frame 1onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.slider.gotoAndStop(2); } else { _root.bigmen.slider.gotoAndStop(1); } }Symbol 967 Buttonon (press) { getURL ("http://www.armorgames.com", "blank"); }Symbol 974 Buttonon (release) { gotoAndStop ("grounds"); }Symbol 981 Buttonon (press) { gotoAndStop ("code"); }Symbol 987 Buttonon (release) { gotoAndStop ("flash"); }Symbol 1071 Buttonon (release) { gotoAndStop ("swift"); }Symbol 1076 MovieClip Frame 1stop();Symbol 1077 Buttonon (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); }Symbol 1083 MovieClip Frame 1_root.blinanor2.stop();Symbol 1083 MovieClip Frame 3_root.blinanor2.gotoAndStop(1);Symbol 1086 MovieClip Frame 1_root.blinanor.stop();Symbol 1086 MovieClip Frame 2play();Symbol 1086 MovieClip Frame 3_root.blinanor.gotoAndStop(1);Symbol 1088 Buttonon (press) { _global.bookmarks.push(_root._currentframe); _global.bookmarkLabels.push(_global.blabel); }Symbol 1099 MovieClip Frame 1stop();Symbol 1099 MovieClip Frame 30stop();Symbol 1099 MovieClip Frame 45stop();Symbol 1107 Buttonon (press) { gotoAndStop ("swift12"); }Symbol 1110 Buttonon (press) { gotoAndStop ("swift13"); }Symbol 1113 Buttonon (press) { gotoAndStop ("swift11"); }Symbol 1116 Buttonon (press) { gotoAndStop ("swift10"); }Symbol 1119 Buttonon (press) { gotoAndStop ("swift9"); }Symbol 1122 Buttonon (press) { gotoAndStop ("swift8"); }Symbol 1125 Buttonon (press) { gotoAndStop ("swift7"); }Symbol 1128 Buttonon (press) { gotoAndStop ("swift6"); }Symbol 1131 Buttonon (press) { gotoAndStop ("swift5"); }Symbol 1134 Buttonon (press) { gotoAndStop ("swift4"); }Symbol 1137 Buttonon (press) { gotoAndStop ("swift3"); }Symbol 1140 Buttonon (press) { gotoAndStop ("swift2"); }Symbol 1143 Buttonon (press) { gotoAndStop ("swift1"); }Symbol 1149 Buttonon (press) { _root.gotoAndStop("main"); }Symbol 1156 Buttonon (release) { _root.gotoAndStop("sm4"); }Symbol 1163 Buttonon (release) { _root.gotoAndStop("sm3"); }Symbol 1170 Buttonon (release) { _root.gotoAndStop("sm2"); }Symbol 1177 Buttonon (release) { _root.gotoAndStop("sm1"); }Symbol 1249 Buttonon (press) { _root.gotoAndStop("swift4"); }Symbol 1252 Buttonon (press) { _root.gotoAndStop("swift3"); }Symbol 1255 Buttonon (press) { _root.gotoAndStop("swift2"); }Symbol 1258 Buttonon (press) { _root.gotoAndStop("swift1"); }Symbol 1262 Buttonon (press) { _root.gotoAndStop("swift7"); }Symbol 1265 Buttonon (press) { _root.gotoAndStop("swift6"); }Symbol 1268 Buttonon (press) { _root.gotoAndStop("swift5"); }Symbol 1272 Buttonon (press) { _root.gotoAndStop("swift9"); }Symbol 1275 Buttonon (press) { _root.gotoAndStop("swift8"); }Symbol 1279 Buttonon (press) { _root.gotoAndStop("swift13"); }Symbol 1282 Buttonon (press) { _root.gotoAndStop("swift12"); }Symbol 1285 Buttonon (press) { _root.gotoAndStop("swift11"); }Symbol 1288 Buttonon (press) { _root.gotoAndStop("swift10"); }Symbol 1290 MovieClip Frame 1stop();Symbol 1290 MovieClip Frame 2stop();Symbol 1290 MovieClip Frame 3stop();Symbol 1290 MovieClip Frame 4stop();Symbol 1290 MovieClip Frame 5stop();Symbol 1358 MovieClip Frame 1stop();Symbol 1458 MovieClip Frame 1play();Symbol 1460 Buttonon (press) { gotoAndStop ("swift11"); }Symbol 1462 Buttonon (press) { gotoAndStop ("swift13"); }Symbol 1464 Buttonon (press) { gotoAndStop ("swift12"); }Symbol 1466 Buttonon (press) { nextFrame(); }Symbol 1470 Buttonon (press) { gotoAndStop ("swift10"); } on (rollOver) { _root.btn01.gotoAndStop(1); }Symbol 1473 Buttonon (rollOver) { gotoAndStop (20); } on (rollOver) { _root.btn11.gotoAndStop(1); _root.btn00.gotoAndStop(1); }Symbol 1475 Buttonon (rollOver) { gotoAndStop (1); }Symbol 1479 Buttonon (press) { gotoAndStop ("swift9"); }Symbol 1483 Buttonon (press) { gotoAndStop ("swift8"); }Symbol 1487 MovieClip Frame 1stop();Symbol 1487 MovieClip Frame 20stop();Symbol 1491 Buttonon (rollOver) { gotoAndStop (20); }Symbol 1493 Buttonon (rollOver) { gotoAndStop (1); }Symbol 1498 Buttonon (press) { _root.gotoAndStop("swift6"); }Symbol 1502 Buttonon (press) { _root.gotoAndStop("swift7"); }Symbol 1505 Buttonon (rollOut) { gotoAndStop (1); }Symbol 1507 MovieClip Frame 1stop();Symbol 1511 Buttonon (press) { gotoAndStop ("swift5"); } on (rollOver) { _root.btn11.gotoAndStop("closed2"); _root.btn00.gotoAndStop("closed"); }Symbol 1514 Buttonon (rollOver) { gotoAndStop ("open"); }Symbol 1516 Buttonon (rollOver) { gotoAndStop ("closed"); }Symbol 1521 Buttonon (press) { _root.gotoAndStop("swift1"); }Symbol 1525 Buttonon (press) { _root.gotoAndStop("swift2"); }Symbol 1530 Buttonon (press) { _root.gotoAndStop("swift3"); }Symbol 1534 Buttonon (press) { _root.gotoAndStop("swift4"); }Symbol 1542 MovieClip Frame 1stop();Symbol 1542 MovieClip Frame 20stop();Symbol 1548 Buttonon (press) { gotoAndStop ("main"); }Symbol 1551 Buttonon (press) { gotoAndStop ("swift13"); }Symbol 1554 Buttonon (press) { gotoAndStop (1); }Symbol 1556 Buttonon (press) { gotoAndStop ("swift12"); }Symbol 1558 Buttonon (press) { gotoAndStop (1); }Symbol 1559 Buttonon (press) { gotoAndStop ("swift11"); }Symbol 1561 Buttonon (press) { gotoAndStop ("swift10"); }Symbol 1563 Buttonon (press) { gotoAndStop (1); }Symbol 1564 Buttonon (press) { gotoAndStop ("swift9"); }Symbol 1566 Buttonon (press) { gotoAndStop (1); }Symbol 1567 Buttonon (press) { gotoAndStop ("swift8"); }Symbol 1569 Buttonon (press) { gotoAndStop (1); }Symbol 1570 Buttonon (press) { gotoAndStop ("swift7"); }Symbol 1572 Buttonon (press) { gotoAndStop (1); }Symbol 1573 Buttonon (press) { gotoAndStop ("swift6"); }Symbol 1575 Buttonon (press) { gotoAndStop ("swift5"); }Symbol 1577 Buttonon (press) { gotoAndStop ("swift4"); }Symbol 1579 Buttonon (press) { gotoAndStop ("swift3"); }Symbol 1583 Buttonon (press) { gotoAndStop ("swift2"); }Symbol 1585 Buttonon (press) { gotoAndStop ("swift1"); }Symbol 1589 Buttonon (press) { if ((_root._currentframe >= 3) and (_root._currentframe <= 113)) { _root.gotoAndStop("sm1"); } if ((_root._currentframe >= 114) and (_root._currentframe <= 146)) { _root.gotoAndStop("sm2"); } if ((_root._currentframe >= 147) and (_root._currentframe <= 166)) { _root.gotoAndStop("sm3"); } if ((_root._currentframe >= 167) and (_root._currentframe <= 274)) { _root.gotoAndStop("sm4"); } if ((_root._currentframe >= 276) and (_root._currentframe <= 362)) { _root.gotoAndStop("fm1"); } if ((_root._currentframe >= 363) and (_root._currentframe <= 471)) { _root.gotoAndStop("fm2"); } if ((_root._currentframe >= 472) and (_root._currentframe <= 661)) { _root.gotoAndStop("fm3"); } if ((_root._currentframe <= 736) and (_root._currentframe >= 662)) { _root.gotoAndStop("code"); } if ((_root._currentframe <= 776) and (_root._currentframe >= 737)) { _root.gotoAndStop("grounds"); } if (_root._currentframe == 1) { _root.gotoAndStop("main"); } }Symbol 1593 Buttonon (press) { if ((_root._currentframe <= 274) and (_root._currentframe >= 2)) { _root.gotoAndStop("swift"); } if ((_root._currentframe <= 639) and (_root._currentframe >= 275)) { _root.gotoAndStop("flash"); } if ((_root._currentframe <= 714) and (_root._currentframe >= 640)) { _root.gotoAndStop("code"); } if ((_root._currentframe <= 763) and (_root._currentframe >= 715)) { _root.gotoAndStop("grounds"); } if (_root._currentframe == 1) { _root.gotoAndStop("main"); } }Symbol 1597 Buttonon (press) { _root.gotoAndStop("main"); }Symbol 1599 Buttonon (rollOver) { _root.men.gotoAndPlay(2); _root.menutxt._visible = false; }Symbol 1607 Buttonon (release) { _root.gotoAndStop("swift4"); }Symbol 1612 Buttonon (release) { _root.gotoAndStop("swift3"); }Symbol 1617 Buttonon (release) { _root.gotoAndStop("swift2"); }Symbol 1622 Buttonon (release) { _root.gotoAndStop("swift1"); }Symbol 1632 Buttonon (press) { play(); }Symbol 1643 Buttonon (press) { prevFrame(); }Symbol 1738 Buttonon (press) { _root.play(); }Symbol 1739 Buttonon (press) { gotoAndStop ("swift"); }Symbol 2290 Buttonon (release) { _root.gotoAndStop("swift7"); }Symbol 2295 Buttonon (release) { _root.gotoAndStop("swift6"); }Symbol 2299 Buttonon (release) { _root.gotoAndStop("swift5"); }Symbol 2466 Buttonon (release) { _root.gotoAndStop("swift9"); }Symbol 2471 Buttonon (release) { _root.gotoAndStop("swift8"); }Symbol 2661 Buttonon (release) { _root.gotoAndStop("swift13"); }Symbol 2665 Buttonon (release) { _root.gotoAndStop("swift12"); }Symbol 2669 Buttonon (release) { _root.gotoAndStop("swift11"); }Symbol 2674 Buttonon (release) { _root.gotoAndStop("swift10"); }Symbol 3461 Buttonon (press) { nextFrame(); }Symbol 3465 Buttonon (release) { nextFrame(); }Symbol 3470 Buttonon (release) { nextFrame(); }Symbol 3475 Buttonon (release) { nextFrame(); }Symbol 3478 Buttonon (release) { gotoAndStop ("aa"); }Symbol 3483 Buttonon (release) { gotoAndStop ("ab"); }Symbol 3484 Buttonon (release) { nextFrame(); }Symbol 3490 Buttonon (press) { nextFrame(); }Symbol 3493 Buttonon (press) { gotoAndStop ("ac"); }Symbol 3496 Buttonon (press) { nextFrame(); }Symbol 3503 Buttonon (press) { nextFrame(); }Symbol 3506 Buttonon (press) { nextFrame(); }Symbol 3509 Buttonon (press) { nextFrame(); }Symbol 3512 Buttonon (press) { gotoAndStop ("a1"); }Symbol 3518 Buttonon (press) { nextFrame(); }Symbol 3521 Buttonon (press) { gotoAndStop ("a2"); }Symbol 3524 Buttonon (press) { nextFrame(); }Symbol 3527 Buttonon (press) { nextFrame(); }Symbol 3533 Buttonon (press) { nextFrame(); }Symbol 3536 Buttonon (press) { nextFrame(); }Symbol 3539 Buttonon (press) { gotoAndStop ("a3"); }Symbol 3542 Buttonon (press) { nextFrame(); }Symbol 3548 Buttonon (press) { nextFrame(); }Symbol 3551 Buttonon (press) { gotoAndStop ("a4"); }Symbol 3554 Buttonon (press) { nextFrame(); }Symbol 3557 Buttonon (press) { nextFrame(); }Symbol 3563 Buttonon (press) { nextFrame(); }Symbol 3566 Buttonon (press) { gotoAndStop ("a5"); }Symbol 3574 Buttonon (press) { gotoAndStop ("a6"); }Symbol 3575 Buttonon (press) { nextFrame(); }Symbol 3579 Buttonon (press) { gotoAndStop ("a7"); }Symbol 3583 Buttonon (release) { gotoAndStop ("a8"); }Symbol 3589 Buttonon (press) { nextFrame(); }Symbol 3593 Buttonon (press) { gotoAndStop ("a9"); }Symbol 3596 Buttonon (press) { nextFrame(); }Symbol 3599 Buttonon (press) { nextFrame(); }Symbol 3605 Buttonon (press) { nextFrame(); }Symbol 3608 Buttonon (press) { nextFrame(); }Symbol 3611 Buttonon (press) { nextFrame(); }Symbol 3614 Buttonon (press) { nextFrame(); }Symbol 3617 Buttonon (press) { gotoAndStop ("a10"); }Symbol 3620 Buttonon (release) { gotoAndStop ("a11"); }Symbol 3634 Buttonon (press) { gotoAndStop ("a12"); }Symbol 3640 Buttonon (press) { nextFrame(); }Symbol 3643 Buttonon (press) { nextFrame(); }Symbol 3648 Buttonon (press) { gotoAndStop ("the end"); }Symbol 3654 Buttonon (press) { gotoAndStop ("main"); }Symbol 3657 Buttonon (press) { gotoAndStop ("flash"); }Symbol 3665 Buttonon (release) { _root.gotoAndStop("fm3"); }Symbol 3670 Buttonon (release) { _root.gotoAndStop("fm2"); }Symbol 3675 Buttonon (release) { _root.gotoAndStop("fm1"); }Symbol 3692 MovieClip Frame 1stop();Symbol 3692 MovieClip Frame 30stop(); _root.yigmen.ffbtn.moveina.stop();Symbol 3692 MovieClip Frame 60gotoAndStop (1);Symbol 3695 MovieClip Frame 1stop(); _root.yigmen.ffbtn.stop();Instance of Symbol 3687 MovieClip in Symbol 3695 MovieClip Frame 1onClipEvent (enterFrame) { if ((_root.yigmen.ffbtn._currentframe = 1)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove1 = 1; } else { _global.enableMove1 = 0; } if (_root.yigmen.ffbtn.moveina.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove2 = 1; } else { _global.enableMove2 = 0; } if ((_global.enableMove1 == 1) or (_global.enableMove2 == 1)) { _root.yigmen.ffbtn.gotoAndStop(2); if (_root.yigmen.ffbtn.moveina._currentframe != 30) { _root.yigmen.ffbtn.moveina.play(); } } else { if (_root.yigmen.ffbtn.moveina._currentframe >= 20) { _root.yigmen.ffbtn.moveina.play(); } if (_root.yigmen.ffbtn.moveina._currentframe < 20) { _root.yigmen.ffbtn.moveina.gotoAndStop(1); } } } }Symbol 3695 MovieClip Frame 2stop(); _root.yigmen.ffbtn.stop();Instance of Symbol 3694 MovieClip in Symbol 3695 MovieClip Frame 2onClipEvent (enterFrame) { if (_root.yigmen.ffbtn._currentframe == 2) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove1 = 1; } else { _global.enableMove1 = 0; } if (_root.yigmen.ffbtn.moveina.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove2 = 1; } else { _global.enableMove2 = 0; } if ((_global.enableMove1 == 1) or (_global.enableMove2 == 1)) { if (_root.yigmen.ffbtn.moveina._currentframe == 1) { if (_root.yigmen.ffbtn.moveina._currentframe != 30) { _root.yigmen.ffbtn.moveina.play(); } } else { _root.yigmen.ffbtn.gotoAndStop(1); if (_root.yigmen.ffbtn.moveina._currentframe >= 20) { _root.yigmen.ffbtn.moveina.play(); } if (_root.yigmen.ffbtn.moveina._currentframe < 20) { _root.yigmen.ffbtn.moveina.gotoAndStop(1); } } } } }Symbol 3700 MovieClip Frame 1stop();Symbol 3705 Buttonon (release) { gotoAndStop ("main"); }Symbol 3708 Buttonon (press) { gotoAndStop ("flash19"); }Symbol 3710 Buttonon (press) { gotoAndStop ("flash11"); }Symbol 3712 Buttonon (press) { gotoAndStop ("flash16"); }Symbol 3714 Buttonon (press) { gotoAndStop ("flash17"); }Symbol 3716 Buttonon (press) { gotoAndStop ("flash7"); }Symbol 3718 Buttonon (press) { gotoAndStop ("flash12"); }Symbol 3720 Buttonon (press) { gotoAndStop ("flash18"); }Symbol 3722 Buttonon (press) { gotoAndStop ("flash10"); }Symbol 3724 Buttonon (press) { gotoAndStop ("flash9"); }Symbol 3726 Buttonon (press) { gotoAndStop ("flash8"); }Symbol 3728 Buttonon (press) { gotoAndStop ("flash14"); }Symbol 3730 Buttonon (press) { gotoAndStop ("flash15"); }Symbol 3732 Buttonon (press) { gotoAndStop ("flash13"); }Symbol 3734 Buttonon (press) { gotoAndStop ("flash5"); }Symbol 3736 Buttonon (press) { gotoAndStop ("flash6"); }Symbol 3738 Buttonon (press) { gotoAndStop ("flash4"); }Symbol 3741 Buttonon (press) { gotoAndStop ("flash3"); }Symbol 3743 Buttonon (press) { gotoAndStop ("flash2"); }Symbol 3745 Buttonon (press) { gotoAndStop ("flash1"); }Symbol 3751 Buttonon (release) { _root.gotoAndStop("flash7"); }Symbol 3756 Buttonon (release) { _root.gotoAndStop("flash8"); }Symbol 3761 Buttonon (release) { _root.gotoAndStop("flash4"); }Symbol 3766 Buttonon (release) { _root.gotoAndStop("flash5"); }Symbol 3771 Buttonon (release) { _root.gotoAndStop("flash2"); }Symbol 3776 Buttonon (release) { _root.gotoAndStop("flash3"); }Symbol 3782 Buttonon (release) { _root.gotoAndStop("flash1"); }Symbol 3799 Buttonon (press) { gotoAndStop ("flash"); }Symbol 4312 Buttonon (press) { _root.btn01._alpha = _root.btn01._alpha - 10; }Symbol 4369 Buttonon (release) { _root.gotoAndStop("action8"); }Symbol 4373 Buttonon (release) { _root.gotoAndStop("action9"); }Symbol 4378 Buttonon (release) { _root.gotoAndStop("action7"); }Symbol 4382 Buttonon (release) { _root.gotoAndStop("action5"); }Symbol 4386 Buttonon (release) { _root.gotoAndStop("action4"); }Symbol 4390 Buttonon (release) { _root.gotoAndStop("action3"); }Symbol 4394 Buttonon (release) { _root.gotoAndStop("action2"); }Symbol 4398 Buttonon (release) { _root.gotoAndStop("action1"); }Symbol 4462 Buttonon (press) { getURL ("http://www.gotoandlearn.com/", "_blank"); }Symbol 4464 Buttonon (press) { getURL ("http://www.kirupa.com/developer/actionscript/string.htm", "_blank"); }Symbol 4544 Buttonon (press) { getURL ("http://www.sparknotes.com/cs/recursion/whatisrecursion/summary.html", "_blank"); }Symbol 4615 Buttonon (release) { _root.gotoAndStop("flash19"); }Symbol 4619 Buttonon (release) { _root.gotoAndStop("flash18"); }Symbol 4623 Buttonon (release) { _root.gotoAndStop("flash17"); }Symbol 4627 Buttonon (release) { _root.gotoAndStop("flash15"); }Symbol 4632 Buttonon (release) { _root.gotoAndStop("flash16"); }Symbol 4637 Buttonon (release) { _root.gotoAndStop("flash10"); }Symbol 4754 Buttonon (press) { getURL ("http://www.newgrounds.com/audio/view.php?id=1099589&sub=33305", "_blank"); }Symbol 4757 Buttonon (press) { getURL ("http://www.newgrounds.com/audio/view.php?id=596074&sub=16915", "_blank"); }Symbol 4954 Buttonon (press) { nextFrame(); }Symbol 4957 Buttonon (press) { nextFrame(); }Symbol 4960 Buttonon (press) { nextFrame(); }Symbol 4963 Buttonon (press) { gotoAndStop ("quiz1"); }Symbol 4966 Buttonon (press) { nextFrame(); }Symbol 4972 Buttonon (press) { gotoAndStop ("quiz2"); }Symbol 4975 Buttonon (press) { nextFrame(); }Symbol 4978 Buttonon (press) { nextFrame(); }Symbol 4981 Buttonon (press) { nextFrame(); }Symbol 4984 Buttonon (press) { nextFrame(); }Symbol 4987 Buttonon (press) { nextFrame(); }Symbol 4990 Buttonon (press) { nextFrame(); }Symbol 4993 Buttonon (press) { nextFrame(); }Symbol 4996 Buttonon (press) { nextFrame(); }Symbol 4999 Buttonon (press) { nextFrame(); }Symbol 5005 Buttonon (press) { nextFrame(); }Symbol 5008 Buttonon (press) { nextFrame(); }Symbol 5011 Buttonon (press) { nextFrame(); }Symbol 5014 Buttonon (press) { gotoAndStop ("quiz3"); }Symbol 5017 Buttonon (press) { nextFrame(); }Symbol 5020 Buttonon (press) { nextFrame(); }Symbol 5024 Buttonon (press) { gotoAndStop ("quiz4"); }Symbol 5032 Buttonon (press) { nextFrame(); }Symbol 5035 Buttonon (press) { nextFrame(); }Symbol 5038 Buttonon (press) { nextFrame(); }Symbol 5041 Buttonon (press) { nextFrame(); }Symbol 5044 Buttonon (press) { gotoAndStop ("quiz5"); }Symbol 5052 Buttonon (press) { nextFrame(); }Symbol 5055 Buttonon (press) { nextFrame(); }Symbol 5058 Buttonon (press) { nextFrame(); }Symbol 5061 Buttonon (press) { nextFrame(); }Symbol 5064 Buttonon (press) { nextFrame(); }Symbol 5066 Buttonon (press) { nextFrame(); }Symbol 5069 Buttonon (press) { gotoAndStop ("quiz6"); }Symbol 5072 Buttonon (press) { nextFrame(); }Symbol 5077 Buttonon (press) { nextFrame(); }Symbol 5080 Buttonon (press) { nextFrame(); }Symbol 5083 Buttonon (press) { nextFrame(); }Symbol 5086 Buttonon (press) { gotoAndStop ("quiz7"); }Symbol 5091 Buttonon (press) { nextFrame(); }Symbol 5094 Buttonon (press) { nextFrame(); }Symbol 5097 Buttonon (press) { nextFrame(); }Symbol 5100 Buttonon (press) { nextFrame(); }Symbol 5103 Buttonon (press) { nextFrame(); }Symbol 5106 Buttonon (press) { nextFrame(); }Symbol 5109 Buttonon (press) { nextFrame(); }Symbol 5112 Buttonon (press) { gotoAndStop ("quiz8"); }Symbol 5117 Buttonon (press) { gotoAndStop ("quiz9"); }Symbol 5119 Buttonon (press) { nextFrame(); }Symbol 5124 Buttonon (press) { nextFrame(); }Symbol 5126 Buttonon (press) { gotoAndStop ("quiz10"); }Symbol 5128 Buttonon (press) { nextFrame(); }Symbol 5130 Buttonon (press) { nextFrame(); }Symbol 5132 Buttonon (press) { nextFrame(); }Symbol 5135 Buttonon (press) { nextFrame(); }Symbol 5139 Buttonon (press) { nextFrame(); }Symbol 5141 Buttonon (press) { nextFrame(); }Symbol 5143 Buttonon (press) { nextFrame(); }Symbol 5145 Buttonon (press) { nextFrame(); }Symbol 5147 Buttonon (press) { gotoAndStop ("quiz11"); }Symbol 5149 Buttonon (press) { nextFrame(); }Symbol 5154 Buttonon (press) { nextFrame(); }Symbol 5156 Buttonon (press) { nextFrame(); }Symbol 5158 Buttonon (press) { gotoAndStop ("quiz12"); }Symbol 5160 Buttonon (press) { nextFrame(); }Symbol 5168 Buttonon (press) { nextFrame(); }Symbol 5170 Buttonon (press) { gotoAndStop ("quiz13"); }Symbol 5173 Buttonon (press) { gotoAndStop ("quiz14"); }Symbol 5177 Buttonon (press) { gotoAndStop ("quiz15"); }Symbol 5179 Buttonon (press) { nextFrame(); }Symbol 5183 Buttonon (press) { nextFrame(); }Symbol 5185 Buttonon (press) { gotoAndStop ("quiz16"); }Symbol 5187 Buttonon (press) { nextFrame(); }Symbol 5190 Buttonon (press) { gotoAndStop ("quiz17"); }Symbol 5194 Buttonon (press) { nextFrame(); }Symbol 5196 Buttonon (press) { nextFrame(); }Symbol 5198 Buttonon (press) { nextFrame(); }Symbol 5200 Buttonon (press) { gotoAndStop ("quiz18"); }Symbol 5203 Buttonon (press) { gotoAndStop ("quiz19"); }Symbol 5207 Buttonon (press) { nextFrame(); }Symbol 5209 Buttonon (press) { gotoAndStop ("quiz20"); }Symbol 5211 Buttonon (press) { nextFrame(); }Symbol 5213 Buttonon (press) { nextFrame(); }Symbol 5216 Buttonon (press) { gotoAndStop ("quiz21"); }Symbol 5222 Buttonon (press) { nextFrame(); }Symbol 5224 Buttonon (press) { gotoAndStop ("quiz22"); }Symbol 5226 Buttonon (press) { nextFrame(); }Symbol 5229 Buttonon (press) { gotoAndStop ("quiz23"); }Symbol 5232 Buttonon (press) { gotoAndStop ("quiz24"); }Symbol 5236 Buttonon (press) { nextFrame(); }Symbol 5238 Buttonon (press) { nextFrame(); }Symbol 5239 Buttonon (press) { nextFrame(); }Symbol 5241 Buttonon (press) { gotoAndStop ("quiz25"); }Symbol 5243 Buttonon (press) { nextFrame(); }Symbol 5245 Buttonon (press) { nextFrame(); }Symbol 5248 Buttonon (press) { gotoAndStop ("quiz26"); }Symbol 5251 Buttonon (press) { gotoAndStop ("quiz27"); }Symbol 5254 Buttonon (press) { getURL ("http://www.armorgames.com", "_blank"); }Symbol 5256 Buttonon (press) { getURL ("http://www.kirupa.com/forum/", "_blank"); }Symbol 5258 Buttonon (press) { getURL ("http://www.newgrounds.com/bbs/", "_blank"); }Symbol 5262 Buttonon (press) { getURL ("http://msdn.microsoft.com/vstudio/express/visualcsharp/", "_blank"); }Symbol 5268 Buttonon (press) { nextFrame(); }Symbol 5274 Buttonon (press) { gotoAndStop ("code12"); }Symbol 5277 Buttonon (press) { gotoAndStop ("code11"); }Symbol 5280 Buttonon (press) { gotoAndStop ("code10"); }Symbol 5283 Buttonon (press) { gotoAndStop ("code9"); }Symbol 5286 Buttonon (press) { gotoAndStop ("code8"); }Symbol 5289 Buttonon (press) { gotoAndStop ("code5"); }Symbol 5292 Buttonon (press) { gotoAndStop ("code7"); }Symbol 5295 Buttonon (press) { gotoAndStop ("code6"); }Symbol 5298 Buttonon (press) { gotoAndStop ("code4"); }Symbol 5301 Buttonon (press) { gotoAndStop ("code3"); }Symbol 5304 Buttonon (press) { gotoAndStop ("code2"); }Symbol 5307 Buttonon (press) { gotoAndStop ("code1"); }Symbol 5410 Buttonon (press) { getURL ("www.denvish.net/ulf/1152120297_s Preloader.fla", "_blank"); }Symbol 5415 Buttonon (press) { getURL ("http://www.denvish.net/ulf/1152120297_s Preloader.fla", "_blank"); }Symbol 5462 Buttonon (press) { print (_root.codekey, "bmovie"); }Symbol 5624 Buttonon (press) { _root.gotoAndStop("grounds7"); }Symbol 5627 Buttonon (press) { _root.gotoAndStop("grounds5"); }Symbol 5630 Buttonon (press) { _root.gotoAndStop("grounds4"); }Symbol 5634 Buttonon (press) { _root.gotoAndStop("grounds3"); }Symbol 5637 Buttonon (press) { _root.gotoAndStop("grounds1"); }Symbol 5639 Buttonon (press) { gotoAndStop ("grounds"); }Symbol 5747 Buttonon (press) { getURL ("http://www.newgrounds.com/portal/submit.php", "_blank"); }Symbol 5793 Buttonon (press) { getURL ("http://www.armorgames.com/contest4.html", "_blank"); }Symbol 5804 Buttonon (press) { getURL ("http://denvish.net/ulf/1155477208_dude.php", "_blank"); }Symbol 5806 Buttonon (press) { getURL ("http://denvish.net/ulf/1155477169_duckie.php", "_blank"); }Symbol 5815 MovieClip Frame 1play();Symbol 5815 MovieClip Frame 40play();
Library Items
Symbol 1 Sound [s2] | ||
Symbol 2 Sound [s1] | ||
Symbol 3 Graphic | Used by:4 | |
Symbol 4 MovieClip [snow] | Uses:3 | |
Symbol 9 Graphic | Used by:10 | |
Symbol 10 MovieClip [BoundingBox] | Uses:9 | Used by:29 33 37 96 97 98 130 131 132 133 152 160 192 212 217 |
Symbol 11 Graphic | Used by:12 | |
Symbol 12 MovieClip [BrdrShdw] | Uses:11 | Used by:15 20 21 |
Symbol 13 Graphic | Used by:14 | |
Symbol 14 MovieClip [BrdrFace] | Uses:13 | Used by:15 20 21 |
Symbol 15 MovieClip [SimpleButtonDown] | Uses:12 14 | Used by:33 |
Symbol 16 Graphic | Used by:17 | |
Symbol 17 MovieClip [BrdrBlk] | Uses:16 | Used by:20 21 |
Symbol 18 Graphic | Used by:19 195 | |
Symbol 19 MovieClip [BrdrHilght] | Uses:18 | Used by:20 21 |
Symbol 20 MovieClip [SimpleButtonIn] | Uses:17 19 12 14 | Used by:33 |
Symbol 21 MovieClip [SimpleButtonUp] | Uses:17 14 12 19 | Used by:33 |
Symbol 22 MovieClip [Defaults] | Used by:24 | |
Symbol 23 MovieClip [UIObjectExtensions] | Used by:24 | |
Symbol 24 MovieClip [UIObject] | Uses:22 23 | Used by:30 32 34 |
Symbol 25 Graphic | Used by:27 | |
Symbol 26 Graphic | Used by:27 | |
Symbol 27 Button | Uses:25 26 | Used by:30 |
Symbol 28 MovieClip | Used by:30 | |
Symbol 29 MovieClip [FocusRect] | Uses:10 | Used by:30 |
Symbol 30 MovieClip [FocusManager] | Uses:27 28 29 24 | Used by:32 |
Symbol 31 MovieClip [UIComponentExtensions] | Used by:32 | |
Symbol 32 MovieClip [UIComponent] | Uses:24 30 31 | Used by:33 130 131 |
Symbol 33 MovieClip [SimpleButton] | Uses:10 15 20 21 32 | Used by:37 96 97 212 |
Symbol 34 MovieClip [Border] | Uses:24 | Used by:35 37 |
Symbol 35 MovieClip [RectBorder] | Uses:34 | Used by:37 131 |
Symbol 36 MovieClip [ButtonSkin] | Used by:37 | |
Symbol 37 MovieClip [Button] | Uses:10 33 34 35 36 | Used by:96 97 192 217 |
Symbol 38 MovieClip [CustomBorder] | Used by:96 97 | |
Symbol 39 Graphic | Used by:41 77 78 79 82 83 88 | |
Symbol 40 Graphic | Used by:41 77 78 82 83 88 | |
Symbol 41 MovieClip [ScrollTrack] | Uses:39 40 | Used by:48 53 54 55 89 90 91 92 93 94 |
Symbol 42 Graphic | Used by:48 53 54 55 89 90 91 92 | |
Symbol 43 Graphic | Used by:48 53 54 55 89 90 91 92 | |
Symbol 44 Graphic | Used by:48 53 54 55 89 90 91 92 | |
Symbol 45 Graphic | Used by:48 53 54 55 89 90 91 92 | |
Symbol 46 Graphic | Used by:48 53 54 55 89 90 91 92 | |
Symbol 47 Graphic | Used by:48 53 54 55 | |
Symbol 48 MovieClip [ScrollDownArrowDisabled] | Uses:41 42 43 44 45 46 47 | Used by:95 |
Symbol 49 Graphic | Used by:50 | |
Symbol 50 MovieClip [ScrollThemeColor1] | Uses:49 | Used by:53 54 90 91 |
Symbol 51 Graphic | Used by:52 | |
Symbol 52 MovieClip [ScrollThemeColor2] | Uses:51 | Used by:53 90 |
Symbol 53 MovieClip [ScrollDownArrowDown] | Uses:41 42 50 43 44 45 46 52 47 | Used by:95 |
Symbol 54 MovieClip [ScrollDownArrowOver] | Uses:41 42 50 43 44 45 46 47 | Used by:95 |
Symbol 55 MovieClip [ScrollDownArrowUp] | Uses:41 42 43 44 45 46 47 | Used by:95 |
Symbol 56 Graphic | Used by:61 66 67 68 84 85 86 87 | |
Symbol 57 Graphic | Used by:61 66 67 68 84 85 86 87 | |
Symbol 58 Graphic | Used by:61 66 67 68 84 85 86 87 | |
Symbol 59 Graphic | Used by:61 66 67 68 84 85 86 87 | |
Symbol 60 Graphic | Used by:61 66 67 68 84 85 86 87 | |
Symbol 61 MovieClip [ScrollThumbBottomDisabled] | Uses:56 57 58 59 60 | Used by:95 |
Symbol 62 Graphic | Used by:63 | |
Symbol 63 MovieClip [ThumbThemeColor1] | Uses:62 | Used by:66 67 85 86 |
Symbol 64 Graphic | Used by:65 | |
Symbol 65 MovieClip [ThumbThemeColor3] | Uses:64 | Used by:66 85 |
Symbol 66 MovieClip [ScrollThumbBottomDown] | Uses:56 63 57 58 59 65 60 | Used by:95 |
Symbol 67 MovieClip [ScrollThumbBottomOver] | Uses:56 63 57 58 59 60 | Used by:95 |
Symbol 68 MovieClip [ScrollThumbBottomUp] | Uses:56 57 58 59 60 | Used by:95 |
Symbol 69 Graphic | Used by:70 73 74 75 | |
Symbol 70 MovieClip [ScrollThumbGripDisabled] | Uses:69 | Used by:95 |
Symbol 71 Graphic | Used by:72 | |
Symbol 72 MovieClip [ThumbThemeColor2] | Uses:71 | Used by:73 74 77 78 82 |
Symbol 73 MovieClip [ScrollThumbGripDown] | Uses:72 69 | Used by:95 |
Symbol 74 MovieClip [ScrollThumbGripOver] | Uses:72 69 | Used by:95 |
Symbol 75 MovieClip [ScrollThumbGripUp] | Uses:69 | Used by:95 |
Symbol 76 Graphic | Used by:77 78 82 83 | |
Symbol 77 MovieClip [ScrollThumbMiddleDisabled] | Uses:39 76 72 40 | Used by:95 |
Symbol 78 MovieClip [ScrollThumbMiddleDown] | Uses:39 72 76 40 | Used by:95 |
Symbol 79 MovieClip | Uses:39 | Used by:82 |
Symbol 80 Graphic | Used by:81 89 90 91 92 | |
Symbol 81 MovieClip | Uses:80 | Used by:82 |
Symbol 82 MovieClip [ScrollThumbMiddleOver] | Uses:39 72 76 79 81 40 | Used by:95 |
Symbol 83 MovieClip [ScrollThumbMiddleUp] | Uses:39 76 40 | Used by:95 |
Symbol 84 MovieClip [ScrollThumbTopDisabled] | Uses:56 57 58 59 60 | Used by:95 |
Symbol 85 MovieClip [ScrollThumbTopDown] | Uses:56 63 57 58 59 65 60 | Used by:95 |
Symbol 86 MovieClip [ScrollThumbTopOver] | Uses:56 63 57 58 59 60 | Used by:95 |
Symbol 87 MovieClip [ScrollThumbTopUp] | Uses:56 57 58 59 60 | Used by:95 |
Symbol 88 MovieClip [ScrollTrackDisabled] | Uses:39 40 | Used by:95 |
Symbol 89 MovieClip [ScrollUpArrowDisabled] | Uses:41 42 43 44 45 46 80 | Used by:95 |
Symbol 90 MovieClip [ScrollUpArrowDown] | Uses:41 42 50 43 44 45 46 52 80 | Used by:95 |
Symbol 91 MovieClip [ScrollUpArrowOver] | Uses:41 42 50 43 44 80 45 46 | Used by:95 |
Symbol 92 MovieClip [ScrollUpArrowUp] | Uses:41 42 43 44 45 46 80 | Used by:95 |
Symbol 93 MovieClip [BtnDownArrow] | Uses:41 | Used by:95 |
Symbol 94 MovieClip [BtnUpArrow] | Uses:41 | Used by:95 |
Symbol 95 MovieClip [ScrollBarAssets] | Uses:48 53 54 55 61 66 67 68 70 73 74 75 77 78 82 83 84 85 86 87 88 89 90 91 92 93 94 | Used by:96 97 |
Symbol 96 MovieClip [VScrollBar] | Uses:10 37 33 38 95 | Used by:98 132 |
Symbol 97 MovieClip [HScrollBar] | Uses:10 37 33 38 95 | Used by:98 132 |
Symbol 98 MovieClip [UIScrollBar] | Uses:10 96 97 | |
Symbol 126 MovieClip [MenuBarItem] | Used by:160 | |
Symbol 127 MovieClip [ActivatorSkin] | Used by:160 | |
Symbol 128 MovieClip [DataProvider] | Used by:133 | |
Symbol 129 MovieClip [DataSelector] | Used by:133 | |
Symbol 130 MovieClip [SelectableRow] | Uses:32 10 | Used by:133 |
Symbol 131 MovieClip [View] | Uses:10 32 35 | Used by:132 |
Symbol 132 MovieClip [ScrollView] | Uses:10 97 96 131 | Used by:133 212 215 |
Symbol 133 MovieClip [ScrollSelectList] | Uses:10 128 129 130 132 | Used by:152 |
Symbol 134 Graphic | Used by:135 | |
Symbol 135 MovieClip [MenuBranchDisabled] | Uses:134 | Used by:148 |
Symbol 136 Graphic | Used by:137 | |
Symbol 137 MovieClip [MenuBranchEnabled] | Uses:136 | Used by:148 |
Symbol 138 Graphic | Used by:139 | |
Symbol 139 MovieClip [MenuCheckDisabled] | Uses:138 | Used by:148 |
Symbol 140 Graphic | Used by:141 | |
Symbol 141 MovieClip [MenuCheckEnabled] | Uses:140 | Used by:148 |
Symbol 142 Graphic | Used by:143 | |
Symbol 143 MovieClip [MenuRadioDisabled] | Uses:142 | Used by:148 |
Symbol 144 Graphic | Used by:145 | |
Symbol 145 MovieClip [MenuRadioEnabled] | Uses:144 | Used by:148 |
Symbol 146 Graphic | Used by:147 | |
Symbol 147 MovieClip [MenuSeparator] | Uses:146 | Used by:148 |
Symbol 148 MovieClip [MenuAssets] | Uses:135 137 139 141 143 145 147 | Used by:149 |
Symbol 149 MovieClip [MenuRow] | Uses:148 | Used by:152 |
Symbol 150 MovieClip [TreeDataProvider] | Used by:151 | |
Symbol 151 MovieClip [MenuDataProvider] | Uses:150 | Used by:152 |
Symbol 152 MovieClip [Menu] | Uses:10 133 149 151 | Used by:160 |
Symbol 153 Graphic | Used by:154 | |
Symbol 154 MovieClip [MenuBarBackLeft] | Uses:153 | Used by:159 |
Symbol 155 Graphic | Used by:156 | |
Symbol 156 MovieClip [MenuBarBackMiddle] | Uses:155 | Used by:159 |
Symbol 157 Graphic | Used by:158 | |
Symbol 158 MovieClip [MenuBarBackRight] | Uses:157 | Used by:159 |
Symbol 159 MovieClip [MenuBarAssets] | Uses:154 156 158 | Used by:160 |
Symbol 160 MovieClip [MenuBar] | Uses:10 126 127 152 159 | |
Symbol 177 Graphic | Used by:178 182 183 185 187 188 189 190 | |
Symbol 178 MovieClip [CheckFalseDisabled] | Uses:177 | Used by:191 |
Symbol 179 Graphic | Used by:180 | |
Symbol 180 MovieClip [CheckThemeColor1] | Uses:179 | Used by:182 183 188 189 190 |
Symbol 181 Graphic | Used by:182 188 | |
Symbol 182 MovieClip [CheckFalseDown] | Uses:177 180 181 | Used by:191 |
Symbol 183 MovieClip [CheckFalseOver] | Uses:177 180 | Used by:191 |
Symbol 184 Graphic | Used by:185 | |
Symbol 185 MovieClip [CheckFalseUp] | Uses:177 184 | Used by:191 |
Symbol 186 Graphic | Used by:187 188 189 190 | |
Symbol 187 MovieClip [CheckTrueDisabled] | Uses:177 186 | Used by:191 |
Symbol 188 MovieClip [CheckTrueDown] | Uses:177 181 186 180 | Used by:191 |
Symbol 189 MovieClip [CheckTrueOver] | Uses:177 180 186 | Used by:191 |
Symbol 190 MovieClip [CheckTrueUp] | Uses:177 180 186 | Used by:191 |
Symbol 191 MovieClip [CheckBoxAssets] | Uses:178 182 183 185 187 188 189 190 | Used by:192 |
Symbol 192 MovieClip [CheckBox] | Uses:10 191 37 | |
Symbol 195 MovieClip [Modal] | Uses:18 | Used by:211 |
Symbol 196 Graphic | Used by:197 | |
Symbol 197 MovieClip [TitleLeft] | Uses:196 | Used by:202 |
Symbol 198 Graphic | Used by:199 | |
Symbol 199 MovieClip [TitleMiddle] | Uses:198 | Used by:202 |
Symbol 200 Graphic | Used by:201 | |
Symbol 201 MovieClip [TitleRight] | Uses:200 | Used by:202 |
Symbol 202 MovieClip [TitleBackground] | Uses:197 199 201 | Used by:211 |
Symbol 203 Graphic | Used by:204 | |
Symbol 204 MovieClip [CloseButtonDisabled] | Uses:203 | Used by:211 |
Symbol 205 Graphic | Used by:206 | |
Symbol 206 MovieClip [CloseButtonDown] | Uses:205 | Used by:211 |
Symbol 207 Graphic | Used by:208 | |
Symbol 208 MovieClip [CloseButtonOver] | Uses:207 | Used by:211 |
Symbol 209 Graphic | Used by:210 | |
Symbol 210 MovieClip [CloseButtonUp] | Uses:209 | Used by:211 |
Symbol 211 MovieClip [WindowAssets] | Uses:195 202 204 206 208 210 | Used by:212 |
Symbol 212 MovieClip [Window] | Uses:10 132 33 211 | Used by:217 |
Symbol 213 Font | Used by:214 | |
Symbol 214 EditableText | Uses:213 | Used by:215 |
Symbol 215 MovieClip [TextArea] | Uses:214 132 | Used by:217 |
Symbol 216 MovieClip [AlertAssets] | Used by:217 | |
Symbol 217 MovieClip [Alert] | Uses:10 212 215 37 216 | Used by:Timeline |
Symbol 220 Font | Used by:221 223 225 228 230 236 238 241 242 244 269 712 715 720 726 743 761 763 765 767 774 775 777 780 783 784 785 786 787 789 793 796 800 801 803 804 808 809 813 824 825 827 829 831 832 834 835 842 861 879 897 956 959 960 962 965 966 968 972 975 979 982 988 1072 1073 1087 1089 1090 1091 1092 1093 1094 1095 1096 1100 1101 1102 1105 1108 1111 1114 1117 1120 1123 1126 1129 1132 1135 1138 1141 1147 1150 1152 1157 1159 1164 1166 1171 1173 1247 1250 1253 1256 1259 1260 1263 1266 1269 1270 1273 1276 1277 1280 1283 1286 1289 1292 1297 1301 1305 1310 1315 1322 1326 1331 1336 1342 1346 1350 1354 1363 1368 1369 1373 1461 1463 1465 1468 1472 1477 1481 1489 1496 1500 1509 1513 1519 1523 1528 1532 1544 1546 1547 1549 1553 1557 1560 1562 1565 1568 1571 1574 1576 1578 1581 1584 1586 1587 1590 1591 1594 1595 1598 1603 1604 1605 1608 1609 1610 1613 1614 1615 1618 1619 1620 1625 1626 1627 1636 1639 1644 1647 1650 1651 1655 1659 1660 1661 1664 1665 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1683 1684 1687 1688 1691 1692 1695 1696 1699 1702 1705 1706 1709 1712 1713 1714 1717 1718 1721 1722 1726 1729 1730 1731 1735 1737 1741 1744 1745 1746 1747 1748 1750 1751 1756 1757 1761 1765 1769 1770 1774 1777 1780 1781 1784 1787 1788 1792 1793 1796 1797 1800 1803 1804 1807 1808 1811 1814 1817 1818 1822 1825 1826 1829 1832 1833 1836 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1852 1855 1856 1859 1862 1863 1869 1870 1871 1872 1875 1876 1879 1882 1884 1885 1889 1890 1971 1972 1973 1976 1977 1980 1985 1986 1987 1988 1992 1996 1997 2001 2004 2008 2012 2013 2014 2035 2036 2037 2038 2039 2040 2041 2045 2049 2052 2053 2054 2055 2056 2058 2059 2064 2067 2068 2069 2073 2075 2078 2081 2084 2093 2096 2099 2102 2105 2106 2110 2111 2120 2121 2125 2126 2133 2134 2137 2139 2143 2147 2154 2155 2163 2164 2165 2172 2173 2177 2178 2182 2183 2187 2188 2192 2193 2199 2200 2201 2204 2205 2206 2210 2217 2218 2228 2229 2230 2234 2235 2236 2240 2247 2251 2255 2262 2263 2264 2268 2269 2276 2277 2284 2285 2286 2287 2288 2291 2292 2293 2296 2297 2303 2306 2307 2310 2311 2314 2317 2320 2323 2324 2325 2326 2327 2328 2331 2332 2333 2334 2338 2342 2365 2366 2369 2372 2373 2374 2377 2380 2381 2382 2403 2404 2405 2406 2407 2410 2411 2415 2422 2423 2427 2428 2429 2430 2436 2440 2441 2444 2445 2449 2454 2455 2456 2459 2460 2461 2462 2463 2464 2467 2468 2469 2474 2475 2476 2479 2480 2481 2482 2483 2484 2488 2489 2490 2491 2492 2493 2496 2497 2499 2503 2507 2511 2515 2519 2523 2527 2532 2535 2536 2537 2544 2545 2586 2589 2590 2595 2596 2599 2600 2610 2611 2613 2619 2620 2624 2626 2627 2631 2635 2656 2657 2658 2659 2662 2663 2666 2667 2670 2671 2672 2677 2678 2679 2682 2683 2687 2688 2689 2693 2694 2698 2702 2706 2710 2711 2715 2719 2723 2727 2728 2729 2730 2736 2737 2738 2739 2743 2744 2745 2789 2829 2830 2834 2835 2836 2837 2844 2845 2853 2854 2855 2859 2863 2864 2865 2869 2873 2874 2875 2876 2878 2882 2953 2957 2958 2959 2963 2964 2965 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3020 3021 3025 3026 3027 3028 3032 3036 3049 3050 3051 3052 3053 3054 3055 3056 3057 3060 3061 3065 3066 3070 3071 3075 3076 3080 3081 3084 3085 3089 3090 3096 3097 3101 3102 3103 3110 3111 3112 3116 3117 3118 3122 3123 3124 3126 3127 3129 3133 3137 3138 3142 3143 3147 3148 3155 3156 3157 3158 3159 3202 3203 3207 3261 3262 3266 3315 3316 3317 3321 3327 3331 3371 3372 3373 3379 3380 3381 3382 3383 3385 3389 3390 3391 3392 3400 3401 3408 3409 3410 3414 3418 3419 3423 3427 3431 3432 3439 3440 3441 3445 3446 3450 3451 3455 3456 3457 3458 3459 3462 3466 3471 3476 3480 3481 3482 3485 3486 3487 3488 3491 3494 3497 3498 3499 3500 3501 3504 3507 3510 3513 3514 3515 3516 3519 3522 3525 3528 3529 3530 3531 3534 3537 3540 3543 3544 3545 3546 3549 3552 3555 3558 3559 3560 3561 3564 3567 3568 3572 3573 3576 3577 3578 3580 3581 3582 3584 3585 3586 3587 3590 3592 3594 3597 3600 3601 3602 3603 3606 3609 3612 3615 3618 3619 3621 3622 3626 3630 3631 3632 3633 3635 3637 3638 3641 3644 3645 3647 3649 3650 3651 3652 3655 3658 3659 3661 3663 3666 3668 3671 3673 3679 3682 3685 3688 3689 3701 3706 3709 3711 3713 3715 3717 3719 3721 3723 3725 3727 3729 3731 3733 3735 3737 3739 3742 3744 3746 3747 3748 3749 3752 3753 3754 3757 3758 3759 3762 3763 3764 3767 3768 3769 3772 3773 3774 3777 3778 3779 3781 3785 3786 3787 3788 3789 3790 3791 3792 3796 3798 3800 3801 3802 3803 3804 3805 3806 3807 3811 3813 3814 3815 3817 3818 3822 3827 3829 3830 3831 3835 3839 3841 3845 3846 3847 3848 3852 3854 3855 3860 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3879 3880 3881 3882 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3907 3908 3915 3916 3920 3924 3925 3926 3934 3935 3936 3937 3938 3942 3946 3947 3948 3955 3959 3963 3967 3968 3969 3976 3977 3978 3981 3982 3986 3987 3991 3992 3996 3997 3998 3999 4000 4004 4008 4012 4016 4020 4021 4022 4026 4027 4029 4030 4034 4038 4039 4043 4047 4048 4049 4050 4051 4055 4056 4057 4067 4068 4070 4071 4078 4082 4086 4091 4092 4093 4094 4095 4096 4097 4105 4106 4107 4110 4111 4112 4113 4114 4115 4122 4123 4124 4125 4126 4127 4134 4141 4145 4149 4158 4162 4169 4178 4182 4185 4188 4192 4195 4198 4202 4205 4208 4212 4213 4217 4220 4223 4224 4225 4226 4231 4232 4233 4234 4237 4242 4247 4252 4253 4255 4256 4257 4258 4259 4263 4264 4265 4266 4268 4269 4270 4271 4273 4274 4275 4276 4277 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4302 4303 4304 4305 4306 4308 4309 4310 4313 4314 4315 4316 4317 4320 4323 4324 4328 4329 4332 4333 4340 4341 4343 4344 4345 4346 4350 4354 4355 4356 4360 4364 4365 4366 4367 4368 4370 4371 4372 4374 4375 4376 4377 4379 4380 4381 4383 4384 4385 4387 4388 4389 4391 4392 4393 4395 4396 4397 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4434 4435 4436 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4463 4465 4466 4467 4468 4469 4470 4471 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4502 4503 4504 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4581 4582 4583 4590 4594 4595 4596 4597 4601 4602 4603 4604 4605 4606 4609 4610 4611 4612 4613 4614 4616 4617 4618 4620 4621 4622 4624 4625 4626 4628 4629 4630 4633 4634 4635 4640 4641 4642 4643 4647 4651 4652 4656 4660 4661 4662 4666 4667 4668 4669 4670 4674 4678 4679 4683 4684 4685 4686 4687 4688 4689 4693 4694 4698 4699 4703 4707 4708 4715 4716 4718 4722 4726 4734 4738 4742 4746 4748 4749 4750 4751 4752 4755 4758 4759 4760 4761 4762 4763 4764 4765 4766 4768 4769 4770 4771 4772 4773 4774 4776 4777 4778 4781 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4797 4798 4799 4800 4801 4802 4808 4810 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4827 4829 4830 4831 4832 4833 4835 4836 4837 4838 4839 4840 4841 4842 4844 4845 4846 4847 4848 4850 4851 4852 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4870 4874 4875 4876 4877 4878 4879 4883 4884 4885 4886 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4944 4945 4946 4947 4949 4950 4951 4952 4955 4958 4961 4964 4967 4968 4969 4970 4973 4976 4979 4982 4985 4988 4991 4994 4997 5000 5001 5002 5003 5006 5009 5012 5015 5018 5021 5022 5023 5025 5026 5027 5028 5029 5030 5033 5036 5039 5042 5045 5046 5047 5048 5050 5053 5056 5059 5062 5065 5067 5070 5073 5074 5075 5078 5081 5084 5087 5088 5089 5092 5095 5098 5101 5104 5107 5110 5113 5114 5120 5121 5122 5123 5125 5127 5129 5131 5133 5136 5137 5138 5140 5142 5144 5146 5148 5150 5152 5153 5155 5157 5159 5162 5163 5164 5165 5171 5172 5174 5175 5180 5181 5182 5184 5186 5188 5189 5191 5192 5193 5195 5197 5199 5201 5202 5204 5205 5206 5208 5210 5212 5214 5215 5219 5220 5221 5223 5225 5227 5228 5230 5231 5233 5234 5235 5237 5240 5242 5244 5246 5247 5249 5250 5252 5253 5255 5257 5259 5260 5263 5264 5265 5266 5269 5270 5272 5275 5278 5281 5284 5287 5290 5293 5296 5299 5302 5305 5308 5309 5310 5311 5312 5314 5315 5318 5319 5320 5322 5324 5325 5327 5329 5330 5331 5334 5335 5336 5337 5339 5340 5342 5343 5344 5346 5347 5349 5354 5355 5356 5358 5360 5361 5363 5364 5366 5368 5369 5372 5373 5375 5376 5381 5382 5383 5388 5389 5390 5391 5392 5394 5395 5396 5398 5399 5402 5403 5405 5407 5409 5412 5413 5416 5417 5419 5424 5425 5427 5431 5435 5436 5437 5438 5440 5442 5443 5445 5446 5448 5449 5451 5453 5454 5455 5456 5457 5458 5459 5461 5463 5547 5549 5550 5552 5553 5554 5556 5557 5559 5561 5562 5564 5566 5567 5568 5570 5572 5573 5575 5577 5578 5580 5581 5582 5584 5585 5586 5587 5589 5590 5591 5592 5597 5599 5600 5601 5602 5604 5605 5606 5607 5608 5611 5613 5614 5615 5616 5617 5618 5621 5622 5623 5625 5628 5631 5633 5635 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5672 5673 5678 5679 5682 5684 5687 5690 5693 5694 5699 5701 5704 5705 5706 5707 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5738 5739 5743 5744 5746 5748 5749 5753 5757 5758 5759 5763 5767 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5784 5788 5790 5791 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5805 5807 5816 5817 | |
Symbol 221 Text | Uses:220 | Used by:222 |
Symbol 222 MovieClip | Uses:221 | Used by:Timeline |
Symbol 5 MovieClip [__Packages.mx.core.UIObject] | ||
Symbol 99 MovieClip [__Packages.mx.skins.SkinElement] | ||
Symbol 100 MovieClip [__Packages.mx.styles.CSSTextStyles] | ||
Symbol 102 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] | ||
Symbol 101 MovieClip [__Packages.mx.styles.StyleManager] | ||
Symbol 6 MovieClip [__Packages.mx.core.UIComponent] | ||
Symbol 161 MovieClip [__Packages.mx.core.View] | ||
Symbol 103 MovieClip [__Packages.mx.skins.Border] | ||
Symbol 121 MovieClip [__Packages.mx.skins.RectBorder] | ||
Symbol 114 MovieClip [__Packages.mx.managers.DepthManager] | ||
Symbol 162 MovieClip [__Packages.mx.core.ExternalContent] | ||
Symbol 109 MovieClip [__Packages.mx.events.EventDispatcher] | ||
Symbol 110 MovieClip [__Packages.mx.events.UIEventDispatcher] | ||
Symbol 163 MovieClip [__Packages.mx.core.ScrollView] | ||
Symbol 7 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar] | ||
Symbol 104 MovieClip [__Packages.mx.skins.CustomBorder] | ||
Symbol 105 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb] | ||
Symbol 106 MovieClip [__Packages.mx.controls.SimpleButton] | ||
Symbol 193 MovieClip [__Packages.mx.containers.Window] | ||
Symbol 115 MovieClip [__Packages.mx.managers.SystemManager] | ||
Symbol 194 MovieClip [__Packages.mx.controls.Alert] | ||
Symbol 169 MovieClip [__Packages.mx.managers.PopUpManager] | ||
Symbol 219 MovieClip [__Packages.mx.controls.alertClasses.AlertForm] | ||
Symbol 218 MovieClip [__Packages.mx.controls.TextArea] | ||
Symbol 108 MovieClip [__Packages.mx.controls.Button] | ||
Symbol 8 MovieClip [__Packages.mx.controls.UIScrollBar] | ||
Symbol 107 MovieClip [__Packages.mx.controls.VScrollBar] | ||
Symbol 111 MovieClip [__Packages.mx.skins.ColoredSkinElement] | ||
Symbol 112 MovieClip [__Packages.mx.core.ext.UIObjectExtensions] | ||
Symbol 113 MovieClip [__Packages.mx.skins.halo.Defaults] | ||
Symbol 116 MovieClip [__Packages.mx.managers.FocusManager] | ||
Symbol 117 MovieClip [__Packages.mx.skins.halo.FocusRect] | ||
Symbol 118 MovieClip [__Packages.mx.managers.OverlappedWindows] | ||
Symbol 119 MovieClip [__Packages.mx.styles.CSSSetStyle] | ||
Symbol 120 MovieClip [__Packages.mx.core.ext.UIComponentExtensions] | ||
Symbol 122 MovieClip [__Packages.mx.skins.halo.RectBorder] | ||
Symbol 123 MovieClip [__Packages.mx.skins.halo.ButtonSkin] | ||
Symbol 124 MovieClip [__Packages.mx.controls.HScrollBar] | ||
Symbol 125 MovieClip [__Packages.mx.controls.MenuBar] | ||
Symbol 164 MovieClip [__Packages.mx.controls.listclasses.DataSelector] | ||
Symbol 165 MovieClip [__Packages.mx.controls.listclasses.DataProvider] | ||
Symbol 166 MovieClip [__Packages.mx.controls.listclasses.ScrollSelectList] | ||
Symbol 167 MovieClip [__Packages.mx.controls.treeclasses.TreeDataProvider] | ||
Symbol 168 MovieClip [__Packages.mx.controls.menuclasses.MenuDataProvider] | ||
Symbol 170 MovieClip [__Packages.mx.effects.Tween] | ||
Symbol 171 MovieClip [__Packages.mx.controls.Menu] | ||
Symbol 172 MovieClip [__Packages.mx.skins.halo.ActivatorSkin] | ||
Symbol 173 MovieClip [__Packages.mx.controls.menuclasses.MenuBarItem] | ||
Symbol 174 MovieClip [__Packages.mx.controls.listclasses.SelectableRow] | ||
Symbol 175 MovieClip [__Packages.mx.controls.menuclasses.MenuRow] | ||
Symbol 176 MovieClip [__Packages.mx.controls.CheckBox] | ||
Symbol 223 Text | Uses:220 | Used by:227 |
Symbol 224 Graphic | Used by:227 | |
Symbol 225 Text | Uses:220 | Used by:227 |
Symbol 226 Graphic | Used by:227 | |
Symbol 227 Button | Uses:223 224 225 226 | Used by:Timeline |
Symbol 228 Text | Uses:220 | Used by:232 |
Symbol 229 Graphic | Used by:232 | |
Symbol 230 Text | Uses:220 | Used by:232 |
Symbol 231 Graphic | Used by:232 | |
Symbol 232 Button | Uses:228 229 230 231 | Used by:Timeline |
Symbol 233 Graphic | Used by:235 | |
Symbol 234 Sound | Used by:235 | |
Symbol 235 MovieClip | Uses:233 234 | Used by:Timeline |
Symbol 236 Text | Uses:220 | Used by:713 |
Symbol 237 Graphic | Used by:239 | |
Symbol 238 Text | Uses:220 | Used by:239 |
Symbol 239 Button | Uses:237 238 | Used by:713 |
Symbol 240 Graphic | Used by:713 | |
Symbol 241 Text | Uses:220 | Used by:713 |
Symbol 242 Text | Uses:220 | Used by:713 |
Symbol 243 Graphic | Used by:245 | |
Symbol 244 Text | Uses:220 | Used by:245 |
Symbol 245 Button | Uses:243 244 | Used by:713 |
Symbol 246 Font | Used by:247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 305 306 307 308 309 310 311 312 313 314 315 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 366 367 368 369 370 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 401 402 403 404 405 406 407 408 409 431 432 433 434 435 436 437 438 439 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 490 491 492 493 494 495 496 497 498 499 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 598 599 600 601 602 603 604 605 606 607 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 640 641 642 643 644 645 646 647 648 649 650 651 652 653 656 663 664 665 666 667 668 669 670 671 672 673 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 | |
Symbol 247 Text | Uses:246 | Used by:713 |
Symbol 248 Text | Uses:246 | Used by:713 |
Symbol 249 Text | Uses:246 | Used by:713 |
Symbol 250 Text | Uses:246 | Used by:713 |
Symbol 251 Text | Uses:246 | Used by:713 |
Symbol 252 Text | Uses:246 | Used by:713 |
Symbol 253 Text | Uses:246 | Used by:713 |
Symbol 254 Text | Uses:246 | Used by:713 |
Symbol 255 Text | Uses:246 | Used by:713 |
Symbol 256 Text | Uses:246 | Used by:713 |
Symbol 257 Text | Uses:246 | Used by:713 |
Symbol 258 Text | Uses:246 | Used by:713 |
Symbol 259 Text | Uses:246 | Used by:713 |
Symbol 260 Text | Uses:246 | Used by:713 |
Symbol 261 Text | Uses:246 | Used by:713 |
Symbol 262 Text | Uses:246 | Used by:713 |
Symbol 263 Text | Uses:246 | Used by:713 |
Symbol 264 Text | Uses:246 | Used by:713 |
Symbol 265 Font | Used by:266 267 286 287 304 316 317 | |
Symbol 266 Text | Uses:265 | Used by:713 |
Symbol 267 Text | Uses:265 | Used by:713 |
Symbol 268 Graphic | Used by:270 | |
Symbol 269 Text | Uses:220 | Used by:270 |
Symbol 270 Button | Uses:268 269 | Used by:713 |
Symbol 271 Text | Uses:246 | Used by:713 |
Symbol 272 Text | Uses:246 | Used by:713 |
Symbol 273 Text | Uses:246 | Used by:713 |
Symbol 274 Text | Uses:246 | Used by:713 |
Symbol 275 Text | Uses:246 | Used by:713 |
Symbol 276 Text | Uses:246 | Used by:713 |
Symbol 277 Text | Uses:246 | Used by:713 |
Symbol 278 Text | Uses:246 | Used by:713 |
Symbol 279 Text | Uses:246 | Used by:713 |
Symbol 280 Text | Uses:246 | Used by:713 |
Symbol 281 Text | Uses:246 | Used by:713 |
Symbol 282 Text | Uses:246 | Used by:713 |
Symbol 283 Text | Uses:246 | Used by:713 |
Symbol 284 Text | Uses:246 | Used by:713 |
Symbol 285 Text | Uses:246 | Used by:713 |
Symbol 286 Text | Uses:265 | Used by:713 |
Symbol 287 Text | Uses:265 | Used by:713 |
Symbol 288 Text | Uses:246 | Used by:713 |
Symbol 289 Text | Uses:246 | Used by:713 |
Symbol 290 Text | Uses:246 | Used by:713 |
Symbol 291 Text | Uses:246 | Used by:713 |
Symbol 292 Text | Uses:246 | Used by:713 |
Symbol 293 Text | Uses:246 | Used by:713 |
Symbol 294 Text | Uses:246 | Used by:713 |
Symbol 295 Text | Uses:246 | Used by:713 |
Symbol 296 Text | Uses:246 | Used by:713 |
Symbol 297 Text | Uses:246 | Used by:713 |
Symbol 298 Text | Uses:246 | Used by:713 |
Symbol 299 Text | Uses:246 | Used by:713 |
Symbol 300 Text | Uses:246 | Used by:713 |
Symbol 301 Text | Uses:246 | Used by:713 |
Symbol 302 Text | Uses:246 | Used by:713 |
Symbol 303 Text | Uses:246 | Used by:713 |
Symbol 304 Text | Uses:265 | Used by:713 |
Symbol 305 Text | Uses:246 | Used by:713 |
Symbol 306 Text | Uses:246 | Used by:713 |
Symbol 307 Text | Uses:246 | Used by:713 |
Symbol 308 Text | Uses:246 | Used by:713 |
Symbol 309 Text | Uses:246 | Used by:713 |
Symbol 310 Text | Uses:246 | Used by:713 |
Symbol 311 Text | Uses:246 | Used by:713 |
Symbol 312 Text | Uses:246 | Used by:713 |
Symbol 313 Text | Uses:246 | Used by:713 |
Symbol 314 Text | Uses:246 | Used by:713 |
Symbol 315 Text | Uses:246 | Used by:713 |
Symbol 316 Text | Uses:265 | Used by:713 |
Symbol 317 Text | Uses:265 | Used by:713 |
Symbol 318 Text | Uses:246 | Used by:713 |
Symbol 319 Text | Uses:246 | Used by:713 |
Symbol 320 Text | Uses:246 | Used by:713 |
Symbol 321 Text | Uses:246 | Used by:713 |
Symbol 322 Text | Uses:246 | Used by:713 |
Symbol 323 Text | Uses:246 | Used by:713 |
Symbol 324 Text | Uses:246 | Used by:713 |
Symbol 325 Text | Uses:246 | Used by:713 |
Symbol 326 Text | Uses:246 | Used by:713 |
Symbol 327 Text | Uses:246 | Used by:713 |
Symbol 328 Text | Uses:246 | Used by:713 |
Symbol 329 Text | Uses:246 | Used by:713 |
Symbol 330 Text | Uses:246 | Used by:713 |
Symbol 331 Text | Uses:246 | Used by:713 |
Symbol 332 Text | Uses:246 | Used by:713 |
Symbol 333 Text | Uses:246 | Used by:713 |
Symbol 334 Text | Uses:246 | Used by:713 |
Symbol 335 Text | Uses:246 | Used by:713 |
Symbol 336 Text | Uses:246 | Used by:713 |
Symbol 337 Text | Uses:246 | Used by:713 |
Symbol 338 Text | Uses:246 | Used by:713 |
Symbol 339 Text | Uses:246 | Used by:713 |
Symbol 340 Text | Uses:246 | Used by:713 |
Symbol 341 Text | Uses:246 | Used by:713 |
Symbol 342 Text | Uses:246 | Used by:713 |
Symbol 343 Text | Uses:246 | Used by:713 |
Symbol 344 Text | Uses:246 | Used by:713 |
Symbol 345 Text | Uses:246 | Used by:713 |
Symbol 346 Text | Uses:246 | Used by:713 |
Symbol 347 Text | Uses:246 | Used by:713 |
Symbol 348 Text | Uses:246 | Used by:713 |
Symbol 349 Text | Uses:246 | Used by:713 |
Symbol 350 Text | Uses:246 | Used by:713 |
Symbol 351 Text | Uses:246 | Used by:713 |
Symbol 352 Text | Uses:246 | Used by:713 |
Symbol 353 Text | Uses:246 | Used by:713 |
Symbol 354 Text | Uses:246 | Used by:713 |
Symbol 355 Font | Used by:356 357 358 359 360 361 362 363 364 365 371 372 373 389 390 391 392 393 394 395 396 397 398 399 400 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 440 441 442 443 444 445 446 447 448 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 500 543 544 592 593 594 595 596 597 608 637 638 639 654 655 657 658 659 660 661 662 674 675 676 | |
Symbol 356 Text | Uses:355 | Used by:713 |
Symbol 357 Text | Uses:355 | Used by:713 |
Symbol 358 Text | Uses:355 | Used by:713 |
Symbol 359 Text | Uses:355 | Used by:713 |
Symbol 360 Text | Uses:355 | Used by:713 |
Symbol 361 Text | Uses:355 | Used by:713 |
Symbol 362 Text | Uses:355 | Used by:713 |
Symbol 363 Text | Uses:355 | Used by:713 |
Symbol 364 Text | Uses:355 | Used by:713 |
Symbol 365 Text | Uses:355 | Used by:713 |
Symbol 366 Text | Uses:246 | Used by:713 |
Symbol 367 Text | Uses:246 | Used by:713 |
Symbol 368 Text | Uses:246 | Used by:713 |
Symbol 369 Text | Uses:246 | Used by:713 |
Symbol 370 Text | Uses:246 | Used by:713 |
Symbol 371 Text | Uses:355 | Used by:713 |
Symbol 372 Text | Uses:355 | Used by:713 |
Symbol 373 Text | Uses:355 | Used by:713 |
Symbol 374 Text | Uses:246 | Used by:713 |
Symbol 375 Text | Uses:246 | Used by:713 |
Symbol 376 Text | Uses:246 | Used by:713 |
Symbol 377 Text | Uses:246 | Used by:713 |
Symbol 378 Text | Uses:246 | Used by:713 |
Symbol 379 Text | Uses:246 | Used by:713 |
Symbol 380 Text | Uses:246 | Used by:713 |
Symbol 381 Text | Uses:246 | Used by:713 |
Symbol 382 Text | Uses:246 | Used by:713 |
Symbol 383 Text | Uses:246 | Used by:713 |
Symbol 384 Text | Uses:246 | Used by:713 |
Symbol 385 Text | Uses:246 | Used by:713 |
Symbol 386 Text | Uses:246 | Used by:713 |
Symbol 387 Text | Uses:246 | Used by:713 |
Symbol 388 Text | Uses:246 | Used by:713 |
Symbol 389 Text | Uses:355 | Used by:713 |
Symbol 390 Text | Uses:355 | Used by:713 |
Symbol 391 Text | Uses:355 | Used by:713 |
Symbol 392 Text | Uses:355 | Used by:713 |
Symbol 393 Text | Uses:355 | Used by:713 |
Symbol 394 Text | Uses:355 | Used by:713 |
Symbol 395 Text | Uses:355 | Used by:713 |
Symbol 396 Text | Uses:355 | Used by:713 |
Symbol 397 Text | Uses:355 | Used by:713 |
Symbol 398 Text | Uses:355 | Used by:713 |
Symbol 399 Text | Uses:355 | Used by:713 |
Symbol 400 Text | Uses:355 | Used by:713 |
Symbol 401 Text | Uses:246 | Used by:713 |
Symbol 402 Text | Uses:246 | Used by:713 |
Symbol 403 Text | Uses:246 | Used by:713 |
Symbol 404 Text | Uses:246 | Used by:713 |
Symbol 405 Text | Uses:246 | Used by:713 |
Symbol 406 Text | Uses:246 | Used by:713 |
Symbol 407 Text | Uses:246 | Used by:713 |
Symbol 408 Text | Uses:246 | Used by:713 |
Symbol 409 Text | Uses:246 | Used by:713 |
Symbol 410 Text | Uses:355 | Used by:713 |
Symbol 411 Text | Uses:355 | Used by:713 |
Symbol 412 Text | Uses:355 | Used by:713 |
Symbol 413 Text | Uses:355 | Used by:713 |
Symbol 414 Text | Uses:355 | Used by:713 |
Symbol 415 Text | Uses:355 | Used by:713 |
Symbol 416 Text | Uses:355 | Used by:713 |
Symbol 417 Text | Uses:355 | Used by:713 |
Symbol 418 Text | Uses:355 | Used by:713 |
Symbol 419 Text | Uses:355 | Used by:713 |
Symbol 420 Text | Uses:355 | Used by:713 |
Symbol 421 Text | Uses:355 | Used by:713 |
Symbol 422 Text | Uses:355 | Used by:713 |
Symbol 423 Text | Uses:355 | Used by:713 |
Symbol 424 Text | Uses:355 | Used by:713 |
Symbol 425 Text | Uses:355 | Used by:713 |
Symbol 426 Text | Uses:355 | Used by:713 |
Symbol 427 Text | Uses:355 | Used by:713 |
Symbol 428 Text | Uses:355 | Used by:713 |
Symbol 429 Text | Uses:355 | Used by:713 |
Symbol 430 Text | Uses:355 | Used by:713 |
Symbol 431 Text | Uses:246 | Used by:713 |
Symbol 432 Text | Uses:246 | Used by:713 |
Symbol 433 Text | Uses:246 | Used by:713 |
Symbol 434 Text | Uses:246 | Used by:713 |
Symbol 435 Text | Uses:246 | Used by:713 |
Symbol 436 Text | Uses:246 | Used by:713 |
Symbol 437 Text | Uses:246 | Used by:713 |
Symbol 438 Text | Uses:246 | Used by:713 |
Symbol 439 Text | Uses:246 | Used by:713 |
Symbol 440 Text | Uses:355 | Used by:713 |
Symbol 441 Text | Uses:355 | Used by:713 |
Symbol 442 Text | Uses:355 | Used by:713 |
Symbol 443 Text | Uses:355 | Used by:713 |
Symbol 444 Text | Uses:355 | Used by:713 |
Symbol 445 Text | Uses:355 | Used by:713 |
Symbol 446 Text | Uses:355 | Used by:713 |
Symbol 447 Text | Uses:355 | Used by:713 |
Symbol 448 Text | Uses:355 | Used by:713 |
Symbol 449 Text | Uses:246 | Used by:713 |
Symbol 450 Text | Uses:246 | Used by:713 |
Symbol 451 Text | Uses:246 | Used by:713 |
Symbol 452 Text | Uses:246 | Used by:713 |
Symbol 453 Text | Uses:246 | Used by:713 |
Symbol 454 Text | Uses:246 | Used by:713 |
Symbol 455 Text | Uses:246 | Used by:713 |
Symbol 456 Text | Uses:246 | Used by:713 |
Symbol 457 Text | Uses:246 | Used by:713 |
Symbol 458 Text | Uses:246 | Used by:713 |
Symbol 459 Text | Uses:246 | Used by:713 |
Symbol 460 Text | Uses:246 | Used by:713 |
Symbol 461 Text | Uses:246 | Used by:713 |
Symbol 462 Text | Uses:246 | Used by:713 |
Symbol 463 Text | Uses:246 | Used by:713 |
Symbol 464 Text | Uses:246 | Used by:713 |
Symbol 465 Text | Uses:246 | Used by:713 |
Symbol 466 Text | Uses:246 | Used by:713 |
Symbol 467 Text | Uses:246 | Used by:713 |
Symbol 468 Text | Uses:246 | Used by:713 |
Symbol 469 Text | Uses:246 | Used by:713 |
Symbol 470 Text | Uses:246 | Used by:713 |
Symbol 471 Text | Uses:246 | Used by:713 |
Symbol 472 Text | Uses:246 | Used by:713 |
Symbol 473 Text | Uses:246 | Used by:713 |
Symbol 474 Text | Uses:355 | Used by:713 |
Symbol 475 Text | Uses:355 | Used by:713 |
Symbol 476 Text | Uses:355 | Used by:713 |
Symbol 477 Text | Uses:355 | Used by:713 |
Symbol 478 Text | Uses:355 | Used by:713 |
Symbol 479 Text | Uses:355 | Used by:713 |
Symbol 480 Text | Uses:355 | Used by:713 |
Symbol 481 Text | Uses:355 | Used by:713 |
Symbol 482 Text | Uses:355 | Used by:713 |
Symbol 483 Text | Uses:355 | Used by:713 |
Symbol 484 Text | Uses:355 | Used by:713 |
Symbol 485 Text | Uses:355 | Used by:713 |
Symbol 486 Text | Uses:355 | Used by:713 |
Symbol 487 Text | Uses:355 | Used by:713 |
Symbol 488 Text | Uses:355 | Used by:713 |
Symbol 489 Text | Uses:355 | Used by:713 |
Symbol 490 Text | Uses:246 | Used by:713 |
Symbol 491 Text | Uses:246 | Used by:713 |
Symbol 492 Text | Uses:246 | Used by:713 |
Symbol 493 Text | Uses:246 | Used by:713 |
Symbol 494 Text | Uses:246 | Used by:713 |
Symbol 495 Text | Uses:246 | Used by:713 |
Symbol 496 Text | Uses:246 | Used by:713 |
Symbol 497 Text | Uses:246 | Used by:713 |
Symbol 498 Text | Uses:246 | Used by:713 |
Symbol 499 Text | Uses:246 | Used by:713 |
Symbol 500 Text | Uses:355 | Used by:713 |
Symbol 501 Text | Uses:246 | Used by:713 |
Symbol 502 Text | Uses:246 | Used by:713 |
Symbol 503 Text | Uses:246 | Used by:713 |
Symbol 504 Text | Uses:246 | Used by:713 |
Symbol 505 Text | Uses:246 | Used by:713 |
Symbol 506 Text | Uses:246 | Used by:713 |
Symbol 507 Text | Uses:246 | Used by:713 |
Symbol 508 Text | Uses:246 | Used by:713 |
Symbol 509 Text | Uses:246 | Used by:713 |
Symbol 510 Text | Uses:246 | Used by:713 |
Symbol 511 Text | Uses:246 | Used by:713 |
Symbol 512 Text | Uses:246 | Used by:713 |
Symbol 513 Text | Uses:246 | Used by:713 |
Symbol 514 Text | Uses:246 | Used by:713 |
Symbol 515 Text | Uses:246 | Used by:713 |
Symbol 516 Text | Uses:246 | Used by:713 |
Symbol 517 Text | Uses:246 | Used by:713 |
Symbol 518 Text | Uses:246 | Used by:713 |
Symbol 519 Text | Uses:246 | Used by:713 |
Symbol 520 Text | Uses:246 | Used by:713 |
Symbol 521 Text | Uses:246 | Used by:713 |
Symbol 522 Text | Uses:246 | Used by:713 |
Symbol 523 Text | Uses:246 | Used by:713 |
Symbol 524 Text | Uses:246 | Used by:713 |
Symbol 525 Text | Uses:246 | Used by:713 |
Symbol 526 Text | Uses:246 | Used by:713 |
Symbol 527 Text | Uses:246 | Used by:713 |
Symbol 528 Text | Uses:246 | Used by:713 |
Symbol 529 Text | Uses:246 | Used by:713 |
Symbol 530 Text | Uses:246 | Used by:713 |
Symbol 531 Text | Uses:246 | Used by:713 |
Symbol 532 Text | Uses:246 | Used by:713 |
Symbol 533 Text | Uses:246 | Used by:713 |
Symbol 534 Text | Uses:246 | Used by:713 |
Symbol 535 Text | Uses:246 | Used by:713 |
Symbol 536 Text | Uses:246 | Used by:713 |
Symbol 537 Text | Uses:246 | Used by:713 |
Symbol 538 Text | Uses:246 | Used by:713 |
Symbol 539 Text | Uses:246 | Used by:713 |
Symbol 540 Text | Uses:246 | Used by:713 |
Symbol 541 Text | Uses:246 | Used by:713 |
Symbol 542 Text | Uses:246 | Used by:713 |
Symbol 543 Text | Uses:355 | Used by:713 |
Symbol 544 Text | Uses:355 | Used by:713 |
Symbol 545 Text | Uses:246 | Used by:713 |
Symbol 546 Text | Uses:246 | Used by:713 |
Symbol 547 Text | Uses:246 | Used by:713 |
Symbol 548 Text | Uses:246 | Used by:713 |
Symbol 549 Text | Uses:246 | Used by:713 |
Symbol 550 Text | Uses:246 | Used by:713 |
Symbol 551 Text | Uses:246 | Used by:713 |
Symbol 552 Text | Uses:246 | Used by:713 |
Symbol 553 Text | Uses:246 | Used by:713 |
Symbol 554 Text | Uses:246 | Used by:713 |
Symbol 555 Text | Uses:246 | Used by:713 |
Symbol 556 Text | Uses:246 | Used by:713 |
Symbol 557 Text | Uses:246 | Used by:713 |
Symbol 558 Text | Uses:246 | Used by:713 |
Symbol 559 Text | Uses:246 | Used by:713 |
Symbol 560 Text | Uses:246 | Used by:713 |
Symbol 561 Text | Uses:246 | Used by:713 |
Symbol 562 Text | Uses:246 | Used by:713 |
Symbol 563 Text | Uses:246 | Used by:713 |
Symbol 564 Text | Uses:246 | Used by:713 |
Symbol 565 Text | Uses:246 | Used by:713 |
Symbol 566 Text | Uses:246 | Used by:713 |
Symbol 567 Text | Uses:246 | Used by:713 |
Symbol 568 Text | Uses:246 | Used by:713 |
Symbol 569 Text | Uses:246 | Used by:713 |
Symbol 570 Text | Uses:246 | Used by:713 |
Symbol 571 Text | Uses:246 | Used by:713 |
Symbol 572 Text | Uses:246 | Used by:713 |
Symbol 573 Text | Uses:246 | Used by:713 |
Symbol 574 Text | Uses:246 | Used by:713 |
Symbol 575 Text | Uses:246 | Used by:713 |
Symbol 576 Text | Uses:246 | Used by:713 |
Symbol 577 Text | Uses:246 | Used by:713 |
Symbol 578 Text | Uses:246 | Used by:713 |
Symbol 579 Text | Uses:246 | Used by:713 |
Symbol 580 Text | Uses:246 | Used by:713 |
Symbol 581 Text | Uses:246 | Used by:713 |
Symbol 582 Text | Uses:246 | Used by:713 |
Symbol 583 Text | Uses:246 | Used by:713 |
Symbol 584 Text | Uses:246 | Used by:713 |
Symbol 585 Text | Uses:246 | Used by:713 |
Symbol 586 Text | Uses:246 | Used by:713 |
Symbol 587 Text | Uses:246 | Used by:713 |
Symbol 588 Text | Uses:246 | Used by:713 |
Symbol 589 Text | Uses:246 | Used by:713 |
Symbol 590 Text | Uses:246 | Used by:713 |
Symbol 591 Text | Uses:246 | Used by:713 |
Symbol 592 Text | Uses:355 | Used by:713 |
Symbol 593 Text | Uses:355 | Used by:713 |
Symbol 594 Text | Uses:355 | Used by:713 |
Symbol 595 Text | Uses:355 | Used by:713 |
Symbol 596 Text | Uses:355 | Used by:713 |
Symbol 597 Text | Uses:355 | Used by:713 |
Symbol 598 Text | Uses:246 | Used by:713 |
Symbol 599 Text | Uses:246 | Used by:713 |
Symbol 600 Text | Uses:246 | Used by:713 |
Symbol 601 Text | Uses:246 | Used by:713 |
Symbol 602 Text | Uses:246 | Used by:713 |
Symbol 603 Text | Uses:246 | Used by:713 |
Symbol 604 Text | Uses:246 | Used by:713 |
Symbol 605 Text | Uses:246 | Used by:713 |
Symbol 606 Text | Uses:246 | Used by:713 |
Symbol 607 Text | Uses:246 | Used by:713 |
Symbol 608 Text | Uses:355 | Used by:713 |
Symbol 609 Text | Uses:246 | Used by:713 |
Symbol 610 Text | Uses:246 | Used by:713 |
Symbol 611 Text | Uses:246 | Used by:713 |
Symbol 612 Text | Uses:246 | Used by:713 |
Symbol 613 Text | Uses:246 | Used by:713 |
Symbol 614 Text | Uses:246 | Used by:713 |
Symbol 615 Text | Uses:246 | Used by:713 |
Symbol 616 Text | Uses:246 | Used by:713 |
Symbol 617 Text | Uses:246 | Used by:713 |
Symbol 618 Text | Uses:246 | Used by:713 |
Symbol 619 Text | Uses:246 | Used by:713 |
Symbol 620 Text | Uses:246 | Used by:713 |
Symbol 621 Text | Uses:246 | Used by:713 |
Symbol 622 Text | Uses:246 | Used by:713 |
Symbol 623 Text | Uses:246 | Used by:713 |
Symbol 624 Text | Uses:246 | Used by:713 |
Symbol 625 Text | Uses:246 | Used by:713 |
Symbol 626 Text | Uses:246 | Used by:713 |
Symbol 627 Text | Uses:246 | Used by:713 |
Symbol 628 Text | Uses:246 | Used by:713 |
Symbol 629 Text | Uses:246 | Used by:713 |
Symbol 630 Text | Uses:246 | Used by:713 |
Symbol 631 Text | Uses:246 | Used by:713 |
Symbol 632 Text | Uses:246 | Used by:713 |
Symbol 633 Text | Uses:246 | Used by:713 |
Symbol 634 Text | Uses:246 | Used by:713 |
Symbol 635 Text | Uses:246 | Used by:713 |
Symbol 636 Text | Uses:246 | Used by:713 |
Symbol 637 Text | Uses:355 | Used by:713 |
Symbol 638 Text | Uses:355 | Used by:713 |
Symbol 639 Text | Uses:355 | Used by:713 |
Symbol 640 Text | Uses:246 | Used by:713 |
Symbol 641 Text | Uses:246 | Used by:713 |
Symbol 642 Text | Uses:246 | Used by:713 |
Symbol 643 Text | Uses:246 | Used by:713 |
Symbol 644 Text | Uses:246 | Used by:713 |
Symbol 645 Text | Uses:246 | Used by:713 |
Symbol 646 Text | Uses:246 | Used by:713 |
Symbol 647 Text | Uses:246 | Used by:713 |
Symbol 648 Text | Uses:246 | Used by:713 |
Symbol 649 Text | Uses:246 | Used by:713 |
Symbol 650 Text | Uses:246 | Used by:713 |
Symbol 651 Text | Uses:246 | Used by:713 |
Symbol 652 Text | Uses:246 | Used by:713 |
Symbol 653 Text | Uses:246 | Used by:713 |
Symbol 654 Text | Uses:355 | Used by:713 |
Symbol 655 Text | Uses:355 | Used by:713 |
Symbol 656 Text | Uses:246 | Used by:713 |
Symbol 657 Text | Uses:355 | Used by:713 |
Symbol 658 Text | Uses:355 | Used by:713 |
Symbol 659 Text | Uses:355 | Used by:713 |
Symbol 660 Text | Uses:355 | Used by:713 |
Symbol 661 Text | Uses:355 | Used by:713 |
Symbol 662 Text | Uses:355 | Used by:713 |
Symbol 663 Text | Uses:246 | Used by:713 |
Symbol 664 Text | Uses:246 | Used by:713 |
Symbol 665 Text | Uses:246 | Used by:713 |
Symbol 666 Text | Uses:246 | Used by:713 |
Symbol 667 Text | Uses:246 | Used by:713 |
Symbol 668 Text | Uses:246 | Used by:713 |
Symbol 669 Text | Uses:246 | Used by:713 |
Symbol 670 Text | Uses:246 | Used by:713 |
Symbol 671 Text | Uses:246 | Used by:713 |
Symbol 672 Text | Uses:246 | Used by:713 |
Symbol 673 Text | Uses:246 | Used by:713 |
Symbol 674 Text | Uses:355 | Used by:713 |
Symbol 675 Text | Uses:355 | Used by:713 |
Symbol 676 Text | Uses:355 | Used by:713 |
Symbol 677 Text | Uses:246 | Used by:713 |
Symbol 678 Text | Uses:246 | Used by:713 |
Symbol 679 Text | Uses:246 | Used by:713 |
Symbol 680 Text | Uses:246 | Used by:713 |
Symbol 681 Text | Uses:246 | Used by:713 |
Symbol 682 Text | Uses:246 | Used by:713 |
Symbol 683 Text | Uses:246 | Used by:713 |
Symbol 684 Text | Uses:246 | Used by:713 |
Symbol 685 Text | Uses:246 | Used by:713 |
Symbol 686 Text | Uses:246 | Used by:713 |
Symbol 687 Text | Uses:246 | Used by:713 |
Symbol 688 Text | Uses:246 | Used by:713 |
Symbol 689 Text | Uses:246 | Used by:713 |
Symbol 690 Text | Uses:246 | Used by:713 |
Symbol 691 Text | Uses:246 | Used by:713 |
Symbol 692 Text | Uses:246 | Used by:713 |
Symbol 693 Text | Uses:246 | Used by:713 |
Symbol 694 Text | Uses:246 | Used by:713 |
Symbol 695 Text | Uses:246 | Used by:713 |
Symbol 696 Text | Uses:246 | Used by:713 |
Symbol 697 Text | Uses:246 | Used by:713 |
Symbol 698 Text | Uses:246 | Used by:713 |
Symbol 699 Text | Uses:246 | Used by:713 |
Symbol 700 Text | Uses:246 | Used by:713 |
Symbol 701 Text | Uses:246 | Used by:713 |
Symbol 702 Text | Uses:246 | Used by:713 |
Symbol 703 Text | Uses:246 | Used by:713 |
Symbol 704 Text | Uses:246 | Used by:713 |
Symbol 705 Text | Uses:246 | Used by:713 |
Symbol 706 Text | Uses:246 | Used by:713 |
Symbol 707 Text | Uses:246 | Used by:713 |
Symbol 708 Text | Uses:246 | Used by:713 |
Symbol 709 Text | Uses:246 | Used by:713 |
Symbol 710 Text | Uses:246 | Used by:713 |
Symbol 711 Text | Uses:246 | Used by:713 |
Symbol 712 Text | Uses:220 | Used by:713 |
Symbol 713 MovieClip | Uses:236 239 240 241 242 245 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 266 267 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 | Used by:Timeline |
Symbol 714 Graphic | Used by:718 | |
Symbol 715 Text | Uses:220 | Used by:718 |
Symbol 716 Graphic | Used by:718 | |
Symbol 717 Graphic | Used by:718 | |
Symbol 718 Button | Uses:714 715 716 717 | Used by:Timeline |
Symbol 719 Graphic | Used by:723 | |
Symbol 720 Text | Uses:220 | Used by:723 |
Symbol 721 Graphic | Used by:723 | |
Symbol 722 Graphic | Used by:723 | |
Symbol 723 Button | Uses:719 720 721 722 | Used by:Timeline |
Symbol 724 Graphic | Used by:725 | |
Symbol 725 MovieClip | Uses:724 | Used by:755 |
Symbol 726 EditableText | Uses:220 | Used by:755 |
Symbol 727 Font | Used by:728 730 731 733 740 836 1151 1153 1155 1158 1160 1162 1165 1167 1169 1172 1174 1176 3676 3783 3927 4342 4399 4638 | |
Symbol 728 EditableText | Uses:727 | Used by:734 |
Symbol 729 Graphic | Used by:734 | |
Symbol 730 EditableText | Uses:727 | Used by:734 |
Symbol 731 EditableText | Uses:727 | Used by:734 |
Symbol 732 Graphic | Used by:734 | |
Symbol 733 EditableText | Uses:727 | Used by:734 |
Symbol 734 Button | Uses:728 729 730 731 732 733 | Used by:755 |
Symbol 735 Graphic | Used by:755 | |
Symbol 736 Font | Used by:737 768 828 854 873 891 943 971 978 985 1069 1840 1841 1842 1843 1844 2035 2036 2325 2326 2327 2403 2404 2405 2406 2459 2460 2490 2491 3005 3006 3662 3664 3667 3669 3672 3674 3696 3788 4334 4335 4336 4337 4841 4925 5311 5332 5336 5360 5361 5370 5385 5386 5409 5433 5725 | |
Symbol 737 EditableText | Uses:736 | Used by:755 |
Symbol 738 Graphic | Used by:739 | |
Symbol 739 MovieClip | Uses:738 | Used by:755 |
Symbol 740 EditableText | Uses:727 | Used by:755 |
Symbol 741 Font | Used by:742 | |
Symbol 742 Text | Uses:741 | Used by:755 |
Symbol 743 EditableText | Uses:220 | Used by:755 |
Symbol 744 Graphic | Used by:749 754 961 967 1462 1464 1466 3643 4394 4398 4615 4619 4623 4627 5624 | |
Symbol 745 Font | Used by:746 751 756 4254 4437 | |
Symbol 746 Text | Uses:745 | Used by:752 754 |
Symbol 747 Graphic | Used by:748 754 | |
Symbol 748 MovieClip | Uses:747 | Used by:750 |
Symbol 749 MovieClip | Uses:744 | Used by:750 |
Symbol 750 MovieClip | Uses:748 749 | Used by:754 |
Symbol 751 Text | Uses:745 | Used by:752 754 |
Symbol 752 MovieClip | Uses:751 746 | Used by:753 |
Symbol 753 MovieClip | Uses:752 | Used by:754 |
Symbol 754 Button | Uses:744 746 750 753 747 751 | Used by:755 |
Symbol 755 MovieClip | Uses:725 726 734 735 737 739 740 742 743 754 | Used by:Timeline |
Symbol 756 Text | Uses:745 | Used by:757 |
Symbol 757 MovieClip | Uses:756 | Used by:759 |
Symbol 758 Graphic | Used by:759 | |
Symbol 759 MovieClip | Uses:757 758 | Used by:Timeline |
Symbol 760 Graphic | Used by:766 | |
Symbol 761 Text | Uses:220 | Used by:766 |
Symbol 762 Graphic | Used by:766 | |
Symbol 763 Text | Uses:220 | Used by:766 |
Symbol 764 Graphic | Used by:766 799 806 820 | |
Symbol 765 Text | Uses:220 | Used by:766 799 806 820 |
Symbol 766 Button | Uses:760 761 762 763 764 765 | Used by:811 955 Timeline |
Symbol 767 Text | Uses:220 | Used by:811 |
Symbol 768 Text | Uses:736 | Used by:811 |
Symbol 769 Graphic | Used by:770 771 772 773 950 3708 3710 3712 3714 3716 3718 3720 3722 3724 3726 3728 3730 3732 3734 3736 3738 3741 3743 3745 | |
Symbol 770 Button | Uses:769 | Used by:811 955 |
Symbol 771 Button | Uses:769 | Used by:811 955 |
Symbol 772 Button | Uses:769 | Used by:811 955 |
Symbol 773 Button | Uses:769 | Used by:811 955 |
Symbol 774 Text | Uses:220 | Used by:778 822 |
Symbol 775 Text | Uses:220 | Used by:778 822 |
Symbol 776 Graphic | Used by:778 822 | |
Symbol 777 Text | Uses:220 | Used by:778 822 |
Symbol 778 Button | Uses:774 775 776 777 | Used by:811 |
Symbol 779 Graphic | Used by:781 782 833 Timeline | |
Symbol 780 Text | Uses:220 | Used by:781 782 833 |
Symbol 781 Button | Uses:779 780 | Used by:811 955 |
Symbol 782 Button | Uses:779 780 | Used by:811 |
Symbol 783 EditableText | Uses:220 | Used by:811 |
Symbol 784 EditableText | Uses:220 | Used by:811 |
Symbol 785 Text | Uses:220 | Used by:811 |
Symbol 786 EditableText | Uses:220 | Used by:811 |
Symbol 787 Text | Uses:220 | Used by:811 955 |
Symbol 788 Graphic | Used by:792 795 799 802 805 806 807 818 819 820 821 1077 | |
Symbol 789 Text | Uses:220 | Used by:790 |
Symbol 790 Button | Uses:789 | Used by:792 818 |
Symbol 791 Graphic | Used by:792 799 802 805 806 807 818 820 821 1077 | |
Symbol 792 Button | Uses:788 790 791 | Used by:811 |
Symbol 793 Text | Uses:220 | Used by:795 819 |
Symbol 794 Graphic | Used by:795 819 | |
Symbol 795 Button | Uses:788 793 794 | Used by:811 |
Symbol 796 Text | Uses:220 | Used by:798 |
Symbol 797 Graphic | Used by:798 | |
Symbol 798 Button | Uses:796 797 | Used by:811 |
Symbol 799 Button | Uses:788 765 791 764 | Used by:811 |
Symbol 800 Text | Uses:220 | Used by:802 806 820 |
Symbol 801 Text | Uses:220 | Used by:802 |
Symbol 802 Button | Uses:788 800 791 801 | Used by:811 |
Symbol 803 Text | Uses:220 | Used by:805 807 821 1077 |
Symbol 804 Text | Uses:220 | Used by:805 |
Symbol 805 Button | Uses:788 803 791 804 | Used by:811 |
Symbol 806 Button | Uses:788 800 791 764 765 | Used by:811 Timeline |
Symbol 807 Button | Uses:788 803 791 | Used by:811 |
Symbol 808 Text | Uses:220 | Used by:811 |
Symbol 809 Text | Uses:220 | Used by:811 955 |
Symbol 810 Graphic | Used by:811 | |
Symbol 811 MovieClip | Uses:767 768 770 771 772 773 778 781 782 783 784 785 786 787 792 795 766 798 799 802 805 806 807 808 809 810 | Used by:812 |
Symbol 812 MovieClip | Uses:811 | Used by:Timeline |
Symbol 813 Text | Uses:220 | Used by:814 |
Symbol 814 MovieClip | Uses:813 | Used by:817 |
Symbol 815 Graphic | Used by:816 | |
Symbol 816 MovieClip | Uses:815 | Used by:817 |
Symbol 817 MovieClip | Uses:816 814 | Used by:Timeline |
Symbol 818 Button | Uses:788 790 791 | Used by:955 |
Symbol 819 Button | Uses:788 793 794 | Used by:955 |
Symbol 820 Button | Uses:788 800 791 764 765 | Used by:955 |
Symbol 821 Button | Uses:788 803 791 | Used by:955 |
Symbol 822 Button | Uses:774 775 776 777 | Used by:955 |
Symbol 823 Graphic | Used by:830 | |
Symbol 824 Text | Uses:220 | Used by:830 |
Symbol 825 Text | Uses:220 | Used by:830 |
Symbol 826 Graphic | Used by:830 | |
Symbol 827 Text | Uses:220 | Used by:830 |
Symbol 828 Text | Uses:736 | Used by:830 |
Symbol 829 Text | Uses:220 | Used by:830 |
Symbol 830 Button | Uses:823 824 825 826 827 828 829 | Used by:955 |
Symbol 831 EditableText | Uses:220 | Used by:955 |
Symbol 832 EditableText | Uses:220 | Used by:955 |
Symbol 833 Button | Uses:779 780 | Used by:955 |
Symbol 834 EditableText | Uses:220 | Used by:955 |
Symbol 835 Text | Uses:220 | Used by:955 |
Symbol 836 EditableText | Uses:727 | Used by:955 |
Symbol 837 Graphic | Used by:840 841 | |
Symbol 838 ShapeTweening | Used by:840 | |
Symbol 839 ShapeTweening | Used by:840 | |
Symbol 840 MovieClip | Uses:838 839 837 | Used by:841 |
Symbol 841 MovieClip | Uses:837 840 | Used by:955 |
Symbol 842 Text | Uses:220 | Used by:844 859 |
Symbol 843 Graphic | Used by:844 | |
Symbol 844 MovieClip | Uses:842 843 | Used by:860 |
Symbol 845 Graphic | Used by:846 | |
Symbol 846 MovieClip | Uses:845 | Used by:847 |
Symbol 847 MovieClip | Uses:846 | Used by:860 878 896 948 |
Symbol 848 Bitmap | Used by:849 | |
Symbol 849 Graphic | Uses:848 | Used by:850 |
Symbol 850 MovieClip | Uses:849 | Used by:856 974 |
Symbol 851 Bitmap | Used by:852 | |
Symbol 852 Graphic | Uses:851 | Used by:853 |
Symbol 853 MovieClip | Uses:852 | Used by:856 974 |
Symbol 854 Text | Uses:736 | Used by:856 |
Symbol 855 Graphic | Used by:856 874 892 896 944 948 3690 | |
Symbol 856 MovieClip | Uses:850 853 854 855 | Used by:857 |
Symbol 857 MovieClip | Uses:856 | Used by:860 |
Symbol 858 Graphic | Used by:859 | |
Symbol 859 MovieClip | Uses:842 858 | Used by:860 |
Symbol 860 MovieClip | Uses:844 847 857 859 | Used by:955 |
Symbol 861 Text | Uses:220 | Used by:863 877 |
Symbol 862 Graphic | Used by:863 | |
Symbol 863 MovieClip | Uses:861 862 | Used by:878 |
Symbol 864 Bitmap | Used by:865 | |
Symbol 865 Graphic | Uses:864 | Used by:866 |
Symbol 866 MovieClip | Uses:865 | Used by:874 981 |
Symbol 867 Bitmap | Used by:868 | |
Symbol 868 Graphic | Uses:867 | Used by:869 |
Symbol 869 MovieClip | Uses:868 | Used by:874 981 |
Symbol 870 Bitmap | Used by:871 | |
Symbol 871 Graphic | Uses:870 | Used by:872 |
Symbol 872 MovieClip | Uses:871 | Used by:874 981 |
Symbol 873 Text | Uses:736 | Used by:874 |
Symbol 874 MovieClip | Uses:866 869 872 873 855 | Used by:875 |
Symbol 875 MovieClip | Uses:874 | Used by:878 |
Symbol 876 Graphic | Used by:877 | |
Symbol 877 MovieClip | Uses:861 876 | Used by:878 |
Symbol 878 MovieClip | Uses:863 847 875 877 | Used by:955 |
Symbol 879 Text | Uses:220 | Used by:881 895 |
Symbol 880 Graphic | Used by:881 | |
Symbol 881 MovieClip | Uses:879 880 | Used by:896 |
Symbol 882 Bitmap | Used by:883 | |
Symbol 883 Graphic | Uses:882 | Used by:884 |
Symbol 884 MovieClip | Uses:883 | Used by:892 987 |
Symbol 885 Bitmap | Used by:886 | |
Symbol 886 Graphic | Uses:885 | Used by:887 |
Symbol 887 MovieClip | Uses:886 | Used by:892 987 |
Symbol 888 Bitmap | Used by:889 | |
Symbol 889 Graphic | Uses:888 | Used by:890 |
Symbol 890 MovieClip | Uses:889 | Used by:892 987 |
Symbol 891 Text | Uses:736 | Used by:892 |
Symbol 892 MovieClip | Uses:884 887 890 891 855 | Used by:893 |
Symbol 893 MovieClip | Uses:892 | Used by:896 |
Symbol 894 Graphic | Used by:895 | |
Symbol 895 MovieClip | Uses:879 894 | Used by:896 |
Symbol 896 MovieClip | Uses:881 847 893 895 855 | Used by:955 |
Symbol 897 Text | Uses:220 | Used by:899 947 |
Symbol 898 Graphic | Used by:899 | |
Symbol 899 MovieClip | Uses:897 898 | Used by:948 |
Symbol 900 Graphic | Used by:939 | |
Symbol 901 Graphic | Used by:939 | |
Symbol 902 Graphic | Used by:939 | |
Symbol 903 Graphic | Used by:939 | |
Symbol 904 Graphic | Used by:939 | |
Symbol 905 Graphic | Used by:939 | |
Symbol 906 Graphic | Used by:939 | |
Symbol 907 Graphic | Used by:939 | |
Symbol 908 Graphic | Used by:939 | |
Symbol 909 Graphic | Used by:939 | |
Symbol 910 Graphic | Used by:939 | |
Symbol 911 Graphic | Used by:939 | |
Symbol 912 Graphic | Used by:939 | |
Symbol 913 Graphic | Used by:939 | |
Symbol 914 Graphic | Used by:939 | |
Symbol 915 Graphic | Used by:939 | |
Symbol 916 Graphic | Used by:939 | |
Symbol 917 Graphic | Used by:939 | |
Symbol 918 Graphic | Used by:939 | |
Symbol 919 Graphic | Used by:939 | |
Symbol 920 Graphic | Used by:939 | |
Symbol 921 Graphic | Used by:939 | |
Symbol 922 Graphic | Used by:939 | |
Symbol 923 Graphic | Used by:939 | |
Symbol 924 Graphic | Used by:939 | |
Symbol 925 Graphic | Used by:939 | |
Symbol 926 Graphic | Used by:939 | |
Symbol 927 Graphic | Used by:939 | |
Symbol 928 Graphic | Used by:939 | |
Symbol 929 Graphic | Used by:939 | |
Symbol 930 Graphic | Used by:939 | |
Symbol 931 Graphic | Used by:939 | |
Symbol 932 Graphic | Used by:939 | |
Symbol 933 Graphic | Used by:939 | |
Symbol 934 Graphic | Used by:939 | |
Symbol 935 Graphic | Used by:939 | |
Symbol 936 Graphic | Used by:939 | |
Symbol 937 Graphic | Used by:939 | |
Symbol 938 Graphic | Used by:939 | |
Symbol 939 MovieClip | Uses:900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 | Used by:944 1071 |
Symbol 940 Bitmap | Used by:941 | |
Symbol 941 Graphic | Uses:940 | Used by:942 |
Symbol 942 MovieClip | Uses:941 | Used by:944 1071 |
Symbol 943 Text | Uses:736 | Used by:944 |
Symbol 944 MovieClip | Uses:939 942 943 855 | Used by:945 |
Symbol 945 MovieClip | Uses:944 | Used by:948 |
Symbol 946 Graphic | Used by:947 | |
Symbol 947 MovieClip | Uses:897 946 | Used by:948 |
Symbol 948 MovieClip | Uses:899 847 945 947 855 | Used by:955 |
Symbol 949 Graphic | Used by:955 | |
Symbol 950 MovieClip | Uses:769 | Used by:955 |
Symbol 951 Graphic | Used by:952 | |
Symbol 952 MovieClip | Uses:951 | Used by:955 |
Symbol 953 Graphic | Used by:954 | |
Symbol 954 MovieClip | Uses:953 | Used by:955 |
Symbol 955 MovieClip | Uses:818 819 766 820 821 809 770 771 772 773 822 830 781 831 832 787 833 834 835 836 841 860 878 896 948 949 950 952 954 | Used by:Timeline |
Symbol 956 Text | Uses:220 | Used by:961 |
Symbol 957 Graphic | Used by:958 961 | |
Symbol 958 MovieClip | Uses:957 | Used by:961 |
Symbol 959 Text | Uses:220 | Used by:961 |
Symbol 960 Text | Uses:220 | Used by:961 |
Symbol 961 Button | Uses:956 958 959 960 957 744 | Used by:Timeline |
Symbol 962 Text | Uses:220 | Used by:967 |
Symbol 963 Graphic | Used by:964 | |
Symbol 964 MovieClip | Uses:963 | Used by:967 |
Symbol 965 Text | Uses:220 | Used by:967 |
Symbol 966 Text | Uses:220 | Used by:967 |
Symbol 967 Button | Uses:962 964 965 744 966 | Used by:Timeline |
Symbol 968 Text | Uses:220 | Used by:974 |
Symbol 969 Graphic | Used by:970 | |
Symbol 970 MovieClip | Uses:969 | Used by:974 |
Symbol 971 Text | Uses:736 | Used by:974 |
Symbol 972 Text | Uses:220 | Used by:974 |
Symbol 973 Graphic | Used by:974 | |
Symbol 974 Button | Uses:968 970 853 971 972 850 973 | Used by:Timeline |
Symbol 975 Text | Uses:220 | Used by:981 |
Symbol 976 Graphic | Used by:977 | |
Symbol 977 MovieClip | Uses:976 | Used by:981 |
Symbol 978 Text | Uses:736 | Used by:981 |
Symbol 979 Text | Uses:220 | Used by:981 |
Symbol 980 Graphic | Used by:981 | |
Symbol 981 Button | Uses:975 977 978 872 869 866 979 980 | Used by:Timeline |
Symbol 982 Text | Uses:220 | Used by:987 3700 |
Symbol 983 Graphic | Used by:984 | |
Symbol 984 MovieClip | Uses:983 | Used by:987 |
Symbol 985 Text | Uses:736 | Used by:987 |
Symbol 986 Graphic | Used by:987 | |
Symbol 987 Button | Uses:982 984 985 890 887 884 986 | Used by:Timeline |
Symbol 988 Text | Uses:220 | Used by:1071 |
Symbol 989 Graphic | Used by:990 | |
Symbol 990 MovieClip | Uses:989 | Used by:1071 |
Symbol 991 Graphic | Used by:1068 | |
Symbol 992 Graphic | Used by:1068 | |
Symbol 993 Graphic | Used by:1068 | |
Symbol 994 Graphic | Used by:1068 | |
Symbol 995 Graphic | Used by:1068 | |
Symbol 996 Graphic | Used by:1068 | |
Symbol 997 Graphic | Used by:1068 | |
Symbol 998 Graphic | Used by:1068 | |
Symbol 999 Graphic | Used by:1068 | |
Symbol 1000 Graphic | Used by:1068 | |
Symbol 1001 Graphic | Used by:1068 | |
Symbol 1002 Graphic | Used by:1068 | |
Symbol 1003 Graphic | Used by:1068 | |
Symbol 1004 Graphic | Used by:1068 | |
Symbol 1005 Graphic | Used by:1068 | |
Symbol 1006 Graphic | Used by:1068 | |
Symbol 1007 Graphic | Used by:1068 | |
Symbol 1008 Graphic | Used by:1068 | |
Symbol 1009 Graphic | Used by:1068 | |
Symbol 1010 Graphic | Used by:1068 | |
Symbol 1011 Graphic | Used by:1068 | |
Symbol 1012 Graphic | Used by:1068 | |
Symbol 1013 Graphic | Used by:1068 | |
Symbol 1014 Graphic | Used by:1068 | |
Symbol 1015 Graphic | Used by:1068 | |
Symbol 1016 Graphic | Used by:1068 | |
Symbol 1017 Graphic | Used by:1068 | |
Symbol 1018 Graphic | Used by:1068 | |
Symbol 1019 Graphic | Used by:1068 | |
Symbol 1020 Graphic | Used by:1068 | |
Symbol 1021 Graphic | Used by:1068 | |
Symbol 1022 Graphic | Used by:1068 | |
Symbol 1023 Graphic | Used by:1068 | |
Symbol 1024 Graphic | Used by:1068 | |
Symbol 1025 Graphic | Used by:1068 | |
Symbol 1026 Graphic | Used by:1068 | |
Symbol 1027 Graphic | Used by:1068 | |
Symbol 1028 Graphic | Used by:1068 | |
Symbol 1029 Graphic | Used by:1068 | |
Symbol 1030 Graphic | Used by:1068 | |
Symbol 1031 Graphic | Used by:1068 | |
Symbol 1032 Graphic | Used by:1068 | |
Symbol 1033 Graphic | Used by:1068 | |
Symbol 1034 Graphic | Used by:1068 | |
Symbol 1035 Graphic | Used by:1068 | |
Symbol 1036 Graphic | Used by:1068 | |
Symbol 1037 Graphic | Used by:1068 | |
Symbol 1038 Graphic | Used by:1068 | |
Symbol 1039 Graphic | Used by:1068 | |
Symbol 1040 Graphic | Used by:1068 | |
Symbol 1041 Graphic | Used by:1068 | |
Symbol 1042 Graphic | Used by:1068 | |
Symbol 1043 Graphic | Used by:1068 | |
Symbol 1044 Graphic | Used by:1068 | |
Symbol 1045 Graphic | Used by:1068 | |
Symbol 1046 Graphic | Used by:1068 | |
Symbol 1047 Graphic | Used by:1068 | |
Symbol 1048 Graphic | Used by:1068 | |
Symbol 1049 Graphic | Used by:1068 | |
Symbol 1050 Graphic | Used by:1068 | |
Symbol 1051 Graphic | Used by:1068 | |
Symbol 1052 Graphic | Used by:1068 | |
Symbol 1053 Graphic | Used by:1068 | |
Symbol 1054 Graphic | Used by:1068 | |
Symbol 1055 Graphic | Used by:1068 | |
Symbol 1056 Graphic | Used by:1068 | |
Symbol 1057 Graphic | Used by:1068 | |
Symbol 1058 Graphic | Used by:1068 | |
Symbol 1059 Graphic | Used by:1068 | |
Symbol 1060 Graphic | Used by:1068 | |
Symbol 1061 Graphic | Used by:1068 | |
Symbol 1062 Graphic | Used by:1068 | |
Symbol 1063 Graphic | Used by:1068 | |
Symbol 1064 Graphic | Used by:1068 | |
Symbol 1065 Graphic | Used by:1068 | |
Symbol 1066 Graphic | Used by:1068 | |
Symbol 1067 Graphic | Used by:1068 | |
Symbol 1068 MovieClip | Uses:991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 | Used by:1071 |
Symbol 1069 Text | Uses:736 | Used by:1071 |
Symbol 1070 Graphic | Used by:1071 | |
Symbol 1071 Button | Uses:988 942 990 1068 939 1069 1070 | Used by:Timeline |
Symbol 1072 Text | Uses:220 | Used by:1076 |
Symbol 1073 Text | Uses:220 | Used by:1076 |
Symbol 1074 Sound [ots] | Used by:1076 | |
Symbol 1075 Sound [yay] | Used by:1076 | |
Symbol 1076 MovieClip | Uses:1072 1073 1074 1075 | Used by:Timeline |
Symbol 1077 Button | Uses:788 803 791 | Used by:Timeline |
Symbol 1078 Graphic | Used by:Timeline | |
Symbol 1079 MovieClip | Used by:1080 | |
Symbol 1080 MovieClip | Uses:1079 | Used by:Timeline |
Symbol 1081 Graphic | Used by:1083 | |
Symbol 1082 Sound | Used by:1083 | |
Symbol 1083 MovieClip | Uses:1081 1082 | Used by:Timeline |
Symbol 1084 Graphic | Used by:1086 | |
Symbol 1085 Sound [bleep] | Used by:1086 | |
Symbol 1086 MovieClip | Uses:1084 1085 | Used by:Timeline |
Symbol 1087 Text | Uses:220 | Used by:1088 |
Symbol 1088 Button | Uses:1087 | Used by:1098 |
Symbol 1089 Text | Uses:220 | Used by:1098 |
Symbol 1090 EditableText | Uses:220 | Used by:1098 |
Symbol 1091 EditableText | Uses:220 | Used by:1098 |
Symbol 1092 Text | Uses:220 | Used by:1098 |
Symbol 1093 Text | Uses:220 | Used by:1098 |
Symbol 1094 Text | Uses:220 | Used by:1098 |
Symbol 1095 Text | Uses:220 | Used by:1098 |
Symbol 1096 Text | Uses:220 | Used by:1098 |
Symbol 1097 Graphic | Used by:1098 | |
Symbol 1098 MovieClip | Uses:1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 | Used by:1099 |
Symbol 1099 MovieClip | Uses:1098 | Used by:Timeline |
Symbol 1100 Text | Uses:220 | Used by:1104 |
Symbol 1101 Text | Uses:220 | Used by:1104 |
Symbol 1102 Text | Uses:220 | Used by:1104 |
Symbol 1103 Graphic | Used by:1104 | |
Symbol 1104 MovieClip | Uses:1100 1101 1102 1103 | Used by:Timeline |
Symbol 1105 Text | Uses:220 | Used by:1107 |
Symbol 1106 Graphic | Used by:1107 | |
Symbol 1107 Button | Uses:1105 1106 | Used by:1146 |
Symbol 1108 Text | Uses:220 | Used by:1110 |
Symbol 1109 Graphic | Used by:1110 | |
Symbol 1110 Button | Uses:1108 1109 | Used by:1146 |
Symbol 1111 Text | Uses:220 | Used by:1113 |
Symbol 1112 Graphic | Used by:1113 | |
Symbol 1113 Button | Uses:1111 1112 | Used by:1146 |
Symbol 1114 Text | Uses:220 | Used by:1116 |
Symbol 1115 Graphic | Used by:1116 | |
Symbol 1116 Button | Uses:1114 1115 | Used by:1146 |
Symbol 1117 Text | Uses:220 | Used by:1119 |
Symbol 1118 Graphic | Used by:1119 | |
Symbol 1119 Button | Uses:1117 1118 | Used by:1146 |
Symbol 1120 Text | Uses:220 | Used by:1122 |
Symbol 1121 Graphic | Used by:1122 | |
Symbol 1122 Button | Uses:1120 1121 | Used by:1146 |
Symbol 1123 Text | Uses:220 | Used by:1125 |
Symbol 1124 Graphic | Used by:1125 | |
Symbol 1125 Button | Uses:1123 1124 | Used by:1146 |
Symbol 1126 Text | Uses:220 | Used by:1128 |
Symbol 1127 Graphic | Used by:1128 | |
Symbol 1128 Button | Uses:1126 1127 | Used by:1146 |
Symbol 1129 Text | Uses:220 | Used by:1131 |
Symbol 1130 Graphic | Used by:1131 | |
Symbol 1131 Button | Uses:1129 1130 | Used by:1146 |
Symbol 1132 Text | Uses:220 | Used by:1134 |
Symbol 1133 Graphic | Used by:1134 | |
Symbol 1134 Button | Uses:1132 1133 | Used by:1146 |
Symbol 1135 Text | Uses:220 | Used by:1137 |
Symbol 1136 Graphic | Used by:1137 | |
Symbol 1137 Button | Uses:1135 1136 | Used by:1146 |
Symbol 1138 Text | Uses:220 | Used by:1140 |
Symbol 1139 Graphic | Used by:1140 | |
Symbol 1140 Button | Uses:1138 1139 | Used by:1146 |
Symbol 1141 Text | Uses:220 | Used by:1143 |
Symbol 1142 Graphic | Used by:1143 | |
Symbol 1143 Button | Uses:1141 1142 | Used by:1146 |
Symbol 1144 Graphic | Used by:1145 | |
Symbol 1145 MovieClip | Uses:1144 | Used by:1146 |
Symbol 1146 MovieClip | Uses:1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1145 | Used by:Timeline |
Symbol 1147 Text | Uses:220 | Used by:1149 |
Symbol 1148 Graphic | Used by:1149 | |
Symbol 1149 Button | Uses:1147 1148 | Used by:Timeline |
Symbol 1150 Text | Uses:220 | Used by:1156 |
Symbol 1151 EditableText | Uses:727 | Used by:1156 |
Symbol 1152 Text | Uses:220 | Used by:1156 |
Symbol 1153 EditableText | Uses:727 | Used by:1156 |
Symbol 1154 Graphic | Used by:1156 | |
Symbol 1155 EditableText | Uses:727 | Used by:1156 |
Symbol 1156 Button | Uses:1150 1151 1152 1153 1154 1155 | Used by:1290 |
Symbol 1157 Text | Uses:220 | Used by:1163 |
Symbol 1158 EditableText | Uses:727 | Used by:1163 |
Symbol 1159 Text | Uses:220 | Used by:1163 |
Symbol 1160 EditableText | Uses:727 | Used by:1163 |
Symbol 1161 Graphic | Used by:1163 | |
Symbol 1162 EditableText | Uses:727 | Used by:1163 |
Symbol 1163 Button | Uses:1157 1158 1159 1160 1161 1162 | Used by:1290 |
Symbol 1164 Text | Uses:220 | Used by:1170 |
Symbol 1165 EditableText | Uses:727 | Used by:1170 |
Symbol 1166 Text | Uses:220 | Used by:1170 |
Symbol 1167 EditableText | Uses:727 | Used by:1170 |
Symbol 1168 Graphic | Used by:1170 | |
Symbol 1169 EditableText | Uses:727 | Used by:1170 |
Symbol 1170 Button | Uses:1164 1165 1166 1167 1168 1169 | Used by:1290 |
Symbol 1171 Text | Uses:220 | Used by:1177 |
Symbol 1172 EditableText | Uses:727 | Used by:1177 |
Symbol 1173 Text | Uses:220 | Used by:1177 |
Symbol 1174 EditableText | Uses:727 | Used by:1177 |
Symbol 1175 Graphic | Used by:1177 | |
Symbol 1176 EditableText | Uses:727 | Used by:1177 |
Symbol 1177 Button | Uses:1171 1172 1173 1174 1175 1176 | Used by:1290 |
Symbol 1178 Font | Used by:1179 1623 2300 2472 2675 4311 5638 | |
Symbol 1179 EditableText | Uses:1178 | Used by:1290 |
Symbol 1180 Graphic | Used by:1245 | |
Symbol 1181 Graphic | Used by:1245 | |
Symbol 1182 Graphic | Used by:1245 | |
Symbol 1183 Graphic | Used by:1245 | |
Symbol 1184 Graphic | Used by:1245 | |
Symbol 1185 Graphic | Used by:1245 | |
Symbol 1186 Graphic | Used by:1245 | |
Symbol 1187 Graphic | Used by:1245 | |
Symbol 1188 Graphic | Used by:1245 | |
Symbol 1189 Graphic | Used by:1245 | |
Symbol 1190 Graphic | Used by:1245 | |
Symbol 1191 Graphic | Used by:1245 | |
Symbol 1192 Graphic | Used by:1245 | |
Symbol 1193 Graphic | Used by:1245 | |
Symbol 1194 Graphic | Used by:1245 | |
Symbol 1195 Graphic | Used by:1245 | |
Symbol 1196 Graphic | Used by:1245 | |
Symbol 1197 Graphic | Used by:1245 | |
Symbol 1198 Graphic | Used by:1245 | |
Symbol 1199 Graphic | Used by:1245 | |
Symbol 1200 Graphic | Used by:1245 | |
Symbol 1201 Graphic | Used by:1245 | |
Symbol 1202 Graphic | Used by:1245 | |
Symbol 1203 Graphic | Used by:1245 | |
Symbol 1204 Graphic | Used by:1245 | |
Symbol 1205 Graphic | Used by:1245 | |
Symbol 1206 Graphic | Used by:1245 | |
Symbol 1207 Graphic | Used by:1245 | |
Symbol 1208 Graphic | Used by:1245 | |
Symbol 1209 Graphic | Used by:1245 | |
Symbol 1210 Graphic | Used by:1245 | |
Symbol 1211 Graphic | Used by:1245 | |
Symbol 1212 Graphic | Used by:1245 | |
Symbol 1213 Graphic | Used by:1245 | |
Symbol 1214 Graphic | Used by:1245 | |
Symbol 1215 Graphic | Used by:1245 | |
Symbol 1216 Graphic | Used by:1245 | |
Symbol 1217 Graphic | Used by:1245 | |
Symbol 1218 Graphic | Used by:1245 | |
Symbol 1219 Graphic | Used by:1245 | |
Symbol 1220 Graphic | Used by:1245 | |
Symbol 1221 Graphic | Used by:1245 | |
Symbol 1222 Graphic | Used by:1245 | |
Symbol 1223 Graphic | Used by:1245 | |
Symbol 1224 Graphic | Used by:1245 | |
Symbol 1225 Graphic | Used by:1245 | |
Symbol 1226 Graphic | Used by:1245 | |
Symbol 1227 Graphic | Used by:1245 | |
Symbol 1228 Graphic | Used by:1245 | |
Symbol 1229 Graphic | Used by:1245 | |
Symbol 1230 Graphic | Used by:1245 | |
Symbol 1231 Graphic | Used by:1245 | |
Symbol 1232 Graphic | Used by:1245 | |
Symbol 1233 Graphic | Used by:1245 | |
Symbol 1234 Graphic | Used by:1245 | |
Symbol 1235 Graphic | Used by:1245 | |
Symbol 1236 Graphic | Used by:1245 | |
Symbol 1237 Graphic | Used by:1245 | |
Symbol 1238 Graphic | Used by:1245 | |
Symbol 1239 Graphic | Used by:1245 | |
Symbol 1240 Graphic | Used by:1245 | |
Symbol 1241 Graphic | Used by:1245 | |
Symbol 1242 Graphic | Used by:1245 | |
Symbol 1243 Graphic | Used by:1245 | |
Symbol 1244 Graphic | Used by:1245 | |
Symbol 1245 MovieClip | Uses:1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 | Used by:1290 Timeline |
Symbol 1246 Graphic | Used by:1290 1624 2473 2676 | |
Symbol 1247 Text | Uses:220 | Used by:1249 |
Symbol 1248 Graphic | Used by:1249 | |
Symbol 1249 Button | Uses:1247 1248 | Used by:1290 |
Symbol 1250 Text | Uses:220 | Used by:1252 |
Symbol 1251 Graphic | Used by:1252 | |
Symbol 1252 Button | Uses:1250 1251 | Used by:1290 |
Symbol 1253 Text | Uses:220 | Used by:1255 |
Symbol 1254 Graphic | Used by:1255 | |
Symbol 1255 Button | Uses:1253 1254 | Used by:1290 |
Symbol 1256 Text | Uses:220 | Used by:1258 |
Symbol 1257 Graphic | Used by:1258 | |
Symbol 1258 Button | Uses:1256 1257 | Used by:1290 |
Symbol 1259 Text | Uses:220 | Used by:1290 |
Symbol 1260 Text | Uses:220 | Used by:1262 |
Symbol 1261 Graphic | Used by:1262 | |
Symbol 1262 Button | Uses:1260 1261 | Used by:1290 |
Symbol 1263 Text | Uses:220 | Used by:1265 |
Symbol 1264 Graphic | Used by:1265 | |
Symbol 1265 Button | Uses:1263 1264 | Used by:1290 |
Symbol 1266 Text | Uses:220 | Used by:1268 |
Symbol 1267 Graphic | Used by:1268 | |
Symbol 1268 Button | Uses:1266 1267 | Used by:1290 |
Symbol 1269 Text | Uses:220 | Used by:1290 |
Symbol 1270 Text | Uses:220 | Used by:1272 |
Symbol 1271 Graphic | Used by:1272 | |
Symbol 1272 Button | Uses:1270 1271 | Used by:1290 |
Symbol 1273 Text | Uses:220 | Used by:1275 |
Symbol 1274 Graphic | Used by:1275 | |
Symbol 1275 Button | Uses:1273 1274 | Used by:1290 |
Symbol 1276 Text | Uses:220 | Used by:1290 |
Symbol 1277 Text | Uses:220 | Used by:1279 |
Symbol 1278 Graphic | Used by:1279 | |
Symbol 1279 Button | Uses:1277 1278 | Used by:1290 |
Symbol 1280 Text | Uses:220 | Used by:1282 |
Symbol 1281 Graphic | Used by:1282 | |
Symbol 1282 Button | Uses:1280 1281 | Used by:1290 |
Symbol 1283 Text | Uses:220 | Used by:1285 |
Symbol 1284 Graphic | Used by:1285 | |
Symbol 1285 Button | Uses:1283 1284 | Used by:1290 |
Symbol 1286 Text | Uses:220 | Used by:1288 |
Symbol 1287 Graphic | Used by:1288 | |
Symbol 1288 Button | Uses:1286 1287 | Used by:1290 |
Symbol 1289 Text | Uses:220 | Used by:1290 |
Symbol 1290 MovieClip | Uses:1156 1163 1170 1177 1179 1245 1246 1249 1252 1255 1258 1259 1262 1265 1268 1269 1272 1275 1276 1279 1282 1285 1288 1289 | Used by:Timeline |
Symbol 1291 Graphic | Used by:1293 1294 | |
Symbol 1292 Text | Uses:220 | Used by:1294 |
Symbol 1293 MovieClip | Uses:1291 | Used by:1294 |
Symbol 1294 Button | Uses:1291 1292 1293 | Used by:Timeline |
Symbol 1295 Graphic | Used by:1318 | |
Symbol 1296 Graphic | Used by:1298 1299 | |
Symbol 1297 Text | Uses:220 | Used by:1298 1299 |
Symbol 1298 MovieClip | Uses:1297 1296 | Used by:1299 |
Symbol 1299 Button | Uses:1296 1297 1298 | Used by:1318 |
Symbol 1300 Graphic | Used by:1302 1303 | |
Symbol 1301 Text | Uses:220 | Used by:1302 1303 |
Symbol 1302 MovieClip | Uses:1301 1300 | Used by:1303 |
Symbol 1303 Button | Uses:1300 1301 1302 | Used by:1318 |
Symbol 1304 Graphic | Used by:1308 | |
Symbol 1305 Text | Uses:220 | Used by:1307 1308 |
Symbol 1306 Graphic | Used by:1307 1308 | |
Symbol 1307 MovieClip | Uses:1305 1306 | Used by:1308 |
Symbol 1308 Button | Uses:1304 1305 1307 1306 | Used by:1318 |
Symbol 1309 Graphic | Used by:1313 | |
Symbol 1310 Text | Uses:220 | Used by:1312 1313 |
Symbol 1311 Graphic | Used by:1312 1313 | |
Symbol 1312 MovieClip | Uses:1310 1311 | Used by:1313 |
Symbol 1313 Button | Uses:1309 1310 1312 1311 | Used by:1318 |
Symbol 1314 Graphic | Used by:1316 1317 | |
Symbol 1315 Text | Uses:220 | Used by:1316 1317 |
Symbol 1316 MovieClip | Uses:1315 1314 | Used by:1317 |
Symbol 1317 Button | Uses:1314 1315 1316 | Used by:1318 |
Symbol 1318 Button | Uses:1295 1299 1303 1308 1313 1317 | Used by:1319 |
Symbol 1319 MovieClip | Uses:1318 | Used by:Timeline |
Symbol 1320 Graphic | Used by:1339 | |
Symbol 1321 Graphic | Used by:1323 1324 | |
Symbol 1322 Text | Uses:220 | Used by:1323 1324 |
Symbol 1323 MovieClip | Uses:1322 1321 | Used by:1324 |
Symbol 1324 Button | Uses:1321 1322 1323 | Used by:1339 |
Symbol 1325 Graphic | Used by:1329 | |
Symbol 1326 Text | Uses:220 | Used by:1328 1329 |
Symbol 1327 Graphic | Used by:1328 1329 | |
Symbol 1328 MovieClip | Uses:1326 1327 | Used by:1329 |
Symbol 1329 Button | Uses:1325 1326 1328 1327 | Used by:1339 |
Symbol 1330 Graphic | Used by:1334 | |
Symbol 1331 Text | Uses:220 | Used by:1333 1334 |
Symbol 1332 Graphic | Used by:1333 1334 | |
Symbol 1333 MovieClip | Uses:1331 1332 | Used by:1334 |
Symbol 1334 Button | Uses:1330 1331 1333 1332 | Used by:1339 |
Symbol 1335 Graphic | Used by:1337 1338 | |
Symbol 1336 Text | Uses:220 | Used by:1337 1338 |
Symbol 1337 MovieClip | Uses:1336 1335 | Used by:1338 |
Symbol 1338 Button | Uses:1335 1336 1337 | Used by:1339 |
Symbol 1339 Button | Uses:1320 1324 1329 1334 1338 | Used by:1340 |
Symbol 1340 MovieClip | Uses:1339 | Used by:Timeline |
Symbol 1341 Graphic | Used by:1343 1344 | |
Symbol 1342 Text | Uses:220 | Used by:1343 1344 |
Symbol 1343 MovieClip | Uses:1342 1341 | Used by:1344 |
Symbol 1344 Button | Uses:1341 1342 1343 | Used by:1358 1359 |
Symbol 1345 Graphic | Used by:1347 1348 | |
Symbol 1346 Text | Uses:220 | Used by:1347 1348 |
Symbol 1347 MovieClip | Uses:1346 1345 | Used by:1348 |
Symbol 1348 Button | Uses:1345 1346 1347 | Used by:1358 1359 |
Symbol 1349 Graphic | Used by:1351 1352 | |
Symbol 1350 Text | Uses:220 | Used by:1351 1352 |
Symbol 1351 MovieClip | Uses:1350 1349 | Used by:1352 |
Symbol 1352 Button | Uses:1349 1350 1351 | Used by:1358 1359 |
Symbol 1353 Graphic | Used by:1355 1356 | |
Symbol 1354 Text | Uses:220 | Used by:1355 1356 |
Symbol 1355 MovieClip | Uses:1354 1353 | Used by:1356 |
Symbol 1356 Button | Uses:1353 1354 1355 | Used by:1358 1359 |
Symbol 1357 Graphic | Used by:1358 1359 | |
Symbol 1358 MovieClip | Uses:1344 1348 1352 1356 1357 | Used by:1359 |
Symbol 1359 Button | Uses:1358 1357 1356 1352 1348 1344 | Used by:1360 |
Symbol 1360 MovieClip | Uses:1359 | Used by:Timeline |
Symbol 1361 Graphic | Used by:1376 | |
Symbol 1362 Graphic | Used by:1366 | |
Symbol 1363 Text | Uses:220 | Used by:1365 1366 |
Symbol 1364 Graphic | Used by:1365 1366 | |
Symbol 1365 MovieClip | Uses:1363 1364 | Used by:1366 |
Symbol 1366 Button | Uses:1362 1363 1365 1364 | Used by:1376 |
Symbol 1367 Graphic | Used by:1370 1371 | |
Symbol 1368 Text | Uses:220 | Used by:1371 |
Symbol 1369 Text | Uses:220 | Used by:1370 1371 |
Symbol 1370 MovieClip | Uses:1369 1367 | Used by:1371 |
Symbol 1371 Button | Uses:1367 1368 1370 1369 | Used by:1376 |
Symbol 1372 Graphic | Used by:1374 1375 | |
Symbol 1373 Text | Uses:220 | Used by:1374 1375 |
Symbol 1374 MovieClip | Uses:1373 1372 | Used by:1375 |
Symbol 1375 Button | Uses:1372 1373 1374 | Used by:1376 |
Symbol 1376 Button | Uses:1361 1366 1371 1375 | Used by:1377 |
Symbol 1377 MovieClip | Uses:1376 | Used by:Timeline |
Symbol 1378 Graphic | Used by:1460 | |
Symbol 1379 Graphic | Used by:1458 | |
Symbol 1380 Graphic | Used by:1458 | |
Symbol 1381 Graphic | Used by:1458 | |
Symbol 1382 Graphic | Used by:1458 | |
Symbol 1383 Graphic | Used by:1458 | |
Symbol 1384 Graphic | Used by:1458 | |
Symbol 1385 Graphic | Used by:1458 | |
Symbol 1386 Graphic | Used by:1458 | |
Symbol 1387 Graphic | Used by:1458 | |
Symbol 1388 Graphic | Used by:1458 | |
Symbol 1389 Graphic | Used by:1458 | |
Symbol 1390 Graphic | Used by:1458 | |
Symbol 1391 Graphic | Used by:1458 | |
Symbol 1392 Graphic | Used by:1458 | |
Symbol 1393 Graphic | Used by:1458 | |
Symbol 1394 Graphic | Used by:1458 | |
Symbol 1395 Graphic | Used by:1458 | |
Symbol 1396 Graphic | Used by:1458 | |
Symbol 1397 Graphic | Used by:1458 | |
Symbol 1398 Graphic | Used by:1458 | |
Symbol 1399 Graphic | Used by:1458 | |
Symbol 1400 Graphic | Used by:1458 | |
Symbol 1401 Graphic | Used by:1458 | |
Symbol 1402 Graphic | Used by:1458 | |
Symbol 1403 Graphic | Used by:1458 | |
Symbol 1404 Graphic | Used by:1458 | |
Symbol 1405 Graphic | Used by:1458 | |
Symbol 1406 Graphic | Used by:1458 | |
Symbol 1407 Graphic | Used by:1458 | |
Symbol 1408 Graphic | Used by:1458 | |
Symbol 1409 Graphic | Used by:1458 | |
Symbol 1410 Graphic | Used by:1458 | |
Symbol 1411 Graphic | Used by:1458 | |
Symbol 1412 Graphic | Used by:1458 | |
Symbol 1413 Graphic | Used by:1458 | |
Symbol 1414 Graphic | Used by:1458 | |
Symbol 1415 Graphic | Used by:1458 | |
Symbol 1416 Graphic | Used by:1458 | |
Symbol 1417 Graphic | Used by:1458 | |
Symbol 1418 Graphic | Used by:1458 | |
Symbol 1419 Graphic | Used by:1458 | |
Symbol 1420 Graphic | Used by:1458 | |
Symbol 1421 Graphic | Used by:1458 | |
Symbol 1422 Graphic | Used by:1458 | |
Symbol 1423 Graphic | Used by:1458 | |
Symbol 1424 Graphic | Used by:1458 | |
Symbol 1425 Graphic | Used by:1458 | |
Symbol 1426 Graphic | Used by:1458 | |
Symbol 1427 Graphic | Used by:1458 | |
Symbol 1428 Graphic | Used by:1458 | |
Symbol 1429 Graphic | Used by:1458 | |
Symbol 1430 Graphic | Used by:1458 | |
Symbol 1431 Graphic | Used by:1458 | |
Symbol 1432 Graphic | Used by:1458 | |
Symbol 1433 Graphic | Used by:1458 | |
Symbol 1434 Graphic | Used by:1458 | |
Symbol 1435 Graphic | Used by:1458 | |
Symbol 1436 Graphic | Used by:1458 | |
Symbol 1437 Graphic | Used by:1458 | |
Symbol 1438 Graphic | Used by:1458 | |
Symbol 1439 Graphic | Used by:1458 | |
Symbol 1440 Graphic | Used by:1458 | |
Symbol 1441 Graphic | Used by:1458 | |
Symbol 1442 Graphic | Used by:1458 | |
Symbol 1443 Graphic | Used by:1458 | |
Symbol 1444 Graphic | Used by:1458 | |
Symbol 1445 Graphic | Used by:1458 | |
Symbol 1446 Graphic | Used by:1458 | |
Symbol 1447 Graphic | Used by:1458 | |
Symbol 1448 Graphic | Used by:1458 | |
Symbol 1449 Graphic | Used by:1458 | |
Symbol 1450 Graphic | Used by:1458 | |
Symbol 1451 Graphic | Used by:1458 | |
Symbol 1452 Graphic | Used by:1458 | |
Symbol 1453 Graphic | Used by:1458 | |
Symbol 1454 Graphic | Used by:1458 | |
Symbol 1455 Graphic | Used by:1458 | |
Symbol 1456 Graphic | Used by:1458 | |
Symbol 1457 Graphic | Used by:1458 | |
Symbol 1458 MovieClip | Uses:1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 | Used by:1460 Timeline |
Symbol 1459 Graphic | Used by:1460 | |
Symbol 1460 Button | Uses:1378 1458 1459 | Used by:Timeline |
Symbol 1461 Text | Uses:220 | Used by:1462 |
Symbol 1462 Button | Uses:1461 744 | Used by:Timeline |
Symbol 1463 Text | Uses:220 | Used by:1464 |
Symbol 1464 Button | Uses:1463 744 | Used by:Timeline |
Symbol 1465 Text | Uses:220 | Used by:1466 |
Symbol 1466 Button | Uses:1465 744 | Used by:Timeline |
Symbol 1467 Graphic | Used by:1470 | |
Symbol 1468 Text | Uses:220 | Used by:1470 |
Symbol 1469 Graphic | Used by:1470 | |
Symbol 1470 Button | Uses:1467 1468 1469 | Used by:Timeline |
Symbol 1471 Graphic | Used by:1473 | |
Symbol 1472 Text | Uses:220 | Used by:1473 1485 |
Symbol 1473 Button | Uses:1471 1472 | Used by:1487 |
Symbol 1474 Graphic | Used by:1475 | |
Symbol 1475 Button | Uses:1474 | Used by:1487 |
Symbol 1476 Graphic | Used by:1479 | |
Symbol 1477 Text | Uses:220 | Used by:1479 |
Symbol 1478 Graphic | Used by:1479 | |
Symbol 1479 Button | Uses:1476 1477 1478 | Used by:1487 |
Symbol 1480 Graphic | Used by:1483 | |
Symbol 1481 Text | Uses:220 | Used by:1483 |
Symbol 1482 Graphic | Used by:1483 | |
Symbol 1483 Button | Uses:1480 1481 1482 | Used by:1487 |
Symbol 1484 Graphic | Used by:1485 | |
Symbol 1485 Button | Uses:1484 1472 | Used by:1487 |
Symbol 1486 Graphic | Used by:1487 | |
Symbol 1487 MovieClip | Uses:1473 1475 1479 1483 1485 1486 | Used by:Timeline |
Symbol 1488 Graphic | Used by:1491 | |
Symbol 1489 Text | Uses:220 | Used by:1491 1504 |
Symbol 1490 Graphic | Used by:1491 | |
Symbol 1491 Button | Uses:1488 1489 1490 | Used by:1507 |
Symbol 1492 Graphic | Used by:1493 | |
Symbol 1493 Button | Uses:1492 | Used by:1507 |
Symbol 1494 Graphic | Used by:1505 | |
Symbol 1495 Graphic | Used by:1498 | |
Symbol 1496 Text | Uses:220 | Used by:1498 |
Symbol 1497 Graphic | Used by:1498 | |
Symbol 1498 Button | Uses:1495 1496 1497 | Used by:1505 |
Symbol 1499 Graphic | Used by:1502 | |
Symbol 1500 Text | Uses:220 | Used by:1502 |
Symbol 1501 Graphic | Used by:1502 | |
Symbol 1502 Button | Uses:1499 1500 1501 | Used by:1505 |
Symbol 1503 Graphic | Used by:1504 | |
Symbol 1504 Button | Uses:1503 1489 | Used by:1505 |
Symbol 1505 Button | Uses:1494 1498 1502 1504 | Used by:1507 |
Symbol 1506 Graphic | Used by:1507 | |
Symbol 1507 MovieClip | Uses:1491 1493 1505 1506 | Used by:Timeline |
Symbol 1508 Graphic | Used by:1511 | |
Symbol 1509 Text | Uses:220 | Used by:1511 |
Symbol 1510 Graphic | Used by:1511 | |
Symbol 1511 Button | Uses:1508 1509 1510 | Used by:Timeline |
Symbol 1512 Graphic | Used by:1514 | |
Symbol 1513 Text | Uses:220 | Used by:1514 1536 1541 |
Symbol 1514 Button | Uses:1512 1513 | Used by:1542 |
Symbol 1515 Graphic | Used by:1516 | |
Symbol 1516 Button | Uses:1515 | Used by:1542 |
Symbol 1517 Graphic | Used by:1536 | |
Symbol 1518 Graphic | Used by:1521 1538 | |
Symbol 1519 Text | Uses:220 | Used by:1521 1538 |
Symbol 1520 Graphic | Used by:1521 1538 | |
Symbol 1521 Button | Uses:1518 1519 1520 | Used by:1536 |
Symbol 1522 Graphic | Used by:1525 1539 | |
Symbol 1523 Text | Uses:220 | Used by:1525 1539 |
Symbol 1524 Graphic | Used by:1525 1539 | |
Symbol 1525 Button | Uses:1522 1523 1524 | Used by:1536 |
Symbol 1526 Graphic | Used by:1535 | |
Symbol 1527 Graphic | Used by:1530 1540 | |
Symbol 1528 Text | Uses:220 | Used by:1530 1540 |
Symbol 1529 Graphic | Used by:1530 1540 | |
Symbol 1530 Button | Uses:1527 1528 1529 | Used by:1535 |
Symbol 1531 Graphic | Used by:1534 | |
Symbol 1532 Text | Uses:220 | Used by:1534 |
Symbol 1533 Graphic | Used by:1534 | |
Symbol 1534 Button | Uses:1531 1532 1533 | Used by:1535 |
Symbol 1535 Button | Uses:1526 1530 1534 | Used by:1536 |
Symbol 1536 Button | Uses:1517 1521 1525 1513 1535 | Used by:1541 |
Symbol 1537 Graphic | Used by:1541 | |
Symbol 1538 Button | Uses:1518 1519 1520 | Used by:1541 |
Symbol 1539 Button | Uses:1522 1523 1524 | Used by:1541 |
Symbol 1540 Button | Uses:1527 1528 1529 | Used by:1541 |
Symbol 1541 Button | Uses:1536 1537 1538 1539 1540 1513 | Used by:1542 |
Symbol 1542 MovieClip | Uses:1514 1516 1541 | Used by:Timeline |
Symbol 1543 Graphic | Used by:1548 1739 3799 5639 | |
Symbol 1544 Text | Uses:220 | Used by:1548 1739 3799 5639 |
Symbol 1545 Graphic | Used by:1548 1738 1739 3799 5639 | |
Symbol 1546 Text | Uses:220 | Used by:1548 1739 3799 5639 |
Symbol 1547 Text | Uses:220 | Used by:1548 1739 3799 5639 |
Symbol 1548 Button | Uses:1543 1544 1545 1546 1547 | Used by:Timeline |
Symbol 1549 Text | Uses:220 | Used by:1551 |
Symbol 1550 Graphic | Used by:1551 | |
Symbol 1551 Button | Uses:1549 1550 | Used by:Timeline |
Symbol 1552 Graphic | Used by:1556 1559 1561 1564 1567 1570 1573 1575 1577 1579 1585 | |
Symbol 1553 Text | Uses:220 | Used by:1554 2665 |
Symbol 1554 Button | Uses:1553 | Used by:1556 |
Symbol 1555 Graphic | Used by:1556 1559 1561 1564 1567 1570 1573 1575 1577 1579 1585 | |
Symbol 1556 Button | Uses:1552 1554 1555 | Used by:Timeline |
Symbol 1557 Text | Uses:220 | Used by:1558 2669 |
Symbol 1558 Button | Uses:1557 | Used by:1559 |
Symbol 1559 Button | Uses:1552 1558 1555 | Used by:Timeline |
Symbol 1560 Text | Uses:220 | Used by:1561 |
Symbol 1561 Button | Uses:1552 1560 1555 | Used by:Timeline |
Symbol 1562 Text | Uses:220 | Used by:1563 |
Symbol 1563 Button | Uses:1562 | Used by:1564 |
Symbol 1564 Button | Uses:1552 1563 1555 | Used by:Timeline |
Symbol 1565 Text | Uses:220 | Used by:1566 |
Symbol 1566 Button | Uses:1565 | Used by:1567 |
Symbol 1567 Button | Uses:1552 1566 1555 | Used by:Timeline |
Symbol 1568 Text | Uses:220 | Used by:1569 |
Symbol 1569 Button | Uses:1568 | Used by:1570 |
Symbol 1570 Button | Uses:1552 1569 1555 | Used by:Timeline |
Symbol 1571 Text | Uses:220 | Used by:1572 |
Symbol 1572 Button | Uses:1571 | Used by:1573 |
Symbol 1573 Button | Uses:1552 1572 1555 | Used by:Timeline |
Symbol 1574 Text | Uses:220 | Used by:1575 2299 Timeline |
Symbol 1575 Button | Uses:1552 1574 1555 | Used by:Timeline |
Symbol 1576 Text | Uses:220 | Used by:1577 |
Symbol 1577 Button | Uses:1552 1576 1555 | Used by:Timeline |
Symbol 1578 Text | Uses:220 | Used by:1579 |
Symbol 1579 Button | Uses:1552 1578 1555 | Used by:Timeline |
Symbol 1580 Graphic | Used by:1583 | |
Symbol 1581 Text | Uses:220 | Used by:1583 |
Symbol 1582 Graphic | Used by:1583 | |
Symbol 1583 Button | Uses:1580 1581 1582 | Used by:Timeline |
Symbol 1584 Text | Uses:220 | Used by:1585 |
Symbol 1585 Button | Uses:1552 1584 1555 | Used by:Timeline |
Symbol 1586 Text | Uses:220 | Used by:1589 |
Symbol 1587 Text | Uses:220 | Used by:1589 |
Symbol 1588 Graphic | Used by:1589 5124 5126 5128 5130 5132 5139 5141 5143 5145 5147 5149 5183 5185 5187 5207 5209 5211 5213 5222 5224 5226 5236 5238 5239 5241 5243 5245 | |
Symbol 1589 Button | Uses:1586 1587 1588 | Used by:Timeline |
Symbol 1590 Text | Uses:220 | Used by:1593 |
Symbol 1591 Text | Uses:220 | Used by:1593 |
Symbol 1592 Graphic | Used by:1593 1599 3665 3670 3675 4369 4373 4378 4382 4386 4390 5154 5156 5158 5160 5168 5170 5177 5179 5194 5196 5198 5200 | |
Symbol 1593 Button | Uses:1590 1591 1592 | Used by:Timeline |
Symbol 1594 Text | Uses:220 | Used by:1597 |
Symbol 1595 Text | Uses:220 | Used by:1597 |
Symbol 1596 Graphic | Used by:1597 | |
Symbol 1597 Button | Uses:1594 1595 1596 | Used by:Timeline |
Symbol 1598 Text | Uses:220 | Used by:1599 |
Symbol 1599 Button | Uses:1598 1592 | Used by:Timeline |
Symbol 1600 Graphic | Used by:1601 | |
Symbol 1601 MovieClip | Uses:1600 | Used by:1602 |
Symbol 1602 MovieClip | Uses:1601 | Used by:Timeline |
Symbol 1603 Text | Uses:220 | Used by:1607 |
Symbol 1604 Text | Uses:220 | Used by:1607 |
Symbol 1605 Text | Uses:220 | Used by:1607 |
Symbol 1606 Graphic | Used by:1607 | |
Symbol 1607 Button | Uses:1603 1604 1605 1606 | Used by:1624 |
Symbol 1608 Text | Uses:220 | Used by:1612 |
Symbol 1609 Text | Uses:220 | Used by:1612 |
Symbol 1610 Text | Uses:220 | Used by:1612 |
Symbol 1611 Graphic | Used by:1612 | |
Symbol 1612 Button | Uses:1608 1609 1610 1611 | Used by:1624 |
Symbol 1613 Text | Uses:220 | Used by:1617 |
Symbol 1614 Text | Uses:220 | Used by:1617 |
Symbol 1615 Text | Uses:220 | Used by:1617 |
Symbol 1616 Graphic | Used by:1617 | |
Symbol 1617 Button | Uses:1613 1614 1615 1616 | Used by:1624 |
Symbol 1618 Text | Uses:220 | Used by:1622 |
Symbol 1619 Text | Uses:220 | Used by:1622 |
Symbol 1620 Text | Uses:220 | Used by:1622 |
Symbol 1621 Graphic | Used by:1622 | |
Symbol 1622 Button | Uses:1618 1619 1620 1621 | Used by:1624 |
Symbol 1623 EditableText | Uses:1178 | Used by:1624 |
Symbol 1624 MovieClip | Uses:1607 1612 1617 1622 1623 1246 | Used by:Timeline |
Symbol 1625 Text | Uses:220 | Used by:Timeline |
Symbol 1626 Text | Uses:220 | Used by:Timeline |
Symbol 1627 Text | Uses:220 | Used by:Timeline |
Symbol 1628 Bitmap | Used by:1629 | |
Symbol 1629 Graphic | Uses:1628 | Used by:Timeline |
Symbol 1630 Graphic | Used by:1632 | |
Symbol 1631 Graphic | Used by:1632 | |
Symbol 1632 Button | Uses:1630 1631 | Used by:Timeline |
Symbol 1633 Bitmap | Used by:1635 | |
Symbol 1634 Bitmap | Used by:1635 | |
Symbol 1635 Graphic | Uses:1633 1634 | Used by:Timeline |
Symbol 1636 Text | Uses:220 | Used by:Timeline |
Symbol 1637 Bitmap | Used by:1638 | |
Symbol 1638 Graphic | Uses:1637 | Used by:Timeline |
Symbol 1639 Text | Uses:220 | Used by:4203 Timeline |
Symbol 1640 Graphic | Used by:1643 | |
Symbol 1641 Graphic | Used by:1642 1643 | |
Symbol 1642 MovieClip | Uses:1641 | Used by:1643 |
Symbol 1643 Button | Uses:1640 1641 1642 | Used by:Timeline |
Symbol 1644 Text | Uses:220 | Used by:Timeline |
Symbol 1645 Bitmap | Used by:1646 | |
Symbol 1646 Graphic | Uses:1645 | Used by:Timeline |
Symbol 1647 Text | Uses:220 | Used by:Timeline |
Symbol 1648 Bitmap | Used by:1649 | |
Symbol 1649 Graphic | Uses:1648 | Used by:Timeline |
Symbol 1650 Text | Uses:220 | Used by:Timeline |
Symbol 1651 Text | Uses:220 | Used by:Timeline |
Symbol 1652 Bitmap | Used by:1654 | |
Symbol 1653 Bitmap | Used by:1654 | |
Symbol 1654 Graphic | Uses:1652 1653 | Used by:Timeline |
Symbol 1655 Text | Uses:220 | Used by:Timeline |
Symbol 1656 Bitmap | Used by:1658 | |
Symbol 1657 Bitmap | Used by:1658 | |
Symbol 1658 Graphic | Uses:1656 1657 | Used by:Timeline |
Symbol 1659 Text | Uses:220 | Used by:Timeline |
Symbol 1660 Text | Uses:220 | Used by:Timeline |
Symbol 1661 Text | Uses:220 | Used by:Timeline |
Symbol 1662 Bitmap | Used by:1663 | |
Symbol 1663 Graphic | Uses:1662 | Used by:Timeline |
Symbol 1664 Text | Uses:220 | Used by:Timeline |
Symbol 1665 Text | Uses:220 | Used by:Timeline |
Symbol 1666 Bitmap | Used by:1667 | |
Symbol 1667 Graphic | Uses:1666 | Used by:Timeline |
Symbol 1668 Text | Uses:220 | Used by:Timeline |
Symbol 1669 Text | Uses:220 | Used by:Timeline |
Symbol 1670 Text | Uses:220 | Used by:Timeline |
Symbol 1671 Text | Uses:220 | Used by:Timeline |
Symbol 1672 Text | Uses:220 | Used by:Timeline |
Symbol 1673 Text | Uses:220 | Used by:Timeline |
Symbol 1674 Text | Uses:220 | Used by:Timeline |
Symbol 1675 Text | Uses:220 | Used by:Timeline |
Symbol 1676 Text | Uses:220 | Used by:Timeline |
Symbol 1677 Text | Uses:220 | Used by:Timeline |
Symbol 1678 Text | Uses:220 | Used by:Timeline |
Symbol 1679 Text | Uses:220 | Used by:Timeline |
Symbol 1680 Text | Uses:220 | Used by:Timeline |
Symbol 1681 Bitmap | Used by:1682 | |
Symbol 1682 Graphic | Uses:1681 | Used by:Timeline |
Symbol 1683 Text | Uses:220 | Used by:Timeline |
Symbol 1684 Text | Uses:220 | Used by:Timeline |
Symbol 1685 Bitmap | Used by:1686 | |
Symbol 1686 Graphic | Uses:1685 | Used by:Timeline |
Symbol 1687 Text | Uses:220 | Used by:Timeline |
Symbol 1688 Text | Uses:220 | Used by:Timeline |
Symbol 1689 Bitmap | Used by:1690 | |
Symbol 1690 Graphic | Uses:1689 | Used by:Timeline |
Symbol 1691 Text | Uses:220 | Used by:Timeline |
Symbol 1692 Text | Uses:220 | Used by:Timeline |
Symbol 1693 Bitmap | Used by:1694 | |
Symbol 1694 Graphic | Uses:1693 | Used by:Timeline |
Symbol 1695 Text | Uses:220 | Used by:Timeline |
Symbol 1696 Text | Uses:220 | Used by:Timeline |
Symbol 1697 Bitmap | Used by:1698 | |
Symbol 1698 Graphic | Uses:1697 | Used by:Timeline |
Symbol 1699 Text | Uses:220 | Used by:Timeline |
Symbol 1700 Bitmap | Used by:1701 | |
Symbol 1701 Graphic | Uses:1700 | Used by:Timeline |
Symbol 1702 Text | Uses:220 | Used by:Timeline |
Symbol 1703 Bitmap | Used by:1704 | |
Symbol 1704 Graphic | Uses:1703 | Used by:Timeline |
Symbol 1705 Text | Uses:220 | Used by:Timeline |
Symbol 1706 Text | Uses:220 | Used by:Timeline |
Symbol 1707 Bitmap | Used by:1708 | |
Symbol 1708 Graphic | Uses:1707 | Used by:Timeline |
Symbol 1709 Text | Uses:220 | Used by:Timeline |
Symbol 1710 Bitmap | Used by:1711 | |
Symbol 1711 Graphic | Uses:1710 | Used by:Timeline |
Symbol 1712 Text | Uses:220 | Used by:Timeline |
Symbol 1713 Text | Uses:220 | Used by:Timeline |
Symbol 1714 Text | Uses:220 | Used by:Timeline |
Symbol 1715 Bitmap | Used by:1716 | |
Symbol 1716 Graphic | Uses:1715 | Used by:Timeline |
Symbol 1717 Text | Uses:220 | Used by:Timeline |
Symbol 1718 Text | Uses:220 | Used by:Timeline |
Symbol 1719 Bitmap | Used by:1720 | |
Symbol 1720 Graphic | Uses:1719 | Used by:Timeline |
Symbol 1721 Text | Uses:220 | Used by:Timeline |
Symbol 1722 Text | Uses:220 | Used by:Timeline |
Symbol 1723 Bitmap | Used by:1725 | |
Symbol 1724 Bitmap | Used by:1725 | |
Symbol 1725 Graphic | Uses:1723 1724 | Used by:Timeline |
Symbol 1726 Text | Uses:220 | Used by:Timeline |
Symbol 1727 Bitmap | Used by:1728 | |
Symbol 1728 Graphic | Uses:1727 | Used by:Timeline |
Symbol 1729 Text | Uses:220 | Used by:Timeline |
Symbol 1730 Text | Uses:220 | Used by:Timeline |
Symbol 1731 Text | Uses:220 | Used by:Timeline |
Symbol 1732 Bitmap | Used by:1734 | |
Symbol 1733 Bitmap | Used by:1734 | |
Symbol 1734 Graphic | Uses:1732 1733 | Used by:Timeline |
Symbol 1735 Text | Uses:220 | Used by:Timeline |
Symbol 1736 Graphic | Used by:1738 | |
Symbol 1737 Text | Uses:220 | Used by:1738 |
Symbol 1738 Button | Uses:1736 1737 1545 | Used by:Timeline |
Symbol 1739 Button | Uses:1543 1544 1545 1546 1547 | Used by:Timeline |
Symbol 1740 Graphic | Used by:Timeline | |
Symbol 1741 Text | Uses:220 | Used by:Timeline |
Symbol 1742 Bitmap | Used by:1743 | |
Symbol 1743 Graphic | Uses:1742 | Used by:Timeline |
Symbol 1744 Text | Uses:220 | Used by:Timeline |
Symbol 1745 Text | Uses:220 | Used by:Timeline |
Symbol 1746 Text | Uses:220 | Used by:Timeline |
Symbol 1747 Text | Uses:220 | Used by:Timeline |
Symbol 1748 Text | Uses:220 | Used by:Timeline |
Symbol 1749 Graphic | Used by:3979 3980 3993 3994 3995 4028 4312 4767 Timeline | |
Symbol 1750 Text | Uses:220 | Used by:Timeline |
Symbol 1751 Text | Uses:220 | Used by:Timeline |
Symbol 1752 Bitmap | Used by:1753 | |
Symbol 1753 Graphic | Uses:1752 | Used by:Timeline |
Symbol 1754 Bitmap | Used by:1755 | |
Symbol 1755 Graphic | Uses:1754 | Used by:Timeline |
Symbol 1756 Text | Uses:220 | Used by:Timeline |
Symbol 1757 Text | Uses:220 | Used by:Timeline |
Symbol 1758 Bitmap | Used by:1760 | |
Symbol 1759 Bitmap | Used by:1760 | |
Symbol 1760 Graphic | Uses:1758 1759 | Used by:Timeline |
Symbol 1761 Text | Uses:220 | Used by:Timeline |
Symbol 1762 Bitmap | Used by:1764 | |
Symbol 1763 Bitmap | Used by:1764 | |
Symbol 1764 Graphic | Uses:1762 1763 | Used by:Timeline |
Symbol 1765 Text | Uses:220 | Used by:Timeline |
Symbol 1766 Bitmap | Used by:1768 | |
Symbol 1767 Bitmap | Used by:1768 | |
Symbol 1768 Graphic | Uses:1766 1767 | Used by:Timeline |
Symbol 1769 Text | Uses:220 | Used by:Timeline |
Symbol 1770 Text | Uses:220 | Used by:Timeline |
Symbol 1771 Bitmap | Used by:1773 | |
Symbol 1772 Bitmap | Used by:1773 | |
Symbol 1773 Graphic | Uses:1771 1772 | Used by:Timeline |
Symbol 1774 Text | Uses:220 | Used by:Timeline |
Symbol 1775 Bitmap | Used by:1776 | |
Symbol 1776 Graphic | Uses:1775 | Used by:Timeline |
Symbol 1777 Text | Uses:220 | Used by:Timeline |
Symbol 1778 Bitmap | Used by:1779 | |
Symbol 1779 Graphic | Uses:1778 | Used by:Timeline |
Symbol 1780 Text | Uses:220 | Used by:Timeline |
Symbol 1781 Text | Uses:220 | Used by:Timeline |
Symbol 1782 Bitmap | Used by:1783 | |
Symbol 1783 Graphic | Uses:1782 | Used by:Timeline |
Symbol 1784 Text | Uses:220 | Used by:Timeline |
Symbol 1785 Bitmap | Used by:1786 | |
Symbol 1786 Graphic | Uses:1785 | Used by:Timeline |
Symbol 1787 Text | Uses:220 | Used by:Timeline |
Symbol 1788 Text | Uses:220 | Used by:Timeline |
Symbol 1789 Bitmap | Used by:1791 1883 | |
Symbol 1790 Bitmap | Used by:1791 1883 | |
Symbol 1791 Graphic | Uses:1789 1790 | Used by:Timeline |
Symbol 1792 Text | Uses:220 | Used by:Timeline |
Symbol 1793 Text | Uses:220 | Used by:Timeline |
Symbol 1794 Bitmap | Used by:1795 | |
Symbol 1795 Graphic | Uses:1794 | Used by:Timeline |
Symbol 1796 Text | Uses:220 | Used by:Timeline |
Symbol 1797 Text | Uses:220 | Used by:Timeline |
Symbol 1798 Bitmap | Used by:1799 | |
Symbol 1799 Graphic | Uses:1798 | Used by:Timeline |
Symbol 1800 Text | Uses:220 | Used by:Timeline |
Symbol 1801 Bitmap | Used by:1802 | |
Symbol 1802 Graphic | Uses:1801 | Used by:Timeline |
Symbol 1803 Text | Uses:220 | Used by:Timeline |
Symbol 1804 Text | Uses:220 | Used by:Timeline |
Symbol 1805 Bitmap | Used by:1806 | |
Symbol 1806 Graphic | Uses:1805 | Used by:Timeline |
Symbol 1807 Text | Uses:220 | Used by:Timeline |
Symbol 1808 Text | Uses:220 | Used by:Timeline |
Symbol 1809 Bitmap | Used by:1810 | |
Symbol 1810 Graphic | Uses:1809 | Used by:Timeline |
Symbol 1811 Text | Uses:220 | Used by:Timeline |
Symbol 1812 Bitmap | Used by:1813 | |
Symbol 1813 Graphic | Uses:1812 | Used by:Timeline |
Symbol 1814 Text | Uses:220 | Used by:Timeline |
Symbol 1815 Bitmap | Used by:1816 | |
Symbol 1816 Graphic | Uses:1815 | Used by:Timeline |
Symbol 1817 Text | Uses:220 | Used by:Timeline |
Symbol 1818 Text | Uses:220 | Used by:Timeline |
Symbol 1819 Bitmap | Used by:1821 | |
Symbol 1820 Bitmap | Used by:1821 | |
Symbol 1821 Graphic | Uses:1819 1820 | Used by:Timeline |
Symbol 1822 Text | Uses:220 | Used by:Timeline |
Symbol 1823 Bitmap | Used by:1824 | |
Symbol 1824 Graphic | Uses:1823 | Used by:Timeline |
Symbol 1825 Text | Uses:220 | Used by:Timeline |
Symbol 1826 Text | Uses:220 | Used by:Timeline |
Symbol 1827 Bitmap | Used by:1828 | |
Symbol 1828 Graphic | Uses:1827 | Used by:Timeline |
Symbol 1829 Text | Uses:220 | Used by:Timeline |
Symbol 1830 Bitmap | Used by:1831 | |
Symbol 1831 Graphic | Uses:1830 | Used by:Timeline |
Symbol 1832 Text | Uses:220 | Used by:Timeline |
Symbol 1833 Text | Uses:220 | Used by:Timeline |
Symbol 1834 Bitmap | Used by:1835 | |
Symbol 1835 Graphic | Uses:1834 | Used by:Timeline |
Symbol 1836 Text | Uses:220 | Used by:Timeline |
Symbol 1837 Bitmap | Used by:1838 | |
Symbol 1838 Graphic | Uses:1837 | Used by:Timeline |
Symbol 1839 Text | Uses:220 | Used by:Timeline |
Symbol 1840 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 1841 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 1842 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 1843 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 1844 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 1845 Text | Uses:220 | Used by:Timeline |
Symbol 1846 Text | Uses:220 | Used by:Timeline |
Symbol 1847 Text | Uses:220 | Used by:Timeline |
Symbol 1848 Text | Uses:220 | Used by:Timeline |
Symbol 1849 Bitmap | Used by:1851 | |
Symbol 1850 Bitmap | Used by:1851 | |
Symbol 1851 Graphic | Uses:1849 1850 | Used by:Timeline |
Symbol 1852 Text | Uses:220 | Used by:Timeline |
Symbol 1853 Bitmap | Used by:1854 | |
Symbol 1854 Graphic | Uses:1853 | Used by:Timeline |
Symbol 1855 Text | Uses:220 | Used by:Timeline |
Symbol 1856 Text | Uses:220 | Used by:Timeline |
Symbol 1857 Bitmap | Used by:1858 | |
Symbol 1858 Graphic | Uses:1857 | Used by:Timeline |
Symbol 1859 Text | Uses:220 | Used by:Timeline |
Symbol 1860 Bitmap | Used by:1861 | |
Symbol 1861 Graphic | Uses:1860 | Used by:Timeline |
Symbol 1862 Text | Uses:220 | Used by:Timeline |
Symbol 1863 Text | Uses:220 | Used by:Timeline |
Symbol 1864 Bitmap | Used by:1868 | |
Symbol 1865 Bitmap | Used by:1868 | |
Symbol 1866 Bitmap | Used by:1868 | |
Symbol 1867 Bitmap | Used by:1868 | |
Symbol 1868 Graphic | Uses:1864 1865 1866 1867 | Used by:Timeline |
Symbol 1869 Text | Uses:220 | Used by:Timeline |
Symbol 1870 Text | Uses:220 | Used by:Timeline |
Symbol 1871 Text | Uses:220 | Used by:Timeline |
Symbol 1872 Text | Uses:220 | Used by:Timeline |
Symbol 1873 Bitmap | Used by:1874 | |
Symbol 1874 Graphic | Uses:1873 | Used by:Timeline |
Symbol 1875 Text | Uses:220 | Used by:Timeline |
Symbol 1876 Text | Uses:220 | Used by:Timeline |
Symbol 1877 Bitmap | Used by:1878 | |
Symbol 1878 Graphic | Uses:1877 | Used by:Timeline |
Symbol 1879 Text | Uses:220 | Used by:Timeline |
Symbol 1880 Bitmap | Used by:1881 | |
Symbol 1881 Graphic | Uses:1880 | Used by:Timeline |
Symbol 1882 Text | Uses:220 | Used by:Timeline |
Symbol 1883 Graphic | Uses:1789 1790 | Used by:Timeline |
Symbol 1884 Text | Uses:220 | Used by:Timeline |
Symbol 1885 Text | Uses:220 | Used by:Timeline |
Symbol 1886 Bitmap | Used by:1888 | |
Symbol 1887 Bitmap | Used by:1888 | |
Symbol 1888 Graphic | Uses:1886 1887 | Used by:Timeline |
Symbol 1889 Text | Uses:220 | Used by:Timeline |
Symbol 1890 Text | Uses:220 | Used by:Timeline |
Symbol 1891 Graphic | Used by:1970 | |
Symbol 1892 Graphic | Used by:1970 | |
Symbol 1893 Graphic | Used by:1970 | |
Symbol 1894 Graphic | Used by:1970 | |
Symbol 1895 Graphic | Used by:1970 | |
Symbol 1896 Graphic | Used by:1970 | |
Symbol 1897 Graphic | Used by:1970 | |
Symbol 1898 Graphic | Used by:1970 | |
Symbol 1899 Graphic | Used by:1970 | |
Symbol 1900 Graphic | Used by:1970 | |
Symbol 1901 Graphic | Used by:1970 | |
Symbol 1902 Graphic | Used by:1970 | |
Symbol 1903 Graphic | Used by:1970 | |
Symbol 1904 Graphic | Used by:1970 | |
Symbol 1905 Graphic | Used by:1970 | |
Symbol 1906 Graphic | Used by:1970 | |
Symbol 1907 Graphic | Used by:1970 | |
Symbol 1908 Graphic | Used by:1970 | |
Symbol 1909 Graphic | Used by:1970 | |
Symbol 1910 Graphic | Used by:1970 | |
Symbol 1911 Graphic | Used by:1970 | |
Symbol 1912 Graphic | Used by:1970 | |
Symbol 1913 Graphic | Used by:1970 | |
Symbol 1914 Graphic | Used by:1970 | |
Symbol 1915 Graphic | Used by:1970 | |
Symbol 1916 Graphic | Used by:1970 | |
Symbol 1917 Graphic | Used by:1970 | |
Symbol 1918 Graphic | Used by:1970 | |
Symbol 1919 Graphic | Used by:1970 | |
Symbol 1920 Graphic | Used by:1970 | |
Symbol 1921 Graphic | Used by:1970 | |
Symbol 1922 Graphic | Used by:1970 | |
Symbol 1923 Graphic | Used by:1970 | |
Symbol 1924 Graphic | Used by:1970 | |
Symbol 1925 Graphic | Used by:1970 | |
Symbol 1926 Graphic | Used by:1970 | |
Symbol 1927 Graphic | Used by:1970 | |
Symbol 1928 Graphic | Used by:1970 | |
Symbol 1929 Graphic | Used by:1970 | |
Symbol 1930 Graphic | Used by:1970 | |
Symbol 1931 Graphic | Used by:1970 | |
Symbol 1932 Graphic | Used by:1970 | |
Symbol 1933 Graphic | Used by:1970 | |
Symbol 1934 Graphic | Used by:1970 | |
Symbol 1935 Graphic | Used by:1970 | |
Symbol 1936 Graphic | Used by:1970 | |
Symbol 1937 Graphic | Used by:1970 | |
Symbol 1938 Graphic | Used by:1970 | |
Symbol 1939 Graphic | Used by:1970 | |
Symbol 1940 Graphic | Used by:1970 | |
Symbol 1941 Graphic | Used by:1970 | |
Symbol 1942 Graphic | Used by:1970 | |
Symbol 1943 Graphic | Used by:1970 | |
Symbol 1944 Graphic | Used by:1970 | |
Symbol 1945 Graphic | Used by:1970 | |
Symbol 1946 Graphic | Used by:1970 | |
Symbol 1947 Graphic | Used by:1970 | |
Symbol 1948 Graphic | Used by:1970 | |
Symbol 1949 Graphic | Used by:1970 | |
Symbol 1950 Graphic | Used by:1970 | |
Symbol 1951 Graphic | Used by:1970 | |
Symbol 1952 Graphic | Used by:1970 | |
Symbol 1953 Graphic | Used by:1970 | |
Symbol 1954 Graphic | Used by:1970 | |
Symbol 1955 Graphic | Used by:1970 | |
Symbol 1956 Graphic | Used by:1970 | |
Symbol 1957 Graphic | Used by:1970 | |
Symbol 1958 Graphic | Used by:1970 | |
Symbol 1959 Graphic | Used by:1970 | |
Symbol 1960 Graphic | Used by:1970 | |
Symbol 1961 Graphic | Used by:1970 | |
Symbol 1962 Graphic | Used by:1970 | |
Symbol 1963 Graphic | Used by:1970 | |
Symbol 1964 Graphic | Used by:1970 | |
Symbol 1965 Graphic | Used by:1970 | |
Symbol 1966 Graphic | Used by:1970 | |
Symbol 1967 Graphic | Used by:1970 | |
Symbol 1968 Graphic | Used by:1970 | |
Symbol 1969 Graphic | Used by:1970 | |
Symbol 1970 MovieClip | Uses:1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 | Used by:Timeline |
Symbol 1971 Text | Uses:220 | Used by:Timeline |
Symbol 1972 Text | Uses:220 | Used by:Timeline |
Symbol 1973 Text | Uses:220 | Used by:Timeline |
Symbol 1974 Bitmap | Used by:1975 | |
Symbol 1975 Graphic | Uses:1974 | Used by:Timeline |
Symbol 1976 Text | Uses:220 | Used by:Timeline |
Symbol 1977 Text | Uses:220 | Used by:Timeline |
Symbol 1978 Bitmap | Used by:1979 | |
Symbol 1979 Graphic | Uses:1978 | Used by:Timeline |
Symbol 1980 Text | Uses:220 | Used by:Timeline |
Symbol 1981 Bitmap | Used by:1982 | |
Symbol 1982 Graphic | Uses:1981 | Used by:Timeline |
Symbol 1983 Bitmap | Used by:1984 | |
Symbol 1984 Graphic | Uses:1983 | Used by:Timeline |
Symbol 1985 Text | Uses:220 | Used by:Timeline |
Symbol 1986 Text | Uses:220 | Used by:Timeline |
Symbol 1987 Text | Uses:220 | Used by:Timeline |
Symbol 1988 Text | Uses:220 | Used by:Timeline |
Symbol 1989 Bitmap | Used by:1991 | |
Symbol 1990 Bitmap | Used by:1991 | |
Symbol 1991 Graphic | Uses:1989 1990 | Used by:Timeline |
Symbol 1992 Text | Uses:220 | Used by:Timeline |
Symbol 1993 Bitmap | Used by:1995 | |
Symbol 1994 Bitmap | Used by:1995 | |
Symbol 1995 Graphic | Uses:1993 1994 | Used by:Timeline |
Symbol 1996 Text | Uses:220 | Used by:Timeline |
Symbol 1997 Text | Uses:220 | Used by:Timeline |
Symbol 1998 Graphic | Used by:Timeline | |
Symbol 1999 Bitmap | Used by:2000 | |
Symbol 2000 Graphic | Uses:1999 | Used by:Timeline |
Symbol 2001 Text | Uses:220 | Used by:Timeline |
Symbol 2002 Bitmap | Used by:2003 | |
Symbol 2003 Graphic | Uses:2002 | Used by:Timeline |
Symbol 2004 Text | Uses:220 | Used by:Timeline |
Symbol 2005 Graphic | Used by:Timeline | |
Symbol 2006 Bitmap | Used by:2007 | |
Symbol 2007 Graphic | Uses:2006 | Used by:Timeline |
Symbol 2008 Text | Uses:220 | Used by:Timeline |
Symbol 2009 Graphic | Used by:Timeline | |
Symbol 2010 Bitmap | Used by:2011 | |
Symbol 2011 Graphic | Uses:2010 | Used by:Timeline |
Symbol 2012 Text | Uses:220 | Used by:Timeline |
Symbol 2013 Text | Uses:220 | Used by:Timeline |
Symbol 2014 Text | Uses:220 | Used by:Timeline |
Symbol 2015 Graphic | Used by:2034 | |
Symbol 2016 Graphic | Used by:2034 | |
Symbol 2017 Graphic | Used by:2034 | |
Symbol 2018 Graphic | Used by:2034 | |
Symbol 2019 Graphic | Used by:2034 | |
Symbol 2020 Graphic | Used by:2034 | |
Symbol 2021 Graphic | Used by:2034 | |
Symbol 2022 Graphic | Used by:2034 | |
Symbol 2023 Graphic | Used by:2034 | |
Symbol 2024 Graphic | Used by:2034 | |
Symbol 2025 Graphic | Used by:2034 | |
Symbol 2026 Graphic | Used by:2034 | |
Symbol 2027 Graphic | Used by:2034 | |
Symbol 2028 Graphic | Used by:2034 | |
Symbol 2029 Graphic | Used by:2034 | |
Symbol 2030 Graphic | Used by:2034 | |
Symbol 2031 Graphic | Used by:2034 | |
Symbol 2032 Graphic | Used by:2034 | |
Symbol 2033 Graphic | Used by:2034 | |
Symbol 2034 MovieClip | Uses:2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 | Used by:Timeline |
Symbol 2035 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2036 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2037 Text | Uses:220 | Used by:Timeline |
Symbol 2038 Text | Uses:220 | Used by:Timeline |
Symbol 2039 Text | Uses:220 | Used by:Timeline |
Symbol 2040 Text | Uses:220 | Used by:Timeline |
Symbol 2041 Text | Uses:220 | Used by:Timeline |
Symbol 2042 Bitmap | Used by:2044 | |
Symbol 2043 Bitmap | Used by:2044 | |
Symbol 2044 Graphic | Uses:2042 2043 | Used by:Timeline |
Symbol 2045 Text | Uses:220 | Used by:Timeline |
Symbol 2046 Bitmap | Used by:2047 | |
Symbol 2047 Graphic | Uses:2046 | Used by:2048 |
Symbol 2048 MovieClip | Uses:2047 | Used by:Timeline |
Symbol 2049 Text | Uses:220 | Used by:Timeline |
Symbol 2050 Bitmap | Used by:2051 | |
Symbol 2051 Graphic | Uses:2050 | Used by:Timeline |
Symbol 2052 Text | Uses:220 | Used by:Timeline |
Symbol 2053 Text | Uses:220 | Used by:Timeline |
Symbol 2054 Text | Uses:220 | Used by:Timeline |
Symbol 2055 Text | Uses:220 | Used by:Timeline |
Symbol 2056 Text | Uses:220 | Used by:Timeline |
Symbol 2057 Graphic | Used by:Timeline | |
Symbol 2058 Text | Uses:220 | Used by:Timeline |
Symbol 2059 Text | Uses:220 | Used by:Timeline |
Symbol 2060 Bitmap | Used by:2061 | |
Symbol 2061 Graphic | Uses:2060 | Used by:Timeline |
Symbol 2062 Bitmap | Used by:2063 | |
Symbol 2063 Graphic | Uses:2062 | Used by:Timeline |
Symbol 2064 Text | Uses:220 | Used by:Timeline |
Symbol 2065 Bitmap | Used by:2066 | |
Symbol 2066 Graphic | Uses:2065 | Used by:Timeline |
Symbol 2067 Text | Uses:220 | Used by:Timeline |
Symbol 2068 Text | Uses:220 | Used by:Timeline |
Symbol 2069 Text | Uses:220 | Used by:Timeline |
Symbol 2070 Bitmap | Used by:2071 | |
Symbol 2071 Graphic | Uses:2070 | Used by:2072 |
Symbol 2072 MovieClip | Uses:2071 | Used by:Timeline |
Symbol 2073 Text | Uses:220 | Used by:Timeline |
Symbol 2074 Graphic | Used by:Timeline | |
Symbol 2075 Text | Uses:220 | Used by:Timeline |
Symbol 2076 Bitmap | Used by:2077 | |
Symbol 2077 Graphic | Uses:2076 | Used by:Timeline |
Symbol 2078 Text | Uses:220 | Used by:Timeline |
Symbol 2079 Bitmap | Used by:2080 | |
Symbol 2080 Graphic | Uses:2079 | Used by:Timeline |
Symbol 2081 Text | Uses:220 | Used by:Timeline |
Symbol 2082 Bitmap | Used by:2083 | |
Symbol 2083 Graphic | Uses:2082 | Used by:Timeline |
Symbol 2084 Text | Uses:220 | Used by:Timeline |
Symbol 2085 Bitmap | Used by:2086 | |
Symbol 2086 Graphic | Uses:2085 | Used by:Timeline |
Symbol 2087 Bitmap | Used by:2088 | |
Symbol 2088 Graphic | Uses:2087 | Used by:2089 |
Symbol 2089 MovieClip | Uses:2088 | Used by:Timeline |
Symbol 2090 Bitmap | Used by:2091 | |
Symbol 2091 Graphic | Uses:2090 | Used by:2092 |
Symbol 2092 MovieClip | Uses:2091 | Used by:Timeline |
Symbol 2093 Text | Uses:220 | Used by:Timeline |
Symbol 2094 Bitmap | Used by:2095 | |
Symbol 2095 Graphic | Uses:2094 | Used by:Timeline |
Symbol 2096 Text | Uses:220 | Used by:Timeline |
Symbol 2097 Bitmap | Used by:2098 | |
Symbol 2098 Graphic | Uses:2097 | Used by:Timeline |
Symbol 2099 Text | Uses:220 | Used by:Timeline |
Symbol 2100 Bitmap | Used by:2101 | |
Symbol 2101 Graphic | Uses:2100 | Used by:Timeline |
Symbol 2102 Text | Uses:220 | Used by:Timeline |
Symbol 2103 Bitmap | Used by:2104 | |
Symbol 2104 Graphic | Uses:2103 | Used by:Timeline |
Symbol 2105 Text | Uses:220 | Used by:Timeline |
Symbol 2106 Text | Uses:220 | Used by:Timeline |
Symbol 2107 Bitmap | Used by:2109 | |
Symbol 2108 Bitmap | Used by:2109 | |
Symbol 2109 Graphic | Uses:2107 2108 | Used by:Timeline |
Symbol 2110 Text | Uses:220 | Used by:Timeline |
Symbol 2111 Text | Uses:220 | Used by:Timeline |
Symbol 2112 Bitmap | Used by:2114 | |
Symbol 2113 Bitmap | Used by:2114 | |
Symbol 2114 Graphic | Uses:2112 2113 | Used by:Timeline |
Symbol 2115 Bitmap | Used by:2119 | |
Symbol 2116 Bitmap | Used by:2119 | |
Symbol 2117 Bitmap | Used by:2119 | |
Symbol 2118 Bitmap | Used by:2119 | |
Symbol 2119 Graphic | Uses:2115 2116 2117 2118 | Used by:Timeline |
Symbol 2120 Text | Uses:220 | Used by:Timeline |
Symbol 2121 Text | Uses:220 | Used by:Timeline |
Symbol 2122 Bitmap | Used by:2124 | |
Symbol 2123 Bitmap | Used by:2124 | |
Symbol 2124 Graphic | Uses:2122 2123 | Used by:Timeline |
Symbol 2125 Text | Uses:220 | Used by:Timeline |
Symbol 2126 Text | Uses:220 | Used by:Timeline |
Symbol 2127 Bitmap | Used by:2129 | |
Symbol 2128 Bitmap | Used by:2129 | |
Symbol 2129 Graphic | Uses:2127 2128 | Used by:Timeline |
Symbol 2130 Bitmap | Used by:2131 | |
Symbol 2131 Graphic | Uses:2130 | Used by:2132 |
Symbol 2132 MovieClip | Uses:2131 | Used by:Timeline |
Symbol 2133 Text | Uses:220 | Used by:Timeline |
Symbol 2134 Text | Uses:220 | Used by:Timeline |
Symbol 2135 Bitmap | Used by:2136 | |
Symbol 2136 Graphic | Uses:2135 | Used by:Timeline |
Symbol 2137 Text | Uses:220 | Used by:2142 |
Symbol 2138 Graphic | Used by:2142 | |
Symbol 2139 Text | Uses:220 | Used by:2142 |
Symbol 2140 Bitmap | Used by:2141 | |
Symbol 2141 Graphic | Uses:2140 | Used by:2142 |
Symbol 2142 MovieClip | Uses:2137 2138 2139 2141 | Used by:Timeline |
Symbol 2143 Text | Uses:220 | Used by:Timeline |
Symbol 2144 Bitmap | Used by:2145 | |
Symbol 2145 Graphic | Uses:2144 | Used by:2146 |
Symbol 2146 MovieClip | Uses:2145 | Used by:Timeline |
Symbol 2147 Text | Uses:220 | Used by:Timeline |
Symbol 2148 Bitmap | Used by:2149 | |
Symbol 2149 Graphic | Uses:2148 | Used by:2150 |
Symbol 2150 MovieClip | Uses:2149 | Used by:Timeline |
Symbol 2151 Bitmap | Used by:2152 | |
Symbol 2152 Graphic | Uses:2151 | Used by:2153 |
Symbol 2153 MovieClip | Uses:2152 | Used by:Timeline |
Symbol 2154 Text | Uses:220 | Used by:Timeline |
Symbol 2155 Text | Uses:220 | Used by:Timeline |
Symbol 2156 Text | Used by:Timeline | |
Symbol 2157 Bitmap | Used by:2158 | |
Symbol 2158 Graphic | Uses:2157 | Used by:2159 |
Symbol 2159 MovieClip | Uses:2158 | Used by:Timeline |
Symbol 2160 Bitmap | Used by:2161 | |
Symbol 2161 Graphic | Uses:2160 | Used by:2162 |
Symbol 2162 MovieClip | Uses:2161 | Used by:Timeline |
Symbol 2163 Text | Uses:220 | Used by:Timeline |
Symbol 2164 Text | Uses:220 | Used by:Timeline |
Symbol 2165 Text | Uses:220 | Used by:Timeline |
Symbol 2166 Bitmap | Used by:2167 | |
Symbol 2167 Graphic | Uses:2166 | Used by:2168 |
Symbol 2168 MovieClip | Uses:2167 | Used by:Timeline |
Symbol 2169 Bitmap | Used by:2170 | |
Symbol 2170 Graphic | Uses:2169 | Used by:2171 |
Symbol 2171 MovieClip | Uses:2170 | Used by:Timeline |
Symbol 2172 Text | Uses:220 | Used by:Timeline |
Symbol 2173 Text | Uses:220 | Used by:Timeline |
Symbol 2174 Bitmap | Used by:2175 | |
Symbol 2175 Graphic | Uses:2174 | Used by:2176 |
Symbol 2176 MovieClip | Uses:2175 | Used by:Timeline |
Symbol 2177 Text | Uses:220 | Used by:Timeline |
Symbol 2178 Text | Uses:220 | Used by:Timeline |
Symbol 2179 Bitmap | Used by:2180 | |
Symbol 2180 Graphic | Uses:2179 | Used by:2181 |
Symbol 2181 MovieClip | Uses:2180 | Used by:Timeline |
Symbol 2182 Text | Uses:220 | Used by:Timeline |
Symbol 2183 Text | Uses:220 | Used by:Timeline |
Symbol 2184 Bitmap | Used by:2185 | |
Symbol 2185 Graphic | Uses:2184 | Used by:2186 |
Symbol 2186 MovieClip | Uses:2185 | Used by:Timeline |
Symbol 2187 Text | Uses:220 | Used by:Timeline |
Symbol 2188 Text | Uses:220 | Used by:Timeline |
Symbol 2189 Bitmap | Used by:2190 | |
Symbol 2190 Graphic | Uses:2189 | Used by:2191 |
Symbol 2191 MovieClip | Uses:2190 | Used by:Timeline |
Symbol 2192 Text | Uses:220 | Used by:Timeline |
Symbol 2193 Text | Uses:220 | Used by:Timeline |
Symbol 2194 Bitmap | Used by:2195 | |
Symbol 2195 Graphic | Uses:2194 | Used by:Timeline |
Symbol 2196 Bitmap | Used by:2197 | |
Symbol 2197 Graphic | Uses:2196 | Used by:2198 |
Symbol 2198 MovieClip | Uses:2197 | Used by:Timeline |
Symbol 2199 Text | Uses:220 | Used by:Timeline |
Symbol 2200 Text | Uses:220 | Used by:Timeline |
Symbol 2201 Text | Uses:220 | Used by:Timeline |
Symbol 2202 Bitmap | Used by:2203 | |
Symbol 2203 Graphic | Uses:2202 | Used by:Timeline |
Symbol 2204 Text | Uses:220 | Used by:Timeline |
Symbol 2205 Text | Uses:220 | Used by:Timeline |
Symbol 2206 Text | Uses:220 | Used by:Timeline |
Symbol 2207 Bitmap | Used by:2208 | |
Symbol 2208 Graphic | Uses:2207 | Used by:2209 |
Symbol 2209 MovieClip | Uses:2208 | Used by:Timeline |
Symbol 2210 Text | Uses:220 | Used by:Timeline |
Symbol 2211 Bitmap | Used by:2212 | |
Symbol 2212 Graphic | Uses:2211 | Used by:2213 |
Symbol 2213 MovieClip | Uses:2212 | Used by:Timeline |
Symbol 2214 Bitmap | Used by:2215 | |
Symbol 2215 Graphic | Uses:2214 | Used by:2216 |
Symbol 2216 MovieClip | Uses:2215 | Used by:Timeline |
Symbol 2217 Text | Uses:220 | Used by:Timeline |
Symbol 2218 Text | Uses:220 | Used by:Timeline |
Symbol 2219 Bitmap | Used by:2220 | |
Symbol 2220 Graphic | Uses:2219 | Used by:2221 |
Symbol 2221 MovieClip | Uses:2220 | Used by:Timeline |
Symbol 2222 Bitmap | Used by:2223 | |
Symbol 2223 Graphic | Uses:2222 | Used by:2224 |
Symbol 2224 MovieClip | Uses:2223 | Used by:Timeline |
Symbol 2225 Bitmap | Used by:2226 | |
Symbol 2226 Graphic | Uses:2225 | Used by:2227 |
Symbol 2227 MovieClip | Uses:2226 | Used by:Timeline |
Symbol 2228 Text | Uses:220 | Used by:Timeline |
Symbol 2229 Text | Uses:220 | Used by:Timeline |
Symbol 2230 Text | Uses:220 | Used by:Timeline |
Symbol 2231 Bitmap | Used by:2232 | |
Symbol 2232 Graphic | Uses:2231 | Used by:2233 |
Symbol 2233 MovieClip | Uses:2232 | Used by:Timeline |
Symbol 2234 Text | Uses:220 | Used by:Timeline |
Symbol 2235 Text | Uses:220 | Used by:Timeline |
Symbol 2236 Text | Uses:220 | Used by:Timeline |
Symbol 2237 Bitmap | Used by:2238 | |
Symbol 2238 Graphic | Uses:2237 | Used by:2239 |
Symbol 2239 MovieClip | Uses:2238 | Used by:Timeline |
Symbol 2240 Text | Uses:220 | Used by:Timeline |
Symbol 2241 Bitmap | Used by:2242 | |
Symbol 2242 Graphic | Uses:2241 | Used by:2243 |
Symbol 2243 MovieClip | Uses:2242 | Used by:Timeline |
Symbol 2244 Bitmap | Used by:2245 | |
Symbol 2245 Graphic | Uses:2244 | Used by:2246 |
Symbol 2246 MovieClip | Uses:2245 | Used by:Timeline |
Symbol 2247 Text | Uses:220 | Used by:Timeline |
Symbol 2248 Bitmap | Used by:2249 | |
Symbol 2249 Graphic | Uses:2248 | Used by:2250 |
Symbol 2250 MovieClip | Uses:2249 | Used by:Timeline |
Symbol 2251 Text | Uses:220 | Used by:Timeline |
Symbol 2252 Bitmap | Used by:2253 | |
Symbol 2253 Graphic | Uses:2252 | Used by:2254 |
Symbol 2254 MovieClip | Uses:2253 | Used by:Timeline |
Symbol 2255 Text | Uses:220 | Used by:Timeline |
Symbol 2256 Bitmap | Used by:2257 | |
Symbol 2257 Graphic | Uses:2256 | Used by:2258 |
Symbol 2258 MovieClip | Uses:2257 | Used by:Timeline |
Symbol 2259 Bitmap | Used by:2260 | |
Symbol 2260 Graphic | Uses:2259 | Used by:2261 |
Symbol 2261 MovieClip | Uses:2260 | Used by:Timeline |
Symbol 2262 Text | Uses:220 | Used by:Timeline |
Symbol 2263 Text | Uses:220 | Used by:Timeline |
Symbol 2264 Text | Uses:220 | Used by:Timeline |
Symbol 2265 Bitmap | Used by:2266 | |
Symbol 2266 Graphic | Uses:2265 | Used by:2267 |
Symbol 2267 MovieClip | Uses:2266 | Used by:Timeline |
Symbol 2268 Text | Uses:220 | Used by:Timeline |
Symbol 2269 Text | Uses:220 | Used by:4203 Timeline |
Symbol 2270 Bitmap | Used by:2271 | |
Symbol 2271 Graphic | Uses:2270 | Used by:2272 |
Symbol 2272 MovieClip | Uses:2271 | Used by:Timeline |
Symbol 2273 Bitmap | Used by:2274 | |
Symbol 2274 Graphic | Uses:2273 | Used by:2275 |
Symbol 2275 MovieClip | Uses:2274 | Used by:Timeline |
Symbol 2276 Text | Uses:220 | Used by:Timeline |
Symbol 2277 Text | Uses:220 | Used by:Timeline |
Symbol 2278 Bitmap | Used by:2279 | |
Symbol 2279 Graphic | Uses:2278 | Used by:2280 |
Symbol 2280 MovieClip | Uses:2279 | Used by:Timeline |
Symbol 2281 Bitmap | Used by:2282 | |
Symbol 2282 Graphic | Uses:2281 | Used by:2283 |
Symbol 2283 MovieClip | Uses:2282 | Used by:Timeline |
Symbol 2284 Text | Uses:220 | Used by:Timeline |
Symbol 2285 Text | Uses:220 | Used by:Timeline |
Symbol 2286 Text | Uses:220 | Used by:2290 |
Symbol 2287 Text | Uses:220 | Used by:2290 |
Symbol 2288 Text | Uses:220 | Used by:2290 |
Symbol 2289 Graphic | Used by:2290 | |
Symbol 2290 Button | Uses:2286 2287 2288 2289 | Used by:2302 |
Symbol 2291 Text | Uses:220 | Used by:2295 |
Symbol 2292 Text | Uses:220 | Used by:2295 |
Symbol 2293 Text | Uses:220 | Used by:2295 |
Symbol 2294 Graphic | Used by:2295 | |
Symbol 2295 Button | Uses:2291 2292 2293 2294 | Used by:2302 |
Symbol 2296 Text | Uses:220 | Used by:2299 |
Symbol 2297 Text | Uses:220 | Used by:2299 |
Symbol 2298 Graphic | Used by:2299 | |
Symbol 2299 Button | Uses:1574 2296 2297 2298 | Used by:2302 |
Symbol 2300 EditableText | Uses:1178 | Used by:2302 |
Symbol 2301 Graphic | Used by:2302 | |
Symbol 2302 MovieClip | Uses:2290 2295 2299 2300 2301 | Used by:Timeline |
Symbol 2303 Text | Uses:220 | Used by:Timeline |
Symbol 2304 Bitmap | Used by:2305 | |
Symbol 2305 Graphic | Uses:2304 | Used by:Timeline |
Symbol 2306 Text | Uses:220 | Used by:Timeline |
Symbol 2307 Text | Uses:220 | Used by:Timeline |
Symbol 2308 Bitmap | Used by:2309 | |
Symbol 2309 Graphic | Uses:2308 | Used by:Timeline |
Symbol 2310 Text | Uses:220 | Used by:Timeline |
Symbol 2311 Text | Uses:220 | Used by:Timeline |
Symbol 2312 Bitmap | Used by:2313 | |
Symbol 2313 Graphic | Uses:2312 | Used by:Timeline |
Symbol 2314 Text | Uses:220 | Used by:Timeline |
Symbol 2315 Bitmap | Used by:2316 | |
Symbol 2316 Graphic | Uses:2315 | Used by:Timeline |
Symbol 2317 Text | Uses:220 | Used by:Timeline |
Symbol 2318 Bitmap | Used by:2319 | |
Symbol 2319 Graphic | Uses:2318 | Used by:Timeline |
Symbol 2320 Text | Uses:220 | Used by:Timeline |
Symbol 2321 Bitmap | Used by:2322 | |
Symbol 2322 Graphic | Uses:2321 | Used by:Timeline |
Symbol 2323 Text | Uses:220 | Used by:Timeline |
Symbol 2324 Text | Uses:220 | Used by:Timeline |
Symbol 2325 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2326 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2327 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2328 Text | Uses:220 | Used by:Timeline |
Symbol 2329 Bitmap | Used by:2330 | |
Symbol 2330 Graphic | Uses:2329 | Used by:Timeline |
Symbol 2331 Text | Uses:220 | Used by:Timeline |
Symbol 2332 Text | Uses:220 | Used by:Timeline |
Symbol 2333 Text | Uses:220 | Used by:Timeline |
Symbol 2334 Text | Uses:220 | Used by:Timeline |
Symbol 2335 Bitmap | Used by:2337 | |
Symbol 2336 Bitmap | Used by:2337 | |
Symbol 2337 Graphic | Uses:2335 2336 | Used by:Timeline |
Symbol 2338 Text | Uses:220 | Used by:Timeline |
Symbol 2339 Bitmap | Used by:2341 | |
Symbol 2340 Bitmap | Used by:2341 | |
Symbol 2341 Graphic | Uses:2339 2340 | Used by:Timeline |
Symbol 2342 Text | Uses:220 | Used by:Timeline |
Symbol 2343 Bitmap | Used by:2344 | |
Symbol 2344 Graphic | Uses:2343 | Used by:Timeline |
Symbol 2345 Graphic | Used by:2364 | |
Symbol 2346 Graphic | Used by:2364 | |
Symbol 2347 Graphic | Used by:2364 | |
Symbol 2348 Graphic | Used by:2364 | |
Symbol 2349 Graphic | Used by:2364 | |
Symbol 2350 Graphic | Used by:2364 | |
Symbol 2351 Graphic | Used by:2364 | |
Symbol 2352 Graphic | Used by:2364 | |
Symbol 2353 Graphic | Used by:2364 | |
Symbol 2354 Graphic | Used by:2364 | |
Symbol 2355 Graphic | Used by:2364 | |
Symbol 2356 Graphic | Used by:2364 | |
Symbol 2357 Graphic | Used by:2364 | |
Symbol 2358 Graphic | Used by:2364 | |
Symbol 2359 Graphic | Used by:2364 | |
Symbol 2360 Graphic | Used by:2364 | |
Symbol 2361 Graphic | Used by:2364 | |
Symbol 2362 Graphic | Used by:2364 | |
Symbol 2363 Graphic | Used by:2364 | |
Symbol 2364 MovieClip | Uses:2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 | Used by:Timeline |
Symbol 2365 Text | Uses:220 | Used by:Timeline |
Symbol 2366 Text | Uses:220 | Used by:Timeline |
Symbol 2367 Bitmap | Used by:2368 | |
Symbol 2368 Graphic | Uses:2367 | Used by:Timeline |
Symbol 2369 Text | Uses:220 | Used by:Timeline |
Symbol 2370 Bitmap | Used by:2371 | |
Symbol 2371 Graphic | Uses:2370 | Used by:Timeline |
Symbol 2372 Text | Uses:220 | Used by:Timeline |
Symbol 2373 Text | Uses:220 | Used by:Timeline |
Symbol 2374 Text | Uses:220 | Used by:Timeline |
Symbol 2375 Bitmap | Used by:2376 | |
Symbol 2376 Graphic | Uses:2375 | Used by:Timeline |
Symbol 2377 Text | Uses:220 | Used by:Timeline |
Symbol 2378 Bitmap | Used by:2379 | |
Symbol 2379 Graphic | Uses:2378 | Used by:Timeline |
Symbol 2380 Text | Uses:220 | Used by:Timeline |
Symbol 2381 Text | Uses:220 | Used by:Timeline |
Symbol 2382 Text | Uses:220 | Used by:Timeline |
Symbol 2383 Graphic | Used by:2402 | |
Symbol 2384 Graphic | Used by:2402 | |
Symbol 2385 Graphic | Used by:2402 | |
Symbol 2386 Graphic | Used by:2402 | |
Symbol 2387 Graphic | Used by:2402 | |
Symbol 2388 Graphic | Used by:2402 | |
Symbol 2389 Graphic | Used by:2402 | |
Symbol 2390 Graphic | Used by:2402 | |
Symbol 2391 Graphic | Used by:2402 | |
Symbol 2392 Graphic | Used by:2402 | |
Symbol 2393 Graphic | Used by:2402 | |
Symbol 2394 Graphic | Used by:2402 | |
Symbol 2395 Graphic | Used by:2402 | |
Symbol 2396 Graphic | Used by:2402 | |
Symbol 2397 Graphic | Used by:2402 | |
Symbol 2398 Graphic | Used by:2402 | |
Symbol 2399 Graphic | Used by:2402 | |
Symbol 2400 Graphic | Used by:2402 | |
Symbol 2401 Graphic | Used by:2402 | |
Symbol 2402 MovieClip | Uses:2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 | Used by:Timeline |
Symbol 2403 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2404 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2405 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2406 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2407 Text | Uses:220 | Used by:Timeline |
Symbol 2408 Bitmap | Used by:2409 | |
Symbol 2409 Graphic | Uses:2408 | Used by:Timeline |
Symbol 2410 Text | Uses:220 | Used by:Timeline |
Symbol 2411 Text | Uses:220 | Used by:Timeline |
Symbol 2412 Bitmap | Used by:2413 | |
Symbol 2413 Graphic | Uses:2412 | Used by:2414 |
Symbol 2414 MovieClip | Uses:2413 | Used by:Timeline |
Symbol 2415 Text | Uses:220 | Used by:Timeline |
Symbol 2416 Bitmap | Used by:2417 | |
Symbol 2417 Graphic | Uses:2416 | Used by:2418 |
Symbol 2418 MovieClip | Uses:2417 | Used by:Timeline |
Symbol 2419 Bitmap | Used by:2420 | |
Symbol 2420 Graphic | Uses:2419 | Used by:2421 |
Symbol 2421 MovieClip | Uses:2420 | Used by:Timeline |
Symbol 2422 Text | Uses:220 | Used by:Timeline |
Symbol 2423 Text | Uses:220 | Used by:Timeline |
Symbol 2424 Bitmap | Used by:2425 | |
Symbol 2425 Graphic | Uses:2424 | Used by:2426 |
Symbol 2426 MovieClip | Uses:2425 | Used by:Timeline |
Symbol 2427 Text | Uses:220 | Used by:Timeline |
Symbol 2428 Text | Uses:220 | Used by:Timeline |
Symbol 2429 Text | Uses:220 | Used by:Timeline |
Symbol 2430 Text | Uses:220 | Used by:Timeline |
Symbol 2431 Bitmap | Used by:2432 | |
Symbol 2432 Graphic | Uses:2431 | Used by:Timeline |
Symbol 2433 Bitmap | Used by:2434 | |
Symbol 2434 Graphic | Uses:2433 | Used by:2435 |
Symbol 2435 MovieClip | Uses:2434 | Used by:Timeline |
Symbol 2436 Text | Uses:220 | Used by:Timeline |
Symbol 2437 Bitmap | Used by:2438 | |
Symbol 2438 Graphic | Uses:2437 | Used by:2439 |
Symbol 2439 MovieClip | Uses:2438 | Used by:Timeline |
Symbol 2440 Text | Uses:220 | Used by:Timeline |
Symbol 2441 Text | Uses:220 | Used by:Timeline |
Symbol 2442 Bitmap | Used by:2443 | |
Symbol 2443 Graphic | Uses:2442 | Used by:Timeline |
Symbol 2444 Text | Uses:220 | Used by:Timeline |
Symbol 2445 Text | Uses:220 | Used by:Timeline |
Symbol 2446 Bitmap | Used by:2447 | |
Symbol 2447 Graphic | Uses:2446 | Used by:2448 |
Symbol 2448 MovieClip | Uses:2447 | Used by:Timeline |
Symbol 2449 Text | Uses:220 | Used by:Timeline |
Symbol 2450 Bitmap | Used by:2451 | |
Symbol 2451 Graphic | Uses:2450 | Used by:2452 |
Symbol 2452 MovieClip | Uses:2451 | Used by:2453 |
Symbol 2453 MovieClip | Uses:2452 | Used by:Timeline |
Symbol 2454 Text | Uses:220 | Used by:Timeline |
Symbol 2455 Text | Uses:220 | Used by:Timeline |
Symbol 2456 Text | Uses:220 | Used by:Timeline |
Symbol 2457 Bitmap | Used by:2458 | |
Symbol 2458 Graphic | Uses:2457 | Used by:Timeline |
Symbol 2459 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2460 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2461 Text | Uses:220 | Used by:Timeline |
Symbol 2462 Text | Uses:220 | Used by:2466 |
Symbol 2463 Text | Uses:220 | Used by:2466 |
Symbol 2464 Text | Uses:220 | Used by:2466 |
Symbol 2465 Graphic | Used by:2466 | |
Symbol 2466 Button | Uses:2462 2463 2464 2465 | Used by:2473 |
Symbol 2467 Text | Uses:220 | Used by:2471 |
Symbol 2468 Text | Uses:220 | Used by:2471 |
Symbol 2469 Text | Uses:220 | Used by:2471 |
Symbol 2470 Graphic | Used by:2471 | |
Symbol 2471 Button | Uses:2467 2468 2469 2470 | Used by:2473 |
Symbol 2472 EditableText | Uses:1178 | Used by:2473 |
Symbol 2473 MovieClip | Uses:2466 2471 2472 1246 | Used by:Timeline |
Symbol 2474 Text | Uses:220 | Used by:Timeline |
Symbol 2475 Text | Uses:220 | Used by:Timeline |
Symbol 2476 Text | Uses:220 | Used by:Timeline |
Symbol 2477 Bitmap | Used by:2478 | |
Symbol 2478 Graphic | Uses:2477 | Used by:Timeline |
Symbol 2479 Text | Uses:220 | Used by:Timeline |
Symbol 2480 Text | Uses:220 | Used by:Timeline |
Symbol 2481 Text | Uses:220 | Used by:Timeline |
Symbol 2482 Text | Uses:220 | Used by:Timeline |
Symbol 2483 Text | Uses:220 | Used by:Timeline |
Symbol 2484 Text | Uses:220 | Used by:Timeline |
Symbol 2485 Graphic | Used by:Timeline | |
Symbol 2486 Bitmap | Used by:2487 | |
Symbol 2487 Graphic | Uses:2486 | Used by:Timeline |
Symbol 2488 Text | Uses:220 | Used by:Timeline |
Symbol 2489 Text | Uses:220 | Used by:Timeline |
Symbol 2490 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2491 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 2492 Text | Uses:220 | Used by:Timeline |
Symbol 2493 Text | Uses:220 | Used by:Timeline |
Symbol 2494 Bitmap | Used by:2495 2498 2502 2506 2510 2514 2518 2522 2526 2530 | |
Symbol 2495 Graphic | Uses:2494 | Used by:Timeline |
Symbol 2496 Text | Uses:220 | Used by:Timeline |
Symbol 2497 Text | Uses:220 | Used by:Timeline |
Symbol 2498 Graphic | Uses:2494 | Used by:2501 |
Symbol 2499 Text | Uses:220 | Used by:2501 |
Symbol 2500 Graphic | Used by:2501 | |
Symbol 2501 Button | Uses:2498 2499 2500 | Used by:2531 |
Symbol 2502 Graphic | Uses:2494 | Used by:2505 |
Symbol 2503 Text | Uses:220 | Used by:2505 |
Symbol 2504 Graphic | Used by:2505 | |
Symbol 2505 Button | Uses:2502 2503 2504 | Used by:2531 |
Symbol 2506 Graphic | Uses:2494 | Used by:2509 |
Symbol 2507 Text | Uses:220 | Used by:2509 |
Symbol 2508 Graphic | Used by:2509 | |
Symbol 2509 Button | Uses:2506 2507 2508 | Used by:2531 |
Symbol 2510 Graphic | Uses:2494 | Used by:2513 |
Symbol 2511 Text | Uses:220 | Used by:2513 |
Symbol 2512 Graphic | Used by:2513 | |
Symbol 2513 Button | Uses:2510 2511 2512 | Used by:2531 |
Symbol 2514 Graphic | Uses:2494 | Used by:2517 |
Symbol 2515 Text | Uses:220 | Used by:2517 |
Symbol 2516 Graphic | Used by:2517 | |
Symbol 2517 Button | Uses:2514 2515 2516 | Used by:2531 |
Symbol 2518 Graphic | Uses:2494 | Used by:2521 |
Symbol 2519 Text | Uses:220 | Used by:2521 |
Symbol 2520 Graphic | Used by:2521 | |
Symbol 2521 Button | Uses:2518 2519 2520 | Used by:2531 |
Symbol 2522 Graphic | Uses:2494 | Used by:2525 |
Symbol 2523 Text | Uses:220 | Used by:2525 |
Symbol 2524 Graphic | Used by:2525 | |
Symbol 2525 Button | Uses:2522 2523 2524 | Used by:2531 |
Symbol 2526 Graphic | Uses:2494 | Used by:2529 |
Symbol 2527 Text | Uses:220 | Used by:2529 |
Symbol 2528 Graphic | Used by:2529 | |
Symbol 2529 Button | Uses:2526 2527 2528 | Used by:2531 |
Symbol 2530 Graphic | Uses:2494 | Used by:2531 |
Symbol 2531 MovieClip | Uses:2501 2505 2509 2513 2517 2521 2525 2529 2530 | Used by:Timeline |
Symbol 2532 Text | Uses:220 | Used by:Timeline |
Symbol 2533 Bitmap | Used by:2534 | |
Symbol 2534 Graphic | Uses:2533 | Used by:Timeline |
Symbol 2535 Text | Uses:220 | Used by:Timeline |
Symbol 2536 Text | Uses:220 | Used by:Timeline |
Symbol 2537 Text | Uses:220 | Used by:Timeline |
Symbol 2538 Graphic | Used by:2539 | |
Symbol 2539 MovieClip | Uses:2538 | Used by:Timeline |
Symbol 2540 Bitmap | Used by:2541 | |
Symbol 2541 Graphic | Uses:2540 | Used by:2542 |
Symbol 2542 MovieClip | Uses:2541 | Used by:Timeline |
Symbol 2543 Graphic | Used by:Timeline | |
Symbol 2544 Text | Uses:220 | Used by:Timeline |
Symbol 2545 Text | Uses:220 | Used by:Timeline |
Symbol 2546 Graphic | Used by:2585 | |
Symbol 2547 Graphic | Used by:2585 | |
Symbol 2548 Graphic | Used by:2585 | |
Symbol 2549 Graphic | Used by:2585 | |
Symbol 2550 Graphic | Used by:2585 | |
Symbol 2551 Graphic | Used by:2585 | |
Symbol 2552 Graphic | Used by:2585 | |
Symbol 2553 Graphic | Used by:2585 | |
Symbol 2554 Graphic | Used by:2585 | |
Symbol 2555 Graphic | Used by:2585 | |
Symbol 2556 Graphic | Used by:2585 | |
Symbol 2557 Graphic | Used by:2585 | |
Symbol 2558 Graphic | Used by:2585 | |
Symbol 2559 Graphic | Used by:2585 | |
Symbol 2560 Graphic | Used by:2585 | |
Symbol 2561 Graphic | Used by:2585 | |
Symbol 2562 Graphic | Used by:2585 | |
Symbol 2563 Graphic | Used by:2585 | |
Symbol 2564 Graphic | Used by:2585 | |
Symbol 2565 Graphic | Used by:2585 | |
Symbol 2566 Graphic | Used by:2585 | |
Symbol 2567 Graphic | Used by:2585 | |
Symbol 2568 Graphic | Used by:2585 | |
Symbol 2569 Graphic | Used by:2585 | |
Symbol 2570 Graphic | Used by:2585 | |
Symbol 2571 Graphic | Used by:2585 | |
Symbol 2572 Graphic | Used by:2585 | |
Symbol 2573 Graphic | Used by:2585 | |
Symbol 2574 Graphic | Used by:2585 | |
Symbol 2575 Graphic | Used by:2585 | |
Symbol 2576 Graphic | Used by:2585 | |
Symbol 2577 Graphic | Used by:2585 | |
Symbol 2578 Graphic | Used by:2585 | |
Symbol 2579 Graphic | Used by:2585 | |
Symbol 2580 Graphic | Used by:2585 | |
Symbol 2581 Graphic | Used by:2585 | |
Symbol 2582 Graphic | Used by:2585 | |
Symbol 2583 Graphic | Used by:2585 | |
Symbol 2584 Graphic | Used by:2585 | |
Symbol 2585 MovieClip | Uses:2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 | Used by:Timeline |
Symbol 2586 Text | Uses:220 | Used by:Timeline |
Symbol 2587 Bitmap | Used by:2588 2598 2606 2615 2622 2625 | |
Symbol 2588 Graphic | Uses:2587 | Used by:2597 |
Symbol 2589 Text | Uses:220 | Used by:2597 |
Symbol 2590 Text | Uses:220 | Used by:2597 |
Symbol 2591 Bitmap | Used by:2592 | |
Symbol 2592 Graphic | Uses:2591 | Used by:2593 |
Symbol 2593 MovieClip | Uses:2592 | Used by:2597 |
Symbol 2594 Graphic | Used by:2597 | |
Symbol 2595 Text | Uses:220 | Used by:2597 Timeline |
Symbol 2596 Text | Uses:220 | Used by:2597 2614 |
Symbol 2597 Button | Uses:2588 2589 2590 2593 2594 2595 2596 | Used by:Timeline |
Symbol 2598 Graphic | Uses:2587 | Used by:2605 |
Symbol 2599 Text | Uses:220 | Used by:2605 |
Symbol 2600 Text | Uses:220 | Used by:2605 |
Symbol 2601 Bitmap | Used by:2602 | |
Symbol 2602 Graphic | Uses:2601 | Used by:2603 |
Symbol 2603 MovieClip | Uses:2602 | Used by:2605 |
Symbol 2604 Graphic | Used by:2605 | |
Symbol 2605 Button | Uses:2598 2599 2600 2603 2604 | Used by:Timeline |
Symbol 2606 Graphic | Uses:2587 | Used by:2614 |
Symbol 2607 Bitmap | Used by:2608 | |
Symbol 2608 Graphic | Uses:2607 | Used by:2609 |
Symbol 2609 MovieClip | Uses:2608 | Used by:2614 |
Symbol 2610 Text | Uses:220 | Used by:2614 |
Symbol 2611 Text | Uses:220 | Used by:2614 |
Symbol 2612 Graphic | Used by:2614 | |
Symbol 2613 Text | Uses:220 | Used by:2614 |
Symbol 2614 Button | Uses:2606 2609 2610 2611 2612 2596 2613 | Used by:Timeline |
Symbol 2615 Graphic | Uses:2587 | Used by:2623 |
Symbol 2616 Bitmap | Used by:2617 | |
Symbol 2617 Graphic | Uses:2616 | Used by:2618 |
Symbol 2618 MovieClip | Uses:2617 | Used by:2623 |
Symbol 2619 Text | Uses:220 | Used by:2623 |
Symbol 2620 Text | Uses:220 | Used by:2623 |
Symbol 2621 Graphic | Used by:2623 | |
Symbol 2622 Graphic | Uses:2587 | Used by:2623 |
Symbol 2623 Button | Uses:2615 2618 2619 2620 2621 2622 | Used by:Timeline |
Symbol 2624 Text | Uses:220 | Used by:Timeline |
Symbol 2625 Graphic | Uses:2587 | Used by:Timeline |
Symbol 2626 Text | Uses:220 | Used by:Timeline |
Symbol 2627 Text | Uses:220 | Used by:Timeline |
Symbol 2628 Bitmap | Used by:2629 | |
Symbol 2629 Graphic | Uses:2628 | Used by:2630 |
Symbol 2630 MovieClip | Uses:2629 | Used by:Timeline |
Symbol 2631 Text | Uses:220 | Used by:Timeline |
Symbol 2632 Bitmap | Used by:2633 | |
Symbol 2633 Graphic | Uses:2632 | Used by:2634 |
Symbol 2634 MovieClip | Uses:2633 | Used by:Timeline |
Symbol 2635 Text | Uses:220 | Used by:Timeline |
Symbol 2636 Graphic | Used by:2655 | |
Symbol 2637 Graphic | Used by:2655 | |
Symbol 2638 Graphic | Used by:2655 | |
Symbol 2639 Graphic | Used by:2655 | |
Symbol 2640 Graphic | Used by:2655 | |
Symbol 2641 Graphic | Used by:2655 | |
Symbol 2642 Graphic | Used by:2655 | |
Symbol 2643 Graphic | Used by:2655 | |
Symbol 2644 Graphic | Used by:2655 | |
Symbol 2645 Graphic | Used by:2655 | |
Symbol 2646 Graphic | Used by:2655 | |
Symbol 2647 Graphic | Used by:2655 | |
Symbol 2648 Graphic | Used by:2655 | |
Symbol 2649 Graphic | Used by:2655 | |
Symbol 2650 Graphic | Used by:2655 | |
Symbol 2651 Graphic | Used by:2655 | |
Symbol 2652 Graphic | Used by:2655 | |
Symbol 2653 Graphic | Used by:2655 | |
Symbol 2654 Graphic | Used by:2655 | |
Symbol 2655 MovieClip | Uses:2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 | Used by:Timeline |
Symbol 2656 Text | Uses:220 | Used by:Timeline |
Symbol 2657 Text | Uses:220 | Used by:2661 4615 |
Symbol 2658 Text | Uses:220 | Used by:2661 4615 |
Symbol 2659 Text | Uses:220 | Used by:2661 |
Symbol 2660 Graphic | Used by:2661 | |
Symbol 2661 Button | Uses:2657 2658 2659 2660 | Used by:2676 |
Symbol 2662 Text | Uses:220 | Used by:2665 |
Symbol 2663 Text | Uses:220 | Used by:2665 |
Symbol 2664 Graphic | Used by:2665 | |
Symbol 2665 Button | Uses:1553 2662 2663 2664 | Used by:2676 |
Symbol 2666 Text | Uses:220 | Used by:2669 |
Symbol 2667 Text | Uses:220 | Used by:2669 |
Symbol 2668 Graphic | Used by:2669 | |
Symbol 2669 Button | Uses:1557 2666 2667 2668 | Used by:2676 |
Symbol 2670 Text | Uses:220 | Used by:2674 |
Symbol 2671 Text | Uses:220 | Used by:2674 |
Symbol 2672 Text | Uses:220 | Used by:2674 |
Symbol 2673 Graphic | Used by:2674 | |
Symbol 2674 Button | Uses:2670 2671 2672 2673 | Used by:2676 |
Symbol 2675 EditableText | Uses:1178 | Used by:2676 |
Symbol 2676 MovieClip | Uses:2661 2665 2669 2674 2675 1246 | Used by:Timeline |
Symbol 2677 Text | Uses:220 | Used by:Timeline |
Symbol 2678 Text | Uses:220 | Used by:Timeline |
Symbol 2679 Text | Uses:220 | Used by:Timeline |
Symbol 2680 Bitmap | Used by:2681 | |
Symbol 2681 Graphic | Uses:2680 | Used by:Timeline |
Symbol 2682 Text | Uses:220 | Used by:Timeline |
Symbol 2683 Text | Uses:220 | Used by:Timeline |
Symbol 2684 Bitmap | Used by:2685 | |
Symbol 2685 Graphic | Uses:2684 | Used by:2686 |
Symbol 2686 MovieClip | Uses:2685 | Used by:Timeline |
Symbol 2687 Text | Uses:220 | Used by:Timeline |
Symbol 2688 Text | Uses:220 | Used by:Timeline |
Symbol 2689 Text | Uses:220 | Used by:Timeline |
Symbol 2690 Bitmap | Used by:2691 | |
Symbol 2691 Graphic | Uses:2690 | Used by:2692 |
Symbol 2692 MovieClip | Uses:2691 | Used by:Timeline |
Symbol 2693 Text | Uses:220 | Used by:Timeline |
Symbol 2694 Text | Uses:220 | Used by:Timeline |
Symbol 2695 Bitmap | Used by:2696 | |
Symbol 2696 Graphic | Uses:2695 | Used by:2697 |
Symbol 2697 MovieClip | Uses:2696 | Used by:Timeline |
Symbol 2698 Text | Uses:220 | Used by:Timeline |
Symbol 2699 Bitmap | Used by:2700 | |
Symbol 2700 Graphic | Uses:2699 | Used by:2701 |
Symbol 2701 MovieClip | Uses:2700 | Used by:Timeline |
Symbol 2702 Text | Uses:220 | Used by:Timeline |
Symbol 2703 Bitmap | Used by:2704 | |
Symbol 2704 Graphic | Uses:2703 | Used by:2705 |
Symbol 2705 MovieClip | Uses:2704 | Used by:Timeline |
Symbol 2706 Text | Uses:220 | Used by:Timeline |
Symbol 2707 Bitmap | Used by:2708 | |
Symbol 2708 Graphic | Uses:2707 | Used by:2709 |
Symbol 2709 MovieClip | Uses:2708 | Used by:Timeline |
Symbol 2710 Text | Uses:220 | Used by:Timeline |
Symbol 2711 Text | Uses:220 | Used by:Timeline |
Symbol 2712 Bitmap | Used by:2713 | |
Symbol 2713 Graphic | Uses:2712 | Used by:2714 |
Symbol 2714 MovieClip | Uses:2713 | Used by:Timeline |
Symbol 2715 Text | Uses:220 | Used by:Timeline |
Symbol 2716 Bitmap | Used by:2717 | |
Symbol 2717 Graphic | Uses:2716 | Used by:2718 |
Symbol 2718 MovieClip | Uses:2717 | Used by:Timeline |
Symbol 2719 Text | Uses:220 | Used by:Timeline |
Symbol 2720 Bitmap | Used by:2721 | |
Symbol 2721 Graphic | Uses:2720 | Used by:2722 |
Symbol 2722 MovieClip | Uses:2721 | Used by:Timeline |
Symbol 2723 Text | Uses:220 | Used by:Timeline |
Symbol 2724 Bitmap | Used by:2725 | |
Symbol 2725 Graphic | Uses:2724 | Used by:2726 |
Symbol 2726 MovieClip | Uses:2725 | Used by:Timeline |
Symbol 2727 Text | Uses:220 | Used by:Timeline |
Symbol 2728 Text | Uses:220 | Used by:Timeline |
Symbol 2729 Text | Uses:220 | Used by:Timeline |
Symbol 2730 Text | Uses:220 | Used by:2735 |
Symbol 2731 Graphic | Used by:2735 | |
Symbol 2732 Bitmap | Used by:2733 | |
Symbol 2733 Graphic | Uses:2732 | Used by:2734 |
Symbol 2734 MovieClip | Uses:2733 | Used by:2735 |
Symbol 2735 MovieClip | Uses:2730 2731 2734 | Used by:Timeline |
Symbol 2736 Text | Uses:220 | Used by:Timeline |
Symbol 2737 Text | Uses:220 | Used by:2742 |
Symbol 2738 Text | Uses:220 | Used by:2742 |
Symbol 2739 Text | Uses:220 | Used by:2742 |
Symbol 2740 Bitmap | Used by:2741 | |
Symbol 2741 Graphic | Uses:2740 | Used by:2742 |
Symbol 2742 MovieClip | Uses:2737 2738 2739 2741 | Used by:Timeline |
Symbol 2743 Text | Uses:220 | Used by:Timeline |
Symbol 2744 Text | Uses:220 | Used by:Timeline |
Symbol 2745 Text | Uses:220 | Used by:Timeline |
Symbol 2746 Graphic | Used by:2785 | |
Symbol 2747 Graphic | Used by:2785 | |
Symbol 2748 Graphic | Used by:2785 | |
Symbol 2749 Graphic | Used by:2785 | |
Symbol 2750 Graphic | Used by:2785 | |
Symbol 2751 Graphic | Used by:2785 | |
Symbol 2752 Graphic | Used by:2785 | |
Symbol 2753 Graphic | Used by:2785 | |
Symbol 2754 Graphic | Used by:2785 | |
Symbol 2755 Graphic | Used by:2785 | |
Symbol 2756 Graphic | Used by:2785 | |
Symbol 2757 Graphic | Used by:2785 | |
Symbol 2758 Graphic | Used by:2785 | |
Symbol 2759 Graphic | Used by:2785 | |
Symbol 2760 Graphic | Used by:2785 | |
Symbol 2761 Graphic | Used by:2785 | |
Symbol 2762 Graphic | Used by:2785 | |
Symbol 2763 Graphic | Used by:2785 | |
Symbol 2764 Graphic | Used by:2785 | |
Symbol 2765 Graphic | Used by:2785 | |
Symbol 2766 Graphic | Used by:2785 | |
Symbol 2767 Graphic | Used by:2785 | |
Symbol 2768 Graphic | Used by:2785 | |
Symbol 2769 Graphic | Used by:2785 | |
Symbol 2770 Graphic | Used by:2785 | |
Symbol 2771 Graphic | Used by:2785 | |
Symbol 2772 Graphic | Used by:2785 | |
Symbol 2773 Graphic | Used by:2785 | |
Symbol 2774 Graphic | Used by:2785 | |
Symbol 2775 Graphic | Used by:2785 | |
Symbol 2776 Graphic | Used by:2785 | |
Symbol 2777 Graphic | Used by:2785 | |
Symbol 2778 Graphic | Used by:2785 | |
Symbol 2779 Graphic | Used by:2785 | |
Symbol 2780 Graphic | Used by:2785 | |
Symbol 2781 Graphic | Used by:2785 | |
Symbol 2782 Graphic | Used by:2785 | |
Symbol 2783 Graphic | Used by:2785 | |
Symbol 2784 Graphic | Used by:2785 | |
Symbol 2785 MovieClip | Uses:2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 | Used by:Timeline |
Symbol 2786 Bitmap | Used by:2787 | |
Symbol 2787 Graphic | Uses:2786 | Used by:2788 |
Symbol 2788 MovieClip | Uses:2787 | Used by:Timeline |
Symbol 2789 Text | Uses:220 | Used by:Timeline |
Symbol 2790 Graphic | Used by:2828 | |
Symbol 2791 Graphic | Used by:2828 | |
Symbol 2792 Graphic | Used by:2828 | |
Symbol 2793 Graphic | Used by:2828 | |
Symbol 2794 Graphic | Used by:2828 | |
Symbol 2795 Graphic | Used by:2828 | |
Symbol 2796 Graphic | Used by:2828 | |
Symbol 2797 Graphic | Used by:2828 | |
Symbol 2798 Graphic | Used by:2828 | |
Symbol 2799 Graphic | Used by:2828 | |
Symbol 2800 Graphic | Used by:2828 | |
Symbol 2801 Graphic | Used by:2828 | |
Symbol 2802 Graphic | Used by:2828 | |
Symbol 2803 Graphic | Used by:2828 | |
Symbol 2804 Graphic | Used by:2828 | |
Symbol 2805 Graphic | Used by:2828 | |
Symbol 2806 Graphic | Used by:2828 | |
Symbol 2807 Graphic | Used by:2828 | |
Symbol 2808 Graphic | Used by:2828 | |
Symbol 2809 Graphic | Used by:2828 | |
Symbol 2810 Graphic | Used by:2828 | |
Symbol 2811 Graphic | Used by:2828 | |
Symbol 2812 Graphic | Used by:2828 | |
Symbol 2813 Graphic | Used by:2828 | |
Symbol 2814 Graphic | Used by:2828 | |
Symbol 2815 Graphic | Used by:2828 | |
Symbol 2816 Graphic | Used by:2828 | |
Symbol 2817 Graphic | Used by:2828 | |
Symbol 2818 Graphic | Used by:2828 | |
Symbol 2819 Graphic | Used by:2828 | |
Symbol 2820 Graphic | Used by:2828 | |
Symbol 2821 Graphic | Used by:2828 | |
Symbol 2822 Graphic | Used by:2828 | |
Symbol 2823 Graphic | Used by:2828 | |
Symbol 2824 Graphic | Used by:2828 | |
Symbol 2825 Graphic | Used by:2828 | |
Symbol 2826 Graphic | Used by:2828 | |
Symbol 2827 Graphic | Used by:2828 | |
Symbol 2828 MovieClip | Uses:2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 | Used by:Timeline |
Symbol 2829 Text | Uses:220 | Used by:Timeline |
Symbol 2830 Text | Uses:220 | Used by:2833 |
Symbol 2831 Bitmap | Used by:2832 | |
Symbol 2832 Graphic | Uses:2831 | Used by:2833 |
Symbol 2833 MovieClip | Uses:2830 2832 | Used by:Timeline |
Symbol 2834 Text | Uses:220 | Used by:Timeline |
Symbol 2835 Text | Uses:220 | Used by:Timeline |
Symbol 2836 Text | Uses:220 | Used by:Timeline |
Symbol 2837 Text | Uses:220 | Used by:Timeline |
Symbol 2838 Bitmap | Used by:2839 | |
Symbol 2839 Graphic | Uses:2838 | Used by:2840 |
Symbol 2840 MovieClip | Uses:2839 | Used by:Timeline |
Symbol 2841 Bitmap | Used by:2842 | |
Symbol 2842 Graphic | Uses:2841 | Used by:2843 |
Symbol 2843 MovieClip | Uses:2842 | Used by:Timeline |
Symbol 2844 Text | Uses:220 | Used by:Timeline |
Symbol 2845 Text | Uses:220 | Used by:Timeline |
Symbol 2846 Bitmap | Used by:2847 | |
Symbol 2847 Graphic | Uses:2846 | Used by:2848 |
Symbol 2848 MovieClip | Uses:2847 | Used by:Timeline |
Symbol 2849 Graphic | Used by:Timeline | |
Symbol 2850 Bitmap | Used by:2851 | |
Symbol 2851 Graphic | Uses:2850 | Used by:2852 |
Symbol 2852 MovieClip | Uses:2851 | Used by:Timeline |
Symbol 2853 Text | Uses:220 | Used by:Timeline |
Symbol 2854 Text | Uses:220 | Used by:Timeline |
Symbol 2855 Text | Uses:220 | Used by:Timeline |
Symbol 2856 Bitmap | Used by:2857 | |
Symbol 2857 Graphic | Uses:2856 | Used by:2858 |
Symbol 2858 MovieClip | Uses:2857 | Used by:Timeline |
Symbol 2859 Text | Uses:220 | Used by:Timeline |
Symbol 2860 Bitmap | Used by:2861 | |
Symbol 2861 Graphic | Uses:2860 | Used by:2862 |
Symbol 2862 MovieClip | Uses:2861 | Used by:Timeline |
Symbol 2863 Text | Uses:220 | Used by:Timeline |
Symbol 2864 Text | Uses:220 | Used by:2868 |
Symbol 2865 Text | Uses:220 | Used by:2868 |
Symbol 2866 Bitmap | Used by:2867 | |
Symbol 2867 Graphic | Uses:2866 | Used by:2868 |
Symbol 2868 MovieClip | Uses:2864 2865 2867 | Used by:Timeline |
Symbol 2869 Text | Uses:220 | Used by:Timeline |
Symbol 2870 Bitmap | Used by:2871 | |
Symbol 2871 Graphic | Uses:2870 | Used by:2872 |
Symbol 2872 MovieClip | Uses:2871 | Used by:Timeline |
Symbol 2873 Text | Uses:220 | Used by:Timeline |
Symbol 2874 Text | Uses:220 | Used by:Timeline |
Symbol 2875 Text | Uses:220 | Used by:2881 |
Symbol 2876 Text | Uses:220 | Used by:2881 |
Symbol 2877 Graphic | Used by:2881 | |
Symbol 2878 Text | Uses:220 | Used by:2881 |
Symbol 2879 Bitmap | Used by:2880 | |
Symbol 2880 Graphic | Uses:2879 | Used by:2881 |
Symbol 2881 MovieClip | Uses:2875 2876 2877 2878 2880 | Used by:Timeline |
Symbol 2882 Text | Uses:220 | Used by:Timeline |
Symbol 2883 Graphic | Used by:2952 | |
Symbol 2884 Graphic | Used by:2952 | |
Symbol 2885 Graphic | Used by:2952 | |
Symbol 2886 Graphic | Used by:2952 | |
Symbol 2887 Graphic | Used by:2952 | |
Symbol 2888 Graphic | Used by:2952 | |
Symbol 2889 Graphic | Used by:2952 | |
Symbol 2890 Graphic | Used by:2952 | |
Symbol 2891 Graphic | Used by:2952 | |
Symbol 2892 Graphic | Used by:2952 | |
Symbol 2893 Graphic | Used by:2952 | |
Symbol 2894 Graphic | Used by:2952 | |
Symbol 2895 Graphic | Used by:2952 | |
Symbol 2896 Graphic | Used by:2952 | |
Symbol 2897 Graphic | Used by:2952 | |
Symbol 2898 Graphic | Used by:2952 | |
Symbol 2899 Graphic | Used by:2952 | |
Symbol 2900 Graphic | Used by:2952 | |
Symbol 2901 Graphic | Used by:2952 | |
Symbol 2902 Graphic | Used by:2952 | |
Symbol 2903 Graphic | Used by:2952 | |
Symbol 2904 Graphic | Used by:2952 | |
Symbol 2905 Graphic | Used by:2952 | |
Symbol 2906 Graphic | Used by:2952 | |
Symbol 2907 Graphic | Used by:2952 | |
Symbol 2908 Graphic | Used by:2952 | |
Symbol 2909 Graphic | Used by:2952 | |
Symbol 2910 Graphic | Used by:2952 | |
Symbol 2911 Graphic | Used by:2952 | |
Symbol 2912 Graphic | Used by:2952 | |
Symbol 2913 Graphic | Used by:2952 | |
Symbol 2914 Graphic | Used by:2952 | |
Symbol 2915 Graphic | Used by:2952 | |
Symbol 2916 Graphic | Used by:2952 | |
Symbol 2917 Graphic | Used by:2952 | |
Symbol 2918 Graphic | Used by:2952 | |
Symbol 2919 Graphic | Used by:2952 | |
Symbol 2920 Graphic | Used by:2952 | |
Symbol 2921 Graphic | Used by:2952 | |
Symbol 2922 Graphic | Used by:2952 | |
Symbol 2923 Graphic | Used by:2952 | |
Symbol 2924 Graphic | Used by:2952 | |
Symbol 2925 Graphic | Used by:2952 | |
Symbol 2926 Graphic | Used by:2952 | |
Symbol 2927 Graphic | Used by:2952 | |
Symbol 2928 Graphic | Used by:2952 | |
Symbol 2929 Graphic | Used by:2952 | |
Symbol 2930 Graphic | Used by:2952 | |
Symbol 2931 Graphic | Used by:2952 | |
Symbol 2932 Graphic | Used by:2952 | |
Symbol 2933 Graphic | Used by:2952 | |
Symbol 2934 Graphic | Used by:2952 | |
Symbol 2935 Graphic | Used by:2952 | |
Symbol 2936 Graphic | Used by:2952 | |
Symbol 2937 Graphic | Used by:2952 | |
Symbol 2938 Graphic | Used by:2952 | |
Symbol 2939 Graphic | Used by:2952 | |
Symbol 2940 Graphic | Used by:2952 | |
Symbol 2941 Graphic | Used by:2952 | |
Symbol 2942 Graphic | Used by:2952 | |
Symbol 2943 Graphic | Used by:2952 | |
Symbol 2944 Graphic | Used by:2952 | |
Symbol 2945 Graphic | Used by:2952 | |
Symbol 2946 Graphic | Used by:2952 | |
Symbol 2947 Graphic | Used by:2952 | |
Symbol 2948 Graphic | Used by:2952 | |
Symbol 2949 Graphic | Used by:2952 | |
Symbol 2950 Graphic | Used by:2952 | |
Symbol 2951 Graphic | Used by:2952 | |
Symbol 2952 MovieClip | Uses:2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 | Used by:Timeline |
Symbol 2953 Text | Uses:220 | Used by:Timeline |
Symbol 2954 Bitmap | Used by:2955 | |
Symbol 2955 Graphic | Uses:2954 | Used by:2956 |
Symbol 2956 MovieClip | Uses:2955 | Used by:Timeline |
Symbol 2957 Text | Uses:220 | Used by:Timeline |
Symbol 2958 Text | Uses:220 | Used by:Timeline |
Symbol 2959 Text | Uses:220 | Used by:Timeline |
Symbol 2960 Bitmap | Used by:2961 | |
Symbol 2961 Graphic | Uses:2960 | Used by:2962 |
Symbol 2962 MovieClip | Uses:2961 | Used by:Timeline |
Symbol 2963 Text | Uses:220 | Used by:Timeline |
Symbol 2964 Text | Uses:220 | Used by:Timeline |
Symbol 2965 Text | Uses:220 | Used by:Timeline |
Symbol 2966 Graphic | Used by:3003 | |
Symbol 2967 Graphic | Used by:3003 | |
Symbol 2968 Graphic | Used by:3003 | |
Symbol 2969 Graphic | Used by:3003 | |
Symbol 2970 Graphic | Used by:3003 | |
Symbol 2971 Graphic | Used by:3003 | |
Symbol 2972 Graphic | Used by:3003 | |
Symbol 2973 Graphic | Used by:3003 | |
Symbol 2974 Graphic | Used by:3003 | |
Symbol 2975 Graphic | Used by:3003 | |
Symbol 2976 Graphic | Used by:3003 | |
Symbol 2977 Graphic | Used by:3003 | |
Symbol 2978 Graphic | Used by:3003 | |
Symbol 2979 Graphic | Used by:3003 | |
Symbol 2980 Graphic | Used by:3003 | |
Symbol 2981 Graphic | Used by:3003 | |
Symbol 2982 Graphic | Used by:3003 | |
Symbol 2983 Graphic | Used by:3003 | |
Symbol 2984 Graphic | Used by:3003 | |
Symbol 2985 Graphic | Used by:3003 | |
Symbol 2986 Graphic | Used by:3003 | |
Symbol 2987 Graphic | Used by:3003 | |
Symbol 2988 Graphic | Used by:3003 | |
Symbol 2989 Graphic | Used by:3003 | |
Symbol 2990 Graphic | Used by:3003 | |
Symbol 2991 Graphic | Used by:3003 | |
Symbol 2992 Graphic | Used by:3003 | |
Symbol 2993 Graphic | Used by:3003 | |
Symbol 2994 Graphic | Used by:3003 | |
Symbol 2995 Graphic | Used by:3003 | |
Symbol 2996 Graphic | Used by:3003 | |
Symbol 2997 Graphic | Used by:3003 | |
Symbol 2998 Graphic | Used by:3003 | |
Symbol 2999 Graphic | Used by:3003 | |
Symbol 3000 Graphic | Used by:3003 | |
Symbol 3001 Graphic | Used by:3003 | |
Symbol 3002 Graphic | Used by:3003 | |
Symbol 3003 MovieClip | Uses:2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 | Used by:Timeline |
Symbol 3004 Text | Uses:220 | Used by:Timeline |
Symbol 3005 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 3006 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 3007 Text | Uses:220 | Used by:Timeline |
Symbol 3008 Text | Uses:220 | Used by:Timeline |
Symbol 3009 Text | Uses:220 | Used by:Timeline |
Symbol 3010 Text | Uses:220 | Used by:Timeline |
Symbol 3011 Text | Uses:220 | Used by:Timeline |
Symbol 3012 Text | Uses:220 | Used by:Timeline |
Symbol 3013 Text | Uses:220 | Used by:Timeline |
Symbol 3014 Text | Uses:220 | Used by:Timeline |
Symbol 3015 Text | Uses:220 | Used by:Timeline |
Symbol 3016 Text | Uses:220 | Used by:Timeline |
Symbol 3017 Bitmap | Used by:3018 | |
Symbol 3018 Graphic | Uses:3017 | Used by:3019 |
Symbol 3019 MovieClip | Uses:3018 | Used by:Timeline |
Symbol 3020 Text | Uses:220 | Used by:Timeline |
Symbol 3021 Text | Uses:220 | Used by:Timeline |
Symbol 3022 Bitmap | Used by:3023 | |
Symbol 3023 Graphic | Uses:3022 | Used by:3024 |
Symbol 3024 MovieClip | Uses:3023 | Used by:Timeline |
Symbol 3025 Text | Uses:220 | Used by:Timeline |
Symbol 3026 Text | Uses:220 | Used by:Timeline |
Symbol 3027 Text | Uses:220 | Used by:Timeline |
Symbol 3028 Text | Uses:220 | Used by:Timeline |
Symbol 3029 Bitmap | Used by:3030 | |
Symbol 3030 Graphic | Uses:3029 | Used by:3031 |
Symbol 3031 MovieClip | Uses:3030 | Used by:Timeline |
Symbol 3032 Text | Uses:220 | Used by:Timeline |
Symbol 3033 Bitmap | Used by:3034 | |
Symbol 3034 Graphic | Uses:3033 | Used by:3035 |
Symbol 3035 MovieClip | Uses:3034 | Used by:Timeline |
Symbol 3036 Text | Uses:220 | Used by:Timeline |
Symbol 3037 Bitmap | Used by:3038 | |
Symbol 3038 Graphic | Uses:3037 | Used by:3039 |
Symbol 3039 MovieClip | Uses:3038 | Used by:Timeline |
Symbol 3040 Bitmap | Used by:3041 | |
Symbol 3041 Graphic | Uses:3040 | Used by:3042 |
Symbol 3042 MovieClip | Uses:3041 | Used by:Timeline |
Symbol 3043 Bitmap | Used by:3044 | |
Symbol 3044 Graphic | Uses:3043 | Used by:3045 |
Symbol 3045 MovieClip | Uses:3044 | Used by:Timeline |
Symbol 3046 Bitmap | Used by:3047 | |
Symbol 3047 Graphic | Uses:3046 | Used by:3048 |
Symbol 3048 MovieClip | Uses:3047 | Used by:Timeline |
Symbol 3049 Text | Uses:220 | Used by:Timeline |
Symbol 3050 Text | Uses:220 | Used by:Timeline |
Symbol 3051 Text | Uses:220 | Used by:Timeline |
Symbol 3052 Text | Uses:220 | Used by:Timeline |
Symbol 3053 Text | Uses:220 | Used by:Timeline |
Symbol 3054 Text | Uses:220 | Used by:Timeline |
Symbol 3055 Text | Uses:220 | Used by:Timeline |
Symbol 3056 Text | Uses:220 | Used by:Timeline |
Symbol 3057 Text | Uses:220 | Used by:Timeline |
Symbol 3058 Bitmap | Used by:3059 3064 3069 3074 3079 3083 3088 3093 | |
Symbol 3059 Graphic | Uses:3058 | Used by:3063 |
Symbol 3060 Text | Uses:220 | Used by:3063 |
Symbol 3061 Text | Uses:220 | Used by:3063 |
Symbol 3062 Graphic | Used by:3063 | |
Symbol 3063 Button | Uses:3059 3060 3061 3062 | Used by:3094 3095 |
Symbol 3064 Graphic | Uses:3058 | Used by:3068 |
Symbol 3065 Text | Uses:220 | Used by:3068 |
Symbol 3066 Text | Uses:220 | Used by:3068 |
Symbol 3067 Graphic | Used by:3068 | |
Symbol 3068 Button | Uses:3064 3065 3066 3067 | Used by:3094 3095 |
Symbol 3069 Graphic | Uses:3058 | Used by:3073 |
Symbol 3070 Text | Uses:220 | Used by:3073 |
Symbol 3071 Text | Uses:220 | Used by:3073 |
Symbol 3072 Graphic | Used by:3073 3082 | |
Symbol 3073 Button | Uses:3069 3070 3071 3072 | Used by:3094 3095 |
Symbol 3074 Graphic | Uses:3058 | Used by:3078 |
Symbol 3075 Text | Uses:220 | Used by:3078 |
Symbol 3076 Text | Uses:220 | Used by:3078 |
Symbol 3077 Graphic | Used by:3078 | |
Symbol 3078 Button | Uses:3074 3075 3076 3077 | Used by:3094 3095 |
Symbol 3079 Graphic | Uses:3058 | Used by:3082 |
Symbol 3080 Text | Uses:220 | Used by:3082 |
Symbol 3081 Text | Uses:220 | Used by:3082 |
Symbol 3082 Button | Uses:3079 3080 3081 3072 | Used by:3094 3095 |
Symbol 3083 Graphic | Uses:3058 | Used by:3087 |
Symbol 3084 Text | Uses:220 | Used by:3087 |
Symbol 3085 Text | Uses:220 | Used by:3087 |
Symbol 3086 Graphic | Used by:3087 | |
Symbol 3087 Button | Uses:3083 3084 3085 3086 | Used by:3094 3095 |
Symbol 3088 Graphic | Uses:3058 | Used by:3092 |
Symbol 3089 Text | Uses:220 | Used by:3092 |
Symbol 3090 Text | Uses:220 | Used by:3092 |
Symbol 3091 Graphic | Used by:3092 | |
Symbol 3092 Button | Uses:3088 3089 3090 3091 | Used by:3094 3095 |
Symbol 3093 Graphic | Uses:3058 | Used by:3094 3095 |
Symbol 3094 MovieClip | Uses:3063 3068 3073 3078 3082 3087 3092 3093 | Used by:3095 |
Symbol 3095 Button | Uses:3094 3093 3092 3087 3082 3078 3073 3068 3063 | Used by:Timeline |
Symbol 3096 Text | Uses:220 | Used by:Timeline |
Symbol 3097 Text | Uses:220 | Used by:Timeline |
Symbol 3098 Bitmap | Used by:3099 | |
Symbol 3099 Graphic | Uses:3098 | Used by:3100 |
Symbol 3100 MovieClip | Uses:3099 | Used by:Timeline |
Symbol 3101 Text | Uses:220 | Used by:Timeline |
Symbol 3102 Text | Uses:220 | Used by:Timeline |
Symbol 3103 Text | Uses:220 | Used by:Timeline |
Symbol 3104 Bitmap | Used by:3105 | |
Symbol 3105 Graphic | Uses:3104 | Used by:3106 |
Symbol 3106 MovieClip | Uses:3105 | Used by:Timeline |
Symbol 3107 Bitmap | Used by:3108 | |
Symbol 3108 Graphic | Uses:3107 | Used by:3109 |
Symbol 3109 MovieClip | Uses:3108 | Used by:Timeline |
Symbol 3110 Text | Uses:220 | Used by:Timeline |
Symbol 3111 Text | Uses:220 | Used by:Timeline |
Symbol 3112 Text | Uses:220 | Used by:Timeline |
Symbol 3113 Bitmap | Used by:3114 | |
Symbol 3114 Graphic | Uses:3113 | Used by:3115 |
Symbol 3115 MovieClip | Uses:3114 | Used by:Timeline |
Symbol 3116 Text | Uses:220 | Used by:Timeline |
Symbol 3117 Text | Uses:220 | Used by:Timeline |
Symbol 3118 Text | Uses:220 | Used by:Timeline |
Symbol 3119 Bitmap | Used by:3120 3125 3128 | |
Symbol 3120 Graphic | Uses:3119 | Used by:3121 |
Symbol 3121 MovieClip | Uses:3120 | Used by:Timeline |
Symbol 3122 Text | Uses:220 | Used by:Timeline |
Symbol 3123 Text | Uses:220 | Used by:Timeline |
Symbol 3124 Text | Uses:220 | Used by:Timeline |
Symbol 3125 Graphic | Uses:3119 | Used by:Timeline |
Symbol 3126 Text | Uses:220 | Used by:Timeline |
Symbol 3127 Text | Uses:220 | Used by:Timeline |
Symbol 3128 Graphic | Uses:3119 | Used by:Timeline |
Symbol 3129 Text | Uses:220 | Used by:Timeline |
Symbol 3130 Bitmap | Used by:3131 | |
Symbol 3131 Graphic | Uses:3130 | Used by:3132 |
Symbol 3132 MovieClip | Uses:3131 | Used by:Timeline |
Symbol 3133 Text | Uses:220 | Used by:Timeline |
Symbol 3134 Bitmap | Used by:3135 | |
Symbol 3135 Graphic | Uses:3134 | Used by:3136 |
Symbol 3136 MovieClip | Uses:3135 | Used by:Timeline |
Symbol 3137 Text | Uses:220 | Used by:Timeline |
Symbol 3138 Text | Uses:220 | Used by:Timeline |
Symbol 3139 Bitmap | Used by:3140 | |
Symbol 3140 Graphic | Uses:3139 | Used by:3141 |
Symbol 3141 MovieClip | Uses:3140 | Used by:Timeline |
Symbol 3142 Text | Uses:220 | Used by:3146 |
Symbol 3143 Text | Uses:220 | Used by:3146 |
Symbol 3144 Bitmap | Used by:3145 | |
Symbol 3145 Graphic | Uses:3144 | Used by:3146 |
Symbol 3146 MovieClip | Uses:3142 3143 3145 | Used by:Timeline |
Symbol 3147 Text | Uses:220 | Used by:Timeline |
Symbol 3148 Text | Uses:220 | Used by:Timeline |
Symbol 3149 Bitmap | Used by:3150 | |
Symbol 3150 Graphic | Uses:3149 | Used by:3151 |
Symbol 3151 MovieClip | Uses:3150 | Used by:Timeline |
Symbol 3152 Bitmap | Used by:3153 | |
Symbol 3153 Graphic | Uses:3152 | Used by:3154 |
Symbol 3154 MovieClip | Uses:3153 | Used by:Timeline |
Symbol 3155 Text | Uses:220 | Used by:Timeline |
Symbol 3156 Text | Uses:220 | Used by:Timeline |
Symbol 3157 Text | Uses:220 | Used by:Timeline |
Symbol 3158 Text | Uses:220 | Used by:Timeline |
Symbol 3159 Text | Uses:220 | Used by:Timeline |
Symbol 3160 Bitmap | Used by:3161 | |
Symbol 3161 Graphic | Uses:3160 | Used by:3162 |
Symbol 3162 MovieClip | Uses:3161 | Used by:Timeline |
Symbol 3163 Graphic | Used by:3201 | |
Symbol 3164 Graphic | Used by:3201 | |
Symbol 3165 Graphic | Used by:3201 | |
Symbol 3166 Graphic | Used by:3201 | |
Symbol 3167 Graphic | Used by:3201 | |
Symbol 3168 Graphic | Used by:3201 | |
Symbol 3169 Graphic | Used by:3201 | |
Symbol 3170 Graphic | Used by:3201 | |
Symbol 3171 Graphic | Used by:3201 | |
Symbol 3172 Graphic | Used by:3201 | |
Symbol 3173 Graphic | Used by:3201 | |
Symbol 3174 Graphic | Used by:3201 | |
Symbol 3175 Graphic | Used by:3201 | |
Symbol 3176 Graphic | Used by:3201 | |
Symbol 3177 Graphic | Used by:3201 | |
Symbol 3178 Graphic | Used by:3201 | |
Symbol 3179 Graphic | Used by:3201 | |
Symbol 3180 Graphic | Used by:3201 | |
Symbol 3181 Graphic | Used by:3201 | |
Symbol 3182 Graphic | Used by:3201 | |
Symbol 3183 Graphic | Used by:3201 | |
Symbol 3184 Graphic | Used by:3201 | |
Symbol 3185 Graphic | Used by:3201 | |
Symbol 3186 Graphic | Used by:3201 | |
Symbol 3187 Graphic | Used by:3201 | |
Symbol 3188 Graphic | Used by:3201 | |
Symbol 3189 Graphic | Used by:3201 | |
Symbol 3190 Graphic | Used by:3201 | |
Symbol 3191 Graphic | Used by:3201 | |
Symbol 3192 Graphic | Used by:3201 | |
Symbol 3193 Graphic | Used by:3201 | |
Symbol 3194 Graphic | Used by:3201 | |
Symbol 3195 Graphic | Used by:3201 | |
Symbol 3196 Graphic | Used by:3201 | |
Symbol 3197 Graphic | Used by:3201 | |
Symbol 3198 Graphic | Used by:3201 | |
Symbol 3199 Graphic | Used by:3201 | |
Symbol 3200 Graphic | Used by:3201 | |
Symbol 3201 MovieClip | Uses:3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 | Used by:Timeline |
Symbol 3202 Text | Uses:220 | Used by:Timeline |
Symbol 3203 Text | Uses:220 | Used by:Timeline |
Symbol 3204 Bitmap | Used by:3205 | |
Symbol 3205 Graphic | Uses:3204 | Used by:3206 |
Symbol 3206 MovieClip | Uses:3205 | Used by:Timeline |
Symbol 3207 Text | Uses:220 | Used by:Timeline |
Symbol 3208 Graphic | Used by:3257 | |
Symbol 3209 Graphic | Used by:3257 | |
Symbol 3210 Graphic | Used by:3257 | |
Symbol 3211 Graphic | Used by:3257 | |
Symbol 3212 Graphic | Used by:3257 | |
Symbol 3213 Graphic | Used by:3257 | |
Symbol 3214 Graphic | Used by:3257 | |
Symbol 3215 Graphic | Used by:3257 | |
Symbol 3216 Graphic | Used by:3257 | |
Symbol 3217 Graphic | Used by:3257 | |
Symbol 3218 Graphic | Used by:3257 | |
Symbol 3219 Graphic | Used by:3257 | |
Symbol 3220 Graphic | Used by:3257 | |
Symbol 3221 Graphic | Used by:3257 | |
Symbol 3222 Graphic | Used by:3257 | |
Symbol 3223 Graphic | Used by:3257 | |
Symbol 3224 Graphic | Used by:3257 | |
Symbol 3225 Graphic | Used by:3257 | |
Symbol 3226 Graphic | Used by:3257 | |
Symbol 3227 Graphic | Used by:3257 | |
Symbol 3228 Graphic | Used by:3257 | |
Symbol 3229 Graphic | Used by:3257 | |
Symbol 3230 Graphic | Used by:3257 | |
Symbol 3231 Graphic | Used by:3257 | |
Symbol 3232 Graphic | Used by:3257 | |
Symbol 3233 Graphic | Used by:3257 | |
Symbol 3234 Graphic | Used by:3257 | |
Symbol 3235 Graphic | Used by:3257 | |
Symbol 3236 Graphic | Used by:3257 | |
Symbol 3237 Graphic | Used by:3257 | |
Symbol 3238 Graphic | Used by:3257 | |
Symbol 3239 Graphic | Used by:3257 | |
Symbol 3240 Graphic | Used by:3257 | |
Symbol 3241 Graphic | Used by:3257 | |
Symbol 3242 Graphic | Used by:3257 | |
Symbol 3243 Graphic | Used by:3257 | |
Symbol 3244 Graphic | Used by:3257 | |
Symbol 3245 Graphic | Used by:3257 | |
Symbol 3246 Graphic | Used by:3257 | |
Symbol 3247 Graphic | Used by:3257 | |
Symbol 3248 Graphic | Used by:3257 | |
Symbol 3249 Graphic | Used by:3257 | |
Symbol 3250 Graphic | Used by:3257 | |
Symbol 3251 Graphic | Used by:3257 | |
Symbol 3252 Graphic | Used by:3257 | |
Symbol 3253 Graphic | Used by:3257 | |
Symbol 3254 Graphic | Used by:3257 | |
Symbol 3255 Graphic | Used by:3257 | |
Symbol 3256 Graphic | Used by:3257 | |
Symbol 3257 MovieClip | Uses:3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 | Used by:Timeline |
Symbol 3258 Bitmap | Used by:3259 | |
Symbol 3259 Graphic | Uses:3258 | Used by:3260 |
Symbol 3260 MovieClip | Uses:3259 | Used by:Timeline |
Symbol 3261 Text | Uses:220 | Used by:Timeline |
Symbol 3262 Text | Uses:220 | Used by:Timeline |
Symbol 3263 Bitmap | Used by:3264 | |
Symbol 3264 Graphic | Uses:3263 | Used by:3265 |
Symbol 3265 MovieClip | Uses:3264 | Used by:Timeline |
Symbol 3266 Text | Uses:220 | Used by:Timeline |
Symbol 3267 Graphic | Used by:3314 | |
Symbol 3268 Graphic | Used by:3314 | |
Symbol 3269 Graphic | Used by:3314 | |
Symbol 3270 Graphic | Used by:3314 | |
Symbol 3271 Graphic | Used by:3314 | |
Symbol 3272 Graphic | Used by:3314 | |
Symbol 3273 Graphic | Used by:3314 | |
Symbol 3274 Graphic | Used by:3314 | |
Symbol 3275 Graphic | Used by:3314 | |
Symbol 3276 Graphic | Used by:3314 | |
Symbol 3277 Graphic | Used by:3314 | |
Symbol 3278 Graphic | Used by:3314 | |
Symbol 3279 Graphic | Used by:3314 | |
Symbol 3280 Graphic | Used by:3314 | |
Symbol 3281 Graphic | Used by:3314 | |
Symbol 3282 Graphic | Used by:3314 | |
Symbol 3283 Graphic | Used by:3314 | |
Symbol 3284 Graphic | Used by:3314 | |
Symbol 3285 Graphic | Used by:3314 | |
Symbol 3286 Graphic | Used by:3314 | |
Symbol 3287 Graphic | Used by:3314 | |
Symbol 3288 Graphic | Used by:3314 | |
Symbol 3289 Graphic | Used by:3314 | |
Symbol 3290 Graphic | Used by:3314 | |
Symbol 3291 Graphic | Used by:3314 | |
Symbol 3292 Graphic | Used by:3314 | |
Symbol 3293 Graphic | Used by:3314 | |
Symbol 3294 Graphic | Used by:3314 | |
Symbol 3295 Graphic | Used by:3314 | |
Symbol 3296 Graphic | Used by:3314 | |
Symbol 3297 Graphic | Used by:3314 | |
Symbol 3298 Graphic | Used by:3314 | |
Symbol 3299 Graphic | Used by:3314 | |
Symbol 3300 Graphic | Used by:3314 | |
Symbol 3301 Graphic | Used by:3314 | |
Symbol 3302 Graphic | Used by:3314 | |
Symbol 3303 Graphic | Used by:3314 | |
Symbol 3304 Graphic | Used by:3314 | |
Symbol 3305 Graphic | Used by:3314 | |
Symbol 3306 Graphic | Used by:3314 | |
Symbol 3307 Graphic | Used by:3314 | |
Symbol 3308 Graphic | Used by:3314 | |
Symbol 3309 Graphic | Used by:3314 | |
Symbol 3310 Graphic | Used by:3314 | |
Symbol 3311 Graphic | Used by:3314 | |
Symbol 3312 Graphic | Used by:3314 | |
Symbol 3313 Graphic | Used by:3314 | |
Symbol 3314 MovieClip | Uses:3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 | Used by:Timeline |
Symbol 3315 Text | Uses:220 | Used by:Timeline |
Symbol 3316 Text | Uses:220 | Used by:Timeline |
Symbol 3317 Text | Uses:220 | Used by:Timeline |
Symbol 3318 Bitmap | Used by:3319 | |
Symbol 3319 Graphic | Uses:3318 | Used by:3320 |
Symbol 3320 MovieClip | Uses:3319 | Used by:Timeline |
Symbol 3321 Text | Uses:220 | Used by:Timeline |
Symbol 3322 Graphic | Used by:3323 | |
Symbol 3323 MovieClip | Uses:3322 | Used by:Timeline |
Symbol 3324 Bitmap | Used by:3325 | |
Symbol 3325 Graphic | Uses:3324 | Used by:3326 |
Symbol 3326 MovieClip | Uses:3325 | Used by:Timeline |
Symbol 3327 Text | Uses:220 | Used by:Timeline |
Symbol 3328 Bitmap | Used by:3329 | |
Symbol 3329 Graphic | Uses:3328 | Used by:3330 |
Symbol 3330 MovieClip | Uses:3329 | Used by:Timeline |
Symbol 3331 Text | Uses:220 | Used by:Timeline |
Symbol 3332 Graphic | Used by:3370 | |
Symbol 3333 Graphic | Used by:3370 | |
Symbol 3334 Graphic | Used by:3370 | |
Symbol 3335 Graphic | Used by:3370 | |
Symbol 3336 Graphic | Used by:3370 | |
Symbol 3337 Graphic | Used by:3370 | |
Symbol 3338 Graphic | Used by:3370 | |
Symbol 3339 Graphic | Used by:3370 | |
Symbol 3340 Graphic | Used by:3370 | |
Symbol 3341 Graphic | Used by:3370 | |
Symbol 3342 Graphic | Used by:3370 | |
Symbol 3343 Graphic | Used by:3370 | |
Symbol 3344 Graphic | Used by:3370 | |
Symbol 3345 Graphic | Used by:3370 | |
Symbol 3346 Graphic | Used by:3370 | |
Symbol 3347 Graphic | Used by:3370 | |
Symbol 3348 Graphic | Used by:3370 | |
Symbol 3349 Graphic | Used by:3370 | |
Symbol 3350 Graphic | Used by:3370 | |
Symbol 3351 Graphic | Used by:3370 | |
Symbol 3352 Graphic | Used by:3370 | |
Symbol 3353 Graphic | Used by:3370 | |
Symbol 3354 Graphic | Used by:3370 | |
Symbol 3355 Graphic | Used by:3370 | |
Symbol 3356 Graphic | Used by:3370 | |
Symbol 3357 Graphic | Used by:3370 | |
Symbol 3358 Graphic | Used by:3370 | |
Symbol 3359 Graphic | Used by:3370 | |
Symbol 3360 Graphic | Used by:3370 | |
Symbol 3361 Graphic | Used by:3370 | |
Symbol 3362 Graphic | Used by:3370 | |
Symbol 3363 Graphic | Used by:3370 | |
Symbol 3364 Graphic | Used by:3370 | |
Symbol 3365 Graphic | Used by:3370 | |
Symbol 3366 Graphic | Used by:3370 | |
Symbol 3367 Graphic | Used by:3370 | |
Symbol 3368 Graphic | Used by:3370 | |
Symbol 3369 Graphic | Used by:3370 | |
Symbol 3370 MovieClip | Uses:3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 | Used by:Timeline |
Symbol 3371 Text | Uses:220 | Used by:Timeline |
Symbol 3372 Text | Uses:220 | Used by:Timeline |
Symbol 3373 Text | Uses:220 | Used by:Timeline |
Symbol 3374 Bitmap | Used by:3375 | |
Symbol 3375 Graphic | Uses:3374 | Used by:3376 |
Symbol 3376 MovieClip | Uses:3375 | Used by:Timeline |
Symbol 3377 Graphic | Used by:3378 | |
Symbol 3378 MovieClip | Uses:3377 | Used by:Timeline |
Symbol 3379 Text | Uses:220 | Used by:Timeline |
Symbol 3380 Text | Uses:220 | Used by:Timeline |
Symbol 3381 Text | Uses:220 | Used by:Timeline |
Symbol 3382 Text | Uses:220 | Used by:Timeline |
Symbol 3383 Text | Uses:220 | Used by:Timeline |
Symbol 3384 Graphic | Used by:Timeline | |
Symbol 3385 Text | Uses:220 | Used by:Timeline |
Symbol 3386 Bitmap | Used by:3387 | |
Symbol 3387 Graphic | Uses:3386 | Used by:3388 |
Symbol 3388 MovieClip | Uses:3387 | Used by:Timeline |
Symbol 3389 Text | Uses:220 | Used by:Timeline |
Symbol 3390 Text | Uses:220 | Used by:Timeline |
Symbol 3391 Text | Uses:220 | Used by:Timeline |
Symbol 3392 Text | Uses:220 | Used by:Timeline |
Symbol 3393 Bitmap | Used by:3394 | |
Symbol 3394 Graphic | Uses:3393 | Used by:3395 |
Symbol 3395 MovieClip | Uses:3394 | Used by:Timeline |
Symbol 3396 Graphic | Used by:Timeline | |
Symbol 3397 Bitmap | Used by:3398 | |
Symbol 3398 Graphic | Uses:3397 | Used by:3399 |
Symbol 3399 MovieClip | Uses:3398 | Used by:Timeline |
Symbol 3400 Text | Uses:220 | Used by:Timeline |
Symbol 3401 Text | Uses:220 | Used by:Timeline |
Symbol 3402 Bitmap | Used by:3403 | |
Symbol 3403 Graphic | Uses:3402 | Used by:3404 |
Symbol 3404 MovieClip | Uses:3403 | Used by:Timeline |
Symbol 3405 Bitmap | Used by:3406 | |
Symbol 3406 Graphic | Uses:3405 | Used by:3407 |
Symbol 3407 MovieClip | Uses:3406 | Used by:Timeline |
Symbol 3408 Text | Uses:220 | Used by:Timeline |
Symbol 3409 Text | Uses:220 | Used by:Timeline |
Symbol 3410 Text | Uses:220 | Used by:Timeline |
Symbol 3411 Bitmap | Used by:3412 | |
Symbol 3412 Graphic | Uses:3411 | Used by:3413 |
Symbol 3413 MovieClip | Uses:3412 | Used by:Timeline |
Symbol 3414 Text | Uses:220 | Used by:Timeline |
Symbol 3415 Bitmap | Used by:3416 | |
Symbol 3416 Graphic | Uses:3415 | Used by:3417 |
Symbol 3417 MovieClip | Uses:3416 | Used by:Timeline |
Symbol 3418 Text | Uses:220 | Used by:Timeline |
Symbol 3419 Text | Uses:220 | Used by:Timeline |
Symbol 3420 Bitmap | Used by:3421 | |
Symbol 3421 Graphic | Uses:3420 | Used by:3422 |
Symbol 3422 MovieClip | Uses:3421 | Used by:Timeline |
Symbol 3423 Text | Uses:220 | Used by:Timeline |
Symbol 3424 Bitmap | Used by:3425 | |
Symbol 3425 Graphic | Uses:3424 | Used by:3426 |
Symbol 3426 MovieClip | Uses:3425 | Used by:Timeline |
Symbol 3427 Text | Uses:220 | Used by:Timeline |
Symbol 3428 Bitmap | Used by:3429 | |
Symbol 3429 Graphic | Uses:3428 | Used by:3430 |
Symbol 3430 MovieClip | Uses:3429 | Used by:Timeline |
Symbol 3431 Text | Uses:220 | Used by:Timeline |
Symbol 3432 Text | Uses:220 | Used by:Timeline |
Symbol 3433 Bitmap | Used by:3434 | |
Symbol 3434 Graphic | Uses:3433 | Used by:3435 |
Symbol 3435 MovieClip | Uses:3434 | Used by:Timeline |
Symbol 3436 Bitmap | Used by:3437 | |
Symbol 3437 Graphic | Uses:3436 | Used by:3438 |
Symbol 3438 MovieClip | Uses:3437 | Used by:Timeline |
Symbol 3439 Text | Uses:220 | Used by:Timeline |
Symbol 3440 Text | Uses:220 | Used by:Timeline |
Symbol 3441 Text | Uses:220 | Used by:Timeline |
Symbol 3442 Bitmap | Used by:3443 | |
Symbol 3443 Graphic | Uses:3442 | Used by:3444 |
Symbol 3444 MovieClip | Uses:3443 | Used by:Timeline |
Symbol 3445 Text | Uses:220 | Used by:Timeline |
Symbol 3446 Text | Uses:220 | Used by:Timeline |
Symbol 3447 Bitmap | Used by:3448 | |
Symbol 3448 Graphic | Uses:3447 | Used by:3449 |
Symbol 3449 MovieClip | Uses:3448 | Used by:Timeline |
Symbol 3450 Text | Uses:220 | Used by:Timeline |
Symbol 3451 Text | Uses:220 | Used by:Timeline |
Symbol 3452 Bitmap | Used by:3453 | |
Symbol 3453 Graphic | Uses:3452 | Used by:3454 |
Symbol 3454 MovieClip | Uses:3453 | Used by:Timeline |
Symbol 3455 Text | Uses:220 | Used by:Timeline |
Symbol 3456 Text | Uses:220 | Used by:Timeline |
Symbol 3457 Text | Uses:220 | Used by:Timeline |
Symbol 3458 Text | Uses:220 | Used by:Timeline |
Symbol 3459 Text | Uses:220 | Used by:3461 |
Symbol 3460 Graphic | Used by:3461 | |
Symbol 3461 Button | Uses:3459 3460 | Used by:Timeline |
Symbol 3462 Text | Uses:220 | Used by:3465 |
Symbol 3463 Graphic | Used by:3465 3478 3484 | |
Symbol 3464 Graphic | Used by:3465 | |
Symbol 3465 Button | Uses:3462 3463 3464 | Used by:Timeline |
Symbol 3466 Text | Uses:220 | Used by:3470 |
Symbol 3467 Graphic | Used by:3470 | |
Symbol 3468 Graphic | Used by:3470 | |
Symbol 3469 Graphic | Used by:3470 | |
Symbol 3470 Button | Uses:3466 3467 3468 3469 | Used by:Timeline |
Symbol 3471 Text | Uses:220 | Used by:3475 3483 3583 3620 |
Symbol 3472 Graphic | Used by:3475 3483 3583 3620 | |
Symbol 3473 Graphic | Used by:3475 3483 3583 3620 | |
Symbol 3474 Graphic | Used by:3475 3483 3583 3620 | |
Symbol 3475 Button | Uses:3471 3472 3473 3474 | Used by:Timeline |
Symbol 3476 Text | Uses:220 | Used by:3478 3484 |
Symbol 3477 Graphic | Used by:3478 3484 | |
Symbol 3478 Button | Uses:3476 3463 3477 | Used by:Timeline |
Symbol 3479 Font | Used by:1840 1841 1842 1843 1844 2035 2036 2325 2326 2327 2403 2404 2405 2406 2459 2460 2490 2491 3005 3006 3480 3486 3559 3585 3600 3788 3791 4841 4859 4925 5205 5311 5336 5360 5361 5409 5454 5725 | |
Symbol 3480 Text | Uses:220 3479 | Used by:Timeline |
Symbol 3481 Text | Uses:220 | Used by:Timeline |
Symbol 3482 Text | Uses:220 | Used by:Timeline |
Symbol 3483 Button | Uses:3471 3472 3473 3474 | Used by:Timeline |
Symbol 3484 Button | Uses:3476 3463 3477 | Used by:Timeline |
Symbol 3485 Text | Uses:220 | Used by:Timeline |
Symbol 3486 Text | Uses:220 3479 | Used by:Timeline |
Symbol 3487 Text | Uses:220 | Used by:Timeline |
Symbol 3488 Text | Uses:220 | Used by:3490 Timeline |
Symbol 3489 Graphic | Used by:3490 | |
Symbol 3490 Button | Uses:3488 3489 | Used by:Timeline |
Symbol 3491 Text | Uses:220 | Used by:3493 Timeline |
Symbol 3492 Graphic | Used by:3493 | |
Symbol 3493 Button | Uses:3491 3492 | Used by:Timeline |
Symbol 3494 Text | Uses:220 | Used by:3496 Timeline |
Symbol 3495 Graphic | Used by:3496 | |
Symbol 3496 Button | Uses:3494 3495 | Used by:Timeline |
Symbol 3497 Text | Uses:220 | Used by:Timeline |
Symbol 3498 Text | Uses:220 | Used by:Timeline |
Symbol 3499 Text | Uses:220 | Used by:Timeline |
Symbol 3500 Text | Uses:220 | Used by:Timeline |
Symbol 3501 Text | Uses:220 | Used by:3503 |
Symbol 3502 Graphic | Used by:3503 | |
Symbol 3503 Button | Uses:3501 3502 | Used by:Timeline |
Symbol 3504 Text | Uses:220 | Used by:3506 |
Symbol 3505 Graphic | Used by:3506 | |
Symbol 3506 Button | Uses:3504 3505 | Used by:Timeline |
Symbol 3507 Text | Uses:220 | Used by:3509 |
Symbol 3508 Graphic | Used by:3509 | |
Symbol 3509 Button | Uses:3507 3508 | Used by:Timeline |
Symbol 3510 Text | Uses:220 | Used by:3512 |
Symbol 3511 Graphic | Used by:3512 | |
Symbol 3512 Button | Uses:3510 3511 | Used by:Timeline |
Symbol 3513 Text | Uses:220 | Used by:Timeline |
Symbol 3514 Text | Uses:220 | Used by:Timeline |
Symbol 3515 Text | Uses:220 | Used by:Timeline |
Symbol 3516 Text | Uses:220 | Used by:3518 |
Symbol 3517 Graphic | Used by:3518 | |
Symbol 3518 Button | Uses:3516 3517 | Used by:Timeline |
Symbol 3519 Text | Uses:220 | Used by:3521 |
Symbol 3520 Graphic | Used by:3521 | |
Symbol 3521 Button | Uses:3519 3520 | Used by:Timeline |
Symbol 3522 Text | Uses:220 | Used by:3524 |
Symbol 3523 Graphic | Used by:3524 | |
Symbol 3524 Button | Uses:3522 3523 | Used by:Timeline |
Symbol 3525 Text | Uses:220 | Used by:3527 |
Symbol 3526 Graphic | Used by:3527 | |
Symbol 3527 Button | Uses:3525 3526 | Used by:Timeline |
Symbol 3528 Text | Uses:220 | Used by:Timeline |
Symbol 3529 Text | Uses:220 | Used by:Timeline |
Symbol 3530 Text | Uses:220 | Used by:Timeline |
Symbol 3531 Text | Uses:220 | Used by:3533 |
Symbol 3532 Graphic | Used by:3533 | |
Symbol 3533 Button | Uses:3531 3532 | Used by:Timeline |
Symbol 3534 Text | Uses:220 | Used by:3536 |
Symbol 3535 Graphic | Used by:3536 | |
Symbol 3536 Button | Uses:3534 3535 | Used by:Timeline |
Symbol 3537 Text | Uses:220 | Used by:3539 |
Symbol 3538 Graphic | Used by:3539 | |
Symbol 3539 Button | Uses:3537 3538 | Used by:Timeline |
Symbol 3540 Text | Uses:220 | Used by:3542 |
Symbol 3541 Graphic | Used by:3542 | |
Symbol 3542 Button | Uses:3540 3541 | Used by:Timeline |
Symbol 3543 Text | Uses:220 | Used by:Timeline |
Symbol 3544 Text | Uses:220 | Used by:Timeline |
Symbol 3545 Text | Uses:220 | Used by:Timeline |
Symbol 3546 Text | Uses:220 | Used by:3548 |
Symbol 3547 Graphic | Used by:3548 | |
Symbol 3548 Button | Uses:3546 3547 | Used by:Timeline |
Symbol 3549 Text | Uses:220 | Used by:3551 |
Symbol 3550 Graphic | Used by:3551 | |
Symbol 3551 Button | Uses:3549 3550 | Used by:Timeline |
Symbol 3552 Text | Uses:220 | Used by:3554 |
Symbol 3553 Graphic | Used by:3554 | |
Symbol 3554 Button | Uses:3552 3553 | Used by:Timeline |
Symbol 3555 Text | Uses:220 | Used by:3557 |
Symbol 3556 Graphic | Used by:3557 | |
Symbol 3557 Button | Uses:3555 3556 | Used by:Timeline |
Symbol 3558 Text | Uses:220 | Used by:Timeline |
Symbol 3559 Text | Uses:220 3479 | Used by:Timeline |
Symbol 3560 Text | Uses:220 | Used by:Timeline |
Symbol 3561 Text | Uses:220 | Used by:3563 3574 3579 5024 5173 5190 5203 5216 5251 |
Symbol 3562 Graphic | Used by:3563 3574 3579 5024 5173 5190 5203 5216 5251 | |
Symbol 3563 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 3564 Text | Uses:220 | Used by:3566 3575 3634 5229 5232 5248 |
Symbol 3565 Graphic | Used by:3566 3575 3634 5229 5232 5248 | |
Symbol 3566 Button | Uses:3564 3565 | Used by:Timeline |
Symbol 3567 Text | Uses:220 | Used by:Timeline |
Symbol 3568 Text | Uses:220 | Used by:3571 |
Symbol 3569 Bitmap | Used by:3570 | |
Symbol 3570 Graphic | Uses:3569 | Used by:3571 |
Symbol 3571 MovieClip | Uses:3568 3570 | Used by:Timeline |
Symbol 3572 Text | Uses:220 | Used by:Timeline |
Symbol 3573 Text | Uses:220 | Used by:Timeline |
Symbol 3574 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 3575 Button | Uses:3564 3565 | Used by:Timeline |
Symbol 3576 Text | Uses:220 | Used by:Timeline |
Symbol 3577 Text | Uses:220 | Used by:Timeline |
Symbol 3578 Text | Uses:220 | Used by:Timeline |
Symbol 3579 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 3580 Text | Uses:220 | Used by:Timeline |
Symbol 3581 Text | Uses:220 | Used by:Timeline |
Symbol 3582 Text | Uses:220 | Used by:Timeline |
Symbol 3583 Button | Uses:3471 3472 3473 3474 | Used by:Timeline |
Symbol 3584 Text | Uses:220 | Used by:Timeline |
Symbol 3585 Text | Uses:220 3479 | Used by:Timeline |
Symbol 3586 Text | Uses:220 | Used by:Timeline |
Symbol 3587 Text | Uses:220 | Used by:3589 |
Symbol 3588 Graphic | Used by:3589 | |
Symbol 3589 Button | Uses:3587 3588 | Used by:Timeline |
Symbol 3590 Text | Uses:220 | Used by:3593 |
Symbol 3591 Graphic | Used by:3593 | |
Symbol 3592 Text | Uses:220 | Used by:3593 |
Symbol 3593 Button | Uses:3590 3591 3592 | Used by:Timeline |
Symbol 3594 Text | Uses:220 | Used by:3596 |
Symbol 3595 Graphic | Used by:3596 | |
Symbol 3596 Button | Uses:3594 3595 | Used by:Timeline |
Symbol 3597 Text | Uses:220 | Used by:3599 |
Symbol 3598 Graphic | Used by:3599 | |
Symbol 3599 Button | Uses:3597 3598 | Used by:Timeline |
Symbol 3600 Text | Uses:220 3479 | Used by:Timeline |
Symbol 3601 Text | Uses:220 | Used by:Timeline |
Symbol 3602 Text | Uses:220 | Used by:Timeline |
Symbol 3603 Text | Uses:220 | Used by:3605 |
Symbol 3604 Graphic | Used by:3605 | |
Symbol 3605 Button | Uses:3603 3604 | Used by:Timeline |
Symbol 3606 Text | Uses:220 | Used by:3608 |
Symbol 3607 Graphic | Used by:3608 | |
Symbol 3608 Button | Uses:3606 3607 | Used by:Timeline |
Symbol 3609 Text | Uses:220 | Used by:3611 |
Symbol 3610 Graphic | Used by:3611 | |
Symbol 3611 Button | Uses:3609 3610 | Used by:Timeline |
Symbol 3612 Text | Uses:220 | Used by:3614 |
Symbol 3613 Graphic | Used by:3614 | |
Symbol 3614 Button | Uses:3612 3613 | Used by:Timeline |
Symbol 3615 Text | Uses:220 | Used by:3617 |
Symbol 3616 Graphic | Used by:3617 | |
Symbol 3617 Button | Uses:3615 3616 | Used by:Timeline |
Symbol 3618 Text | Uses:220 | Used by:Timeline |
Symbol 3619 Text | Uses:220 | Used by:Timeline |
Symbol 3620 Button | Uses:3471 3472 3473 3474 | Used by:Timeline |
Symbol 3621 Text | Uses:220 | Used by:Timeline |
Symbol 3622 Text | Uses:220 | Used by:3625 |
Symbol 3623 Bitmap | Used by:3624 | |
Symbol 3624 Graphic | Uses:3623 | Used by:3625 |
Symbol 3625 MovieClip | Uses:3622 3624 | Used by:Timeline |
Symbol 3626 Text | Uses:220 | Used by:Timeline |
Symbol 3627 Bitmap | Used by:3628 | |
Symbol 3628 Graphic | Uses:3627 | Used by:3629 |
Symbol 3629 MovieClip | Uses:3628 | Used by:Timeline |
Symbol 3630 Text | Uses:220 | Used by:Timeline |
Symbol 3631 Text | Uses:220 | Used by:Timeline |
Symbol 3632 Text | Uses:220 | Used by:Timeline |
Symbol 3633 Text | Uses:220 | Used by:Timeline |
Symbol 3634 Button | Uses:3564 3565 | Used by:Timeline |
Symbol 3635 Text | Uses:220 | Used by:Timeline |
Symbol 3636 Graphic | Used by:Timeline | |
Symbol 3637 Text | Uses:220 | Used by:Timeline |
Symbol 3638 Text | Uses:220 | Used by:3640 |
Symbol 3639 Graphic | Used by:3640 | |
Symbol 3640 Button | Uses:3638 3639 | Used by:Timeline |
Symbol 3641 Text | Uses:220 | Used by:3642 |
Symbol 3642 Button | Uses:3641 | Used by:3643 |
Symbol 3643 Button | Uses:3642 744 | Used by:Timeline |
Symbol 3644 Text | Uses:220 | Used by:3648 |
Symbol 3645 Text | Uses:220 | Used by:3648 |
Symbol 3646 Graphic | Used by:3648 | |
Symbol 3647 Text | Uses:220 | Used by:3648 |
Symbol 3648 Button | Uses:3644 3645 3646 3647 | Used by:Timeline |
Symbol 3649 Text | Uses:220 | Used by:Timeline |
Symbol 3650 Text | Uses:220 | Used by:Timeline |
Symbol 3651 Text | Uses:220 | Used by:Timeline |
Symbol 3652 Text | Uses:220 | Used by:3654 |
Symbol 3653 Graphic | Used by:3654 | |
Symbol 3654 Button | Uses:3652 3653 | Used by:Timeline |
Symbol 3655 Text | Uses:220 | Used by:3657 |
Symbol 3656 Graphic | Used by:3657 | |
Symbol 3657 Button | Uses:3655 3656 | Used by:Timeline |
Symbol 3658 Text | Uses:220 | Used by:Timeline |
Symbol 3659 Text | Uses:220 | Used by:Timeline |
Symbol 3660 Graphic | Used by:Timeline | |
Symbol 3661 Text | Uses:220 | Used by:3665 |
Symbol 3662 Text | Uses:736 | Used by:3665 |
Symbol 3663 Text | Uses:220 | Used by:3665 |
Symbol 3664 Text | Uses:736 | Used by:3665 |
Symbol 3665 Button | Uses:3661 3662 3663 3664 1592 | Used by:3678 |
Symbol 3666 Text | Uses:220 | Used by:3670 |
Symbol 3667 Text | Uses:736 | Used by:3670 |
Symbol 3668 Text | Uses:220 | Used by:3670 |
Symbol 3669 Text | Uses:736 | Used by:3670 |
Symbol 3670 Button | Uses:3666 3667 3668 3669 1592 | Used by:3678 |
Symbol 3671 Text | Uses:220 | Used by:3675 |
Symbol 3672 Text | Uses:736 | Used by:3675 |
Symbol 3673 Text | Uses:220 | Used by:3675 |
Symbol 3674 Text | Uses:736 | Used by:3675 |
Symbol 3675 Button | Uses:3671 3672 3673 3674 1592 | Used by:3678 |
Symbol 3676 EditableText | Uses:727 | Used by:3678 |
Symbol 3677 Graphic | Used by:3678 3784 4400 4639 | |
Symbol 3678 MovieClip | Uses:3665 3670 3675 3676 3677 | Used by:Timeline |
Symbol 3679 Text | Uses:220 | Used by:3681 |
Symbol 3680 Graphic | Used by:3681 | |
Symbol 3681 MovieClip | Uses:3679 3680 | Used by:3700 |
Symbol 3682 Text | Uses:220 | Used by:3684 |
Symbol 3683 Graphic | Used by:3684 | |
Symbol 3684 MovieClip | Uses:3682 3683 | Used by:3700 |
Symbol 3685 Text | Uses:220 | Used by:3687 3694 |
Symbol 3686 Graphic | Used by:3687 | |
Symbol 3687 MovieClip | Uses:3685 3686 | Used by:3695 |
Symbol 3688 Text | Uses:220 | Used by:3691 |
Symbol 3689 Text | Uses:220 | Used by:3691 |
Symbol 3690 MovieClip | Uses:855 | Used by:3691 |
Symbol 3691 MovieClip | Uses:3688 3689 3690 | Used by:3692 |
Symbol 3692 MovieClip | Uses:3691 | Used by:3695 |
Symbol 3693 Graphic | Used by:3694 | |
Symbol 3694 MovieClip | Uses:3685 3693 | Used by:3695 |
Symbol 3695 MovieClip | Uses:3687 3692 3694 | Used by:3700 |
Symbol 3696 Text | Uses:736 | Used by:3700 |
Symbol 3697 Graphic | Used by:3700 | |
Symbol 3698 Graphic | Used by:3699 | |
Symbol 3699 MovieClip | Uses:3698 | Used by:3700 |
Symbol 3700 MovieClip | Uses:3681 3684 3695 3696 982 3697 3699 | Used by:Timeline |
Symbol 3701 Text | Uses:220 | Used by:3703 3705 |
Symbol 3702 Graphic | Used by:3705 | |
Symbol 3703 MovieClip | Uses:3701 | Used by:3705 |
Symbol 3704 Graphic | Used by:3705 | |
Symbol 3705 Button | Uses:3701 3702 3703 3704 | Used by:Timeline |
Symbol 3706 Text | Uses:220 | Used by:3708 |
Symbol 3707 Graphic | Used by:3708 3710 3712 3714 3716 3718 3720 3722 3724 3726 3728 3730 3732 3734 3736 3738 3745 | |
Symbol 3708 Button | Uses:769 3706 3707 | Used by:Timeline |
Symbol 3709 Text | Uses:220 | Used by:3710 |
Symbol 3710 Button | Uses:769 3709 3707 | Used by:Timeline |
Symbol 3711 Text | Uses:220 | Used by:3712 |
Symbol 3712 Button | Uses:769 3711 3707 | Used by:Timeline |
Symbol 3713 Text | Uses:220 | Used by:3714 |
Symbol 3714 Button | Uses:769 3713 3707 | Used by:Timeline |
Symbol 3715 Text | Uses:220 | Used by:3716 |
Symbol 3716 Button | Uses:769 3715 3707 | Used by:Timeline |
Symbol 3717 Text | Uses:220 | Used by:3718 |
Symbol 3718 Button | Uses:769 3717 3707 | Used by:Timeline |
Symbol 3719 Text | Uses:220 | Used by:3720 |
Symbol 3720 Button | Uses:769 3719 3707 | Used by:Timeline |
Symbol 3721 Text | Uses:220 | Used by:3722 |
Symbol 3722 Button | Uses:769 3721 3707 | Used by:Timeline |
Symbol 3723 Text | Uses:220 | Used by:3724 |
Symbol 3724 Button | Uses:769 3723 3707 | Used by:Timeline |
Symbol 3725 Text | Uses:220 | Used by:3726 |
Symbol 3726 Button | Uses:769 3725 3707 | Used by:Timeline |
Symbol 3727 Text | Uses:220 | Used by:3728 |
Symbol 3728 Button | Uses:769 3727 3707 | Used by:Timeline |
Symbol 3729 Text | Uses:220 | Used by:3730 |
Symbol 3730 Button | Uses:769 3729 3707 | Used by:Timeline |
Symbol 3731 Text | Uses:220 | Used by:3732 |
Symbol 3732 Button | Uses:769 3731 3707 | Used by:Timeline |
Symbol 3733 Text | Uses:220 | Used by:3734 |
Symbol 3734 Button | Uses:769 3733 3707 | Used by:Timeline |
Symbol 3735 Text | Uses:220 | Used by:3736 |
Symbol 3736 Button | Uses:769 3735 3707 | Used by:Timeline |
Symbol 3737 Text | Uses:220 | Used by:3738 |
Symbol 3738 Button | Uses:769 3737 3707 | Used by:Timeline |
Symbol 3739 Text | Uses:220 | Used by:3741 |
Symbol 3740 Graphic | Used by:3741 3743 | |
Symbol 3741 Button | Uses:769 3739 3740 | Used by:Timeline |
Symbol 3742 Text | Uses:220 | Used by:3743 |
Symbol 3743 Button | Uses:769 3742 3740 | Used by:Timeline |
Symbol 3744 Text | Uses:220 | Used by:3745 |
Symbol 3745 Button | Uses:769 3744 3707 | Used by:Timeline |
Symbol 3746 Text | Uses:220 | Used by:Timeline |
Symbol 3747 Text | Uses:220 | Used by:3751 |
Symbol 3748 Text | Uses:220 | Used by:3751 |
Symbol 3749 Text | Uses:220 | Used by:3751 |
Symbol 3750 Graphic | Used by:3751 | |
Symbol 3751 Button | Uses:3747 3748 3749 3750 | Used by:3784 |
Symbol 3752 Text | Uses:220 | Used by:3756 |
Symbol 3753 Text | Uses:220 | Used by:3756 |
Symbol 3754 Text | Uses:220 | Used by:3756 |
Symbol 3755 Graphic | Used by:3756 | |
Symbol 3756 Button | Uses:3752 3753 3754 3755 | Used by:3784 |
Symbol 3757 Text | Uses:220 | Used by:3761 |
Symbol 3758 Text | Uses:220 | Used by:3761 |
Symbol 3759 Text | Uses:220 | Used by:3761 |
Symbol 3760 Graphic | Used by:3761 | |
Symbol 3761 Button | Uses:3757 3758 3759 3760 | Used by:3784 |
Symbol 3762 Text | Uses:220 | Used by:3766 |
Symbol 3763 Text | Uses:220 | Used by:3766 |
Symbol 3764 Text | Uses:220 | Used by:3766 |
Symbol 3765 Graphic | Used by:3766 | |
Symbol 3766 Button | Uses:3762 3763 3764 3765 | Used by:3784 |
Symbol 3767 Text | Uses:220 | Used by:3771 |
Symbol 3768 Text | Uses:220 | Used by:3771 |
Symbol 3769 Text | Uses:220 | Used by:3771 |
Symbol 3770 Graphic | Used by:3771 | |
Symbol 3771 Button | Uses:3767 3768 3769 3770 | Used by:3784 |
Symbol 3772 Text | Uses:220 | Used by:3776 |
Symbol 3773 Text | Uses:220 | Used by:3776 |
Symbol 3774 Text | Uses:220 | Used by:3776 |
Symbol 3775 Graphic | Used by:3776 | |
Symbol 3776 Button | Uses:3772 3773 3774 3775 | Used by:3784 |
Symbol 3777 Text | Uses:220 | Used by:3782 |
Symbol 3778 Text | Uses:220 | Used by:3782 |
Symbol 3779 Text | Uses:220 | Used by:3782 |
Symbol 3780 Graphic | Used by:3782 | |
Symbol 3781 Text | Uses:220 | Used by:3782 |
Symbol 3782 Button | Uses:3777 3778 3779 3780 3781 | Used by:3784 |
Symbol 3783 EditableText | Uses:727 | Used by:3784 |
Symbol 3784 MovieClip | Uses:3751 3756 3761 3766 3771 3776 3782 3783 3677 | Used by:Timeline |
Symbol 3785 Text | Uses:220 | Used by:Timeline |
Symbol 3786 Text | Uses:220 | Used by:Timeline |
Symbol 3787 Text | Uses:220 | Used by:Timeline |
Symbol 3788 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 3789 Text | Uses:220 | Used by:Timeline |
Symbol 3790 Text | Uses:220 | Used by:Timeline |
Symbol 3791 Text | Uses:220 3479 | Used by:Timeline |
Symbol 3792 Text | Uses:220 | Used by:Timeline |
Symbol 3793 Bitmap | Used by:3794 | |
Symbol 3794 Graphic | Uses:3793 | Used by:3795 |
Symbol 3795 MovieClip | Uses:3794 | Used by:Timeline |
Symbol 3796 Text | Uses:220 | Used by:Timeline |
Symbol 3797 Graphic | Used by:Timeline | |
Symbol 3798 Text | Uses:220 | Used by:Timeline |
Symbol 3799 Button | Uses:1543 1544 1545 1546 1547 | Used by:Timeline |
Symbol 3800 Text | Uses:220 | Used by:Timeline |
Symbol 3801 Text | Uses:220 | Used by:Timeline |
Symbol 3802 Text | Uses:220 | Used by:Timeline |
Symbol 3803 Text | Uses:220 | Used by:Timeline |
Symbol 3804 Text | Uses:220 | Used by:Timeline |
Symbol 3805 Text | Uses:220 | Used by:Timeline |
Symbol 3806 Text | Uses:220 | Used by:Timeline |
Symbol 3807 Text | Uses:220 | Used by:Timeline |
Symbol 3808 Bitmap | Used by:3809 | |
Symbol 3809 Graphic | Uses:3808 | Used by:3810 |
Symbol 3810 MovieClip | Uses:3809 | Used by:Timeline |
Symbol 3811 Text | Uses:220 | Used by:Timeline |
Symbol 3812 Graphic | Used by:Timeline | |
Symbol 3813 Text | Uses:220 | Used by:Timeline |
Symbol 3814 Text | Uses:220 | Used by:Timeline |
Symbol 3815 Text | Uses:220 | Used by:Timeline |
Symbol 3816 Graphic | Used by:Timeline | |
Symbol 3817 Text | Uses:220 | Used by:3821 |
Symbol 3818 Text | Uses:220 | Used by:3821 |
Symbol 3819 Bitmap | Used by:3820 3826 3840 | |
Symbol 3820 Graphic | Uses:3819 | Used by:3821 |
Symbol 3821 MovieClip | Uses:3817 3818 3820 | Used by:Timeline |
Symbol 3822 Text | Uses:220 | Used by:Timeline |
Symbol 3823 Bitmap | Used by:3824 3840 | |
Symbol 3824 Graphic | Uses:3823 | Used by:3825 |
Symbol 3825 MovieClip | Uses:3824 | Used by:Timeline |
Symbol 3826 Graphic | Uses:3819 | Used by:Timeline |
Symbol 3827 Text | Uses:220 | Used by:Timeline |
Symbol 3828 Graphic | Used by:Timeline | |
Symbol 3829 Text | Uses:220 | Used by:Timeline |
Symbol 3830 Text | Uses:220 | Used by:Timeline |
Symbol 3831 Text | Uses:220 | Used by:Timeline |
Symbol 3832 Bitmap | Used by:3833 | |
Symbol 3833 Graphic | Uses:3832 | Used by:3834 |
Symbol 3834 MovieClip | Uses:3833 | Used by:Timeline |
Symbol 3835 Text | Uses:220 | Used by:Timeline |
Symbol 3836 Bitmap | Used by:3837 | |
Symbol 3837 Graphic | Uses:3836 | Used by:3838 |
Symbol 3838 MovieClip | Uses:3837 | Used by:Timeline |
Symbol 3839 Text | Uses:220 | Used by:Timeline |
Symbol 3840 Graphic | Uses:3819 3823 | Used by:Timeline |
Symbol 3841 Text | Uses:220 | Used by:Timeline |
Symbol 3842 Bitmap | Used by:3843 | |
Symbol 3843 Graphic | Uses:3842 | Used by:3844 |
Symbol 3844 MovieClip | Uses:3843 | Used by:Timeline |
Symbol 3845 Text | Uses:220 | Used by:Timeline |
Symbol 3846 Text | Uses:220 | Used by:Timeline |
Symbol 3847 Text | Uses:220 | Used by:Timeline |
Symbol 3848 Text | Uses:220 | Used by:Timeline |
Symbol 3849 Bitmap | Used by:3850 | |
Symbol 3850 Graphic | Uses:3849 | Used by:3851 |
Symbol 3851 MovieClip | Uses:3850 | Used by:Timeline |
Symbol 3852 Text | Uses:220 | Used by:Timeline |
Symbol 3853 Graphic | Used by:Timeline | |
Symbol 3854 Text | Uses:220 | Used by:Timeline |
Symbol 3855 Text | Uses:220 | Used by:Timeline |
Symbol 3856 Graphic | Used by:Timeline | |
Symbol 3857 Bitmap | Used by:3858 | |
Symbol 3858 Graphic | Uses:3857 | Used by:3859 |
Symbol 3859 MovieClip | Uses:3858 | Used by:Timeline |
Symbol 3860 Text | Uses:220 | Used by:Timeline |
Symbol 3861 Graphic | Used by:Timeline | |
Symbol 3862 Text | Uses:220 | Used by:Timeline |
Symbol 3863 Text | Uses:220 | Used by:Timeline |
Symbol 3864 Text | Uses:220 | Used by:Timeline |
Symbol 3865 Text | Uses:220 | Used by:Timeline |
Symbol 3866 Text | Uses:220 | Used by:Timeline |
Symbol 3867 Text | Uses:220 | Used by:Timeline |
Symbol 3868 Text | Uses:220 | Used by:Timeline |
Symbol 3869 Text | Uses:220 | Used by:Timeline |
Symbol 3870 Text | Uses:220 | Used by:Timeline |
Symbol 3871 Text | Uses:220 | Used by:Timeline |
Symbol 3872 Text | Uses:220 | Used by:Timeline |
Symbol 3873 Text | Uses:220 | Used by:Timeline |
Symbol 3874 Text | Uses:220 | Used by:Timeline |
Symbol 3875 Text | Uses:220 | Used by:Timeline |
Symbol 3876 Text | Uses:220 | Used by:Timeline |
Symbol 3877 Text | Uses:220 | Used by:Timeline |
Symbol 3878 Graphic | Used by:Timeline | |
Symbol 3879 Text | Uses:220 | Used by:Timeline |
Symbol 3880 Text | Uses:220 | Used by:3885 |
Symbol 3881 Text | Uses:220 | Used by:3885 |
Symbol 3882 Text | Uses:220 | Used by:3885 |
Symbol 3883 Bitmap | Used by:3884 | |
Symbol 3884 Graphic | Uses:3883 | Used by:3885 |
Symbol 3885 MovieClip | Uses:3880 3881 3882 3884 | Used by:Timeline |
Symbol 3886 Text | Uses:220 | Used by:Timeline |
Symbol 3887 Text | Uses:220 | Used by:Timeline |
Symbol 3888 Text | Uses:220 | Used by:Timeline |
Symbol 3889 Text | Uses:220 | Used by:Timeline |
Symbol 3890 Text | Uses:220 | Used by:Timeline |
Symbol 3891 Text | Uses:220 | Used by:Timeline |
Symbol 3892 Text | Uses:220 | Used by:Timeline |
Symbol 3893 Text | Uses:220 | Used by:Timeline |
Symbol 3894 Text | Uses:220 | Used by:Timeline |
Symbol 3895 Text | Uses:220 | Used by:Timeline |
Symbol 3896 Text | Uses:220 | Used by:Timeline |
Symbol 3897 Text | Uses:220 | Used by:Timeline |
Symbol 3898 Text | Uses:220 | Used by:Timeline |
Symbol 3899 Text | Uses:220 | Used by:Timeline |
Symbol 3900 Text | Uses:220 | Used by:3906 |
Symbol 3901 Text | Uses:220 | Used by:3906 |
Symbol 3902 Text | Uses:220 | Used by:3906 |
Symbol 3903 Text | Uses:220 | Used by:3906 |
Symbol 3904 Bitmap | Used by:3905 | |
Symbol 3905 Graphic | Uses:3904 | Used by:3906 |
Symbol 3906 MovieClip | Uses:3900 3901 3902 3903 3905 | Used by:Timeline |
Symbol 3907 Text | Uses:220 | Used by:Timeline |
Symbol 3908 Text | Uses:220 | Used by:Timeline |
Symbol 3909 Graphic | Used by:3910 | |
Symbol 3910 MovieClip | Uses:3909 | Used by:3914 |
Symbol 3911 Bitmap | Used by:3912 | |
Symbol 3912 Graphic | Uses:3911 | Used by:3913 |
Symbol 3913 MovieClip | Uses:3912 | Used by:3914 |
Symbol 3914 MovieClip | Uses:3913 3910 | Used by:Timeline |
Symbol 3915 Text | Uses:220 | Used by:Timeline |
Symbol 3916 Text | Uses:220 | Used by:Timeline |
Symbol 3917 Bitmap | Used by:3918 | |
Symbol 3918 Graphic | Uses:3917 | Used by:3919 |
Symbol 3919 MovieClip | Uses:3918 | Used by:Timeline |
Symbol 3920 Text | Uses:220 | Used by:Timeline |
Symbol 3921 Bitmap | Used by:3922 | |
Symbol 3922 Graphic | Uses:3921 | Used by:3923 |
Symbol 3923 MovieClip | Uses:3922 | Used by:Timeline |
Symbol 3924 Text | Uses:220 | Used by:Timeline |
Symbol 3925 Text | Uses:220 | Used by:Timeline |
Symbol 3926 Text | Uses:220 | Used by:Timeline |
Symbol 3927 EditableText | Uses:727 | Used by:Timeline |
Symbol 3928 Graphic | Used by:3929 | |
Symbol 3929 MovieClip | Uses:3928 | Used by:Timeline |
Symbol 3930 ShapeTweening | Used by:3933 | |
Symbol 3931 ShapeTweening | Used by:3933 | |
Symbol 3932 Graphic | Used by:3933 | |
Symbol 3933 MovieClip | Uses:3930 3931 3932 | Used by:Timeline |
Symbol 3934 Text | Uses:220 | Used by:Timeline |
Symbol 3935 Text | Uses:220 | Used by:Timeline |
Symbol 3936 Text | Uses:220 | Used by:Timeline |
Symbol 3937 Text | Uses:220 | Used by:Timeline |
Symbol 3938 Text | Uses:220 | Used by:Timeline |
Symbol 3939 Bitmap | Used by:3940 | |
Symbol 3940 Graphic | Uses:3939 | Used by:3941 |
Symbol 3941 MovieClip | Uses:3940 | Used by:Timeline |
Symbol 3942 Text | Uses:220 | Used by:Timeline |
Symbol 3943 Bitmap | Used by:3944 | |
Symbol 3944 Graphic | Uses:3943 | Used by:3945 |
Symbol 3945 MovieClip | Uses:3944 | Used by:Timeline |
Symbol 3946 Text | Uses:220 | Used by:Timeline |
Symbol 3947 Text | Uses:220 | Used by:Timeline |
Symbol 3948 Text | Uses:220 | Used by:Timeline |
Symbol 3949 Bitmap | Used by:3950 | |
Symbol 3950 Graphic | Uses:3949 | Used by:3951 |
Symbol 3951 MovieClip | Uses:3950 | Used by:Timeline |
Symbol 3952 Bitmap | Used by:3953 | |
Symbol 3953 Graphic | Uses:3952 | Used by:3954 |
Symbol 3954 MovieClip | Uses:3953 | Used by:Timeline |
Symbol 3955 Text | Uses:220 | Used by:Timeline |
Symbol 3956 Bitmap | Used by:3957 | |
Symbol 3957 Graphic | Uses:3956 | Used by:3958 |
Symbol 3958 MovieClip | Uses:3957 | Used by:Timeline |
Symbol 3959 Text | Uses:220 | Used by:Timeline |
Symbol 3960 Bitmap | Used by:3961 | |
Symbol 3961 Graphic | Uses:3960 | Used by:3962 |
Symbol 3962 MovieClip | Uses:3961 | Used by:Timeline |
Symbol 3963 Text | Uses:220 | Used by:Timeline |
Symbol 3964 Bitmap | Used by:3965 | |
Symbol 3965 Graphic | Uses:3964 | Used by:3966 |
Symbol 3966 MovieClip | Uses:3965 | Used by:Timeline |
Symbol 3967 Text | Uses:220 | Used by:Timeline |
Symbol 3968 Text | Uses:220 | Used by:Timeline |
Symbol 3969 Text | Uses:220 | Used by:Timeline |
Symbol 3970 Bitmap | Used by:3971 | |
Symbol 3971 Graphic | Uses:3970 | Used by:3972 |
Symbol 3972 MovieClip | Uses:3971 | Used by:Timeline |
Symbol 3973 Bitmap | Used by:3974 | |
Symbol 3974 Graphic | Uses:3973 | Used by:3975 |
Symbol 3975 MovieClip | Uses:3974 | Used by:Timeline |
Symbol 3976 Text | Uses:220 | Used by:Timeline |
Symbol 3977 Text | Uses:220 | Used by:Timeline |
Symbol 3978 Text | Uses:220 | Used by:Timeline |
Symbol 3979 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 3980 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 3981 Text | Uses:220 | Used by:Timeline |
Symbol 3982 Text | Uses:220 | Used by:Timeline |
Symbol 3983 Bitmap | Used by:3984 | |
Symbol 3984 Graphic | Uses:3983 | Used by:3985 |
Symbol 3985 MovieClip | Uses:3984 | Used by:Timeline |
Symbol 3986 Text | Uses:220 | Used by:Timeline |
Symbol 3987 Text | Uses:220 | Used by:Timeline |
Symbol 3988 Bitmap | Used by:3989 | |
Symbol 3989 Graphic | Uses:3988 | Used by:3990 |
Symbol 3990 MovieClip | Uses:3989 | Used by:Timeline |
Symbol 3991 Text | Uses:220 | Used by:Timeline |
Symbol 3992 Text | Uses:220 | Used by:Timeline |
Symbol 3993 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 3994 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 3995 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 3996 Text | Uses:220 | Used by:Timeline |
Symbol 3997 Text | Uses:220 | Used by:Timeline |
Symbol 3998 Text | Uses:220 | Used by:Timeline |
Symbol 3999 Text | Uses:220 | Used by:Timeline |
Symbol 4000 Text | Uses:220 | Used by:Timeline |
Symbol 4001 Bitmap | Used by:4002 | |
Symbol 4002 Graphic | Uses:4001 | Used by:4003 |
Symbol 4003 MovieClip | Uses:4002 | Used by:Timeline |
Symbol 4004 Text | Uses:220 | Used by:Timeline |
Symbol 4005 Bitmap | Used by:4006 | |
Symbol 4006 Graphic | Uses:4005 | Used by:4007 |
Symbol 4007 MovieClip | Uses:4006 | Used by:Timeline |
Symbol 4008 Text | Uses:220 | Used by:Timeline |
Symbol 4009 Bitmap | Used by:4010 | |
Symbol 4010 Graphic | Uses:4009 | Used by:4011 |
Symbol 4011 MovieClip | Uses:4010 | Used by:Timeline |
Symbol 4012 Text | Uses:220 | Used by:Timeline |
Symbol 4013 Bitmap | Used by:4014 | |
Symbol 4014 Graphic | Uses:4013 | Used by:4015 |
Symbol 4015 MovieClip | Uses:4014 | Used by:Timeline |
Symbol 4016 Text | Uses:220 | Used by:Timeline |
Symbol 4017 Bitmap | Used by:4018 | |
Symbol 4018 Graphic | Uses:4017 | Used by:4019 |
Symbol 4019 MovieClip | Uses:4018 | Used by:Timeline |
Symbol 4020 Text | Uses:220 | Used by:Timeline |
Symbol 4021 Text | Uses:220 | Used by:4025 |
Symbol 4022 Text | Uses:220 | Used by:4025 |
Symbol 4023 Bitmap | Used by:4024 | |
Symbol 4024 Graphic | Uses:4023 | Used by:4025 |
Symbol 4025 MovieClip | Uses:4021 4022 4024 | Used by:Timeline |
Symbol 4026 Text | Uses:220 | Used by:Timeline |
Symbol 4027 Text | Uses:220 | Used by:Timeline |
Symbol 4028 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 4029 Text | Uses:220 | Used by:Timeline |
Symbol 4030 Text | Uses:220 | Used by:Timeline |
Symbol 4031 Bitmap | Used by:4032 | |
Symbol 4032 Graphic | Uses:4031 | Used by:4033 |
Symbol 4033 MovieClip | Uses:4032 | Used by:Timeline |
Symbol 4034 Text | Uses:220 | Used by:Timeline |
Symbol 4035 Bitmap | Used by:4036 | |
Symbol 4036 Graphic | Uses:4035 | Used by:4037 |
Symbol 4037 MovieClip | Uses:4036 | Used by:Timeline |
Symbol 4038 Text | Uses:220 | Used by:Timeline |
Symbol 4039 Text | Uses:220 | Used by:Timeline |
Symbol 4040 Bitmap | Used by:4041 | |
Symbol 4041 Graphic | Uses:4040 | Used by:4042 |
Symbol 4042 MovieClip | Uses:4041 | Used by:Timeline |
Symbol 4043 Text | Uses:220 | Used by:Timeline |
Symbol 4044 Bitmap | Used by:4045 | |
Symbol 4045 Graphic | Uses:4044 | Used by:4046 |
Symbol 4046 MovieClip | Uses:4045 | Used by:Timeline |
Symbol 4047 Text | Uses:220 | Used by:Timeline |
Symbol 4048 Text | Uses:220 | Used by:Timeline |
Symbol 4049 Text | Uses:220 | Used by:4054 |
Symbol 4050 Text | Uses:220 | Used by:4054 |
Symbol 4051 Text | Uses:220 | Used by:4054 |
Symbol 4052 Bitmap | Used by:4053 | |
Symbol 4053 Graphic | Uses:4052 | Used by:4054 |
Symbol 4054 MovieClip | Uses:4049 4050 4051 4053 | Used by:Timeline |
Symbol 4055 Text | Uses:220 | Used by:Timeline |
Symbol 4056 Text | Uses:220 | Used by:Timeline |
Symbol 4057 Text | Uses:220 | Used by:Timeline |
Symbol 4058 Bitmap | Used by:4059 | |
Symbol 4059 Graphic | Uses:4058 | Used by:4060 |
Symbol 4060 MovieClip | Uses:4059 | Used by:Timeline |
Symbol 4061 Bitmap | Used by:4062 | |
Symbol 4062 Graphic | Uses:4061 | Used by:4063 |
Symbol 4063 MovieClip | Uses:4062 | Used by:Timeline |
Symbol 4064 Bitmap | Used by:4065 | |
Symbol 4065 Graphic | Uses:4064 | Used by:4066 |
Symbol 4066 MovieClip | Uses:4065 | Used by:Timeline |
Symbol 4067 Text | Uses:220 | Used by:Timeline |
Symbol 4068 Text | Uses:220 | Used by:Timeline |
Symbol 4069 Graphic | Used by:Timeline | |
Symbol 4070 Text | Uses:220 | Used by:Timeline |
Symbol 4071 Text | Uses:220 | Used by:Timeline |
Symbol 4072 Font | Used by:4073 | |
Symbol 4073 Text | Uses:4072 | Used by:Timeline |
Symbol 4074 Bitmap | Used by:4075 4077 4085 4089 4090 4103 4104 4109 4121 4132 4133 4143 4144 4157 4164 4165 4177 4184 4187 4194 4197 4204 4207 4211 4216 4219 4228 4241 4245 4246 4249 4251 | |
Symbol 4075 Graphic | Uses:4074 | Used by:4076 |
Symbol 4076 Button | Uses:4075 | Used by:Timeline |
Symbol 4077 Graphic | Uses:4074 | Used by:4084 |
Symbol 4078 Text | Uses:220 | Used by:4084 |
Symbol 4079 Bitmap | Used by:4080 | |
Symbol 4080 Graphic | Uses:4079 | Used by:4081 |
Symbol 4081 MovieClip | Uses:4080 | Used by:4084 |
Symbol 4082 Text | Uses:220 | Used by:4084 |
Symbol 4083 Graphic | Used by:4084 4108 | |
Symbol 4084 Button | Uses:4077 4078 4081 4082 4083 | Used by:Timeline |
Symbol 4085 Graphic | Uses:4074 | Used by:4088 |
Symbol 4086 Text | Uses:220 | Used by:4088 |
Symbol 4087 Graphic | Used by:4088 4218 | |
Symbol 4088 Button | Uses:4085 4086 4087 | Used by:Timeline |
Symbol 4089 Graphic | Uses:4074 | Used by:4102 |
Symbol 4090 Graphic | Uses:4074 | Used by:4102 |
Symbol 4091 Text | Uses:220 | Used by:4102 |
Symbol 4092 Text | Uses:220 | Used by:4102 |
Symbol 4093 Text | Uses:220 | Used by:4100 |
Symbol 4094 Text | Uses:220 | Used by:4100 |
Symbol 4095 Text | Uses:220 | Used by:4100 |
Symbol 4096 Text | Uses:220 | Used by:4100 |
Symbol 4097 Text | Uses:220 | Used by:4100 |
Symbol 4098 Bitmap | Used by:4099 | |
Symbol 4099 Graphic | Uses:4098 | Used by:4100 |
Symbol 4100 MovieClip | Uses:4093 4094 4095 4096 4097 4099 | Used by:4102 |
Symbol 4101 Graphic | Used by:4102 | |
Symbol 4102 Button | Uses:4089 4090 4091 4092 4100 4101 | Used by:Timeline |
Symbol 4103 Graphic | Uses:4074 | Used by:4108 |
Symbol 4104 Graphic | Uses:4074 | Used by:4108 |
Symbol 4105 Text | Uses:220 | Used by:4108 |
Symbol 4106 Text | Uses:220 | Used by:4108 |
Symbol 4107 Text | Uses:220 | Used by:4108 |
Symbol 4108 Button | Uses:4103 4104 4105 4106 4107 4083 | Used by:Timeline |
Symbol 4109 Graphic | Uses:4074 | Used by:4120 |
Symbol 4110 Text | Uses:220 | Used by:4120 |
Symbol 4111 Text | Uses:220 | Used by:4118 |
Symbol 4112 Text | Uses:220 | Used by:4118 |
Symbol 4113 Text | Uses:220 | Used by:4118 |
Symbol 4114 Text | Uses:220 | Used by:4118 |
Symbol 4115 Text | Uses:220 | Used by:4118 |
Symbol 4116 Bitmap | Used by:4117 | |
Symbol 4117 Graphic | Uses:4116 | Used by:4118 |
Symbol 4118 MovieClip | Uses:4111 4112 4113 4114 4115 4117 | Used by:4120 |
Symbol 4119 Graphic | Used by:4120 4131 4142 4156 4163 4176 4183 4186 4193 4196 4203 4206 | |
Symbol 4120 Button | Uses:4109 4110 4118 4119 | Used by:Timeline |
Symbol 4121 Graphic | Uses:4074 | Used by:4131 |
Symbol 4122 Text | Uses:220 | Used by:4131 |
Symbol 4123 Text | Uses:220 | Used by:4130 |
Symbol 4124 Text | Uses:220 | Used by:4130 |
Symbol 4125 Text | Uses:220 | Used by:4130 |
Symbol 4126 Text | Uses:220 | Used by:4130 |
Symbol 4127 Text | Uses:220 | Used by:4130 |
Symbol 4128 Bitmap | Used by:4129 | |
Symbol 4129 Graphic | Uses:4128 | Used by:4130 |
Symbol 4130 MovieClip | Uses:4123 4124 4125 4126 4127 4129 | Used by:4131 4215 |
Symbol 4131 Button | Uses:4121 4122 4130 4119 | Used by:Timeline |
Symbol 4132 Graphic | Uses:4074 | Used by:4142 |
Symbol 4133 Graphic | Uses:4074 | Used by:4142 |
Symbol 4134 Text | Uses:220 | Used by:4142 |
Symbol 4135 Bitmap | Used by:4136 | |
Symbol 4136 Graphic | Uses:4135 | Used by:4137 |
Symbol 4137 MovieClip | Uses:4136 | Used by:4142 |
Symbol 4138 Bitmap | Used by:4139 | |
Symbol 4139 Graphic | Uses:4138 | Used by:4140 |
Symbol 4140 MovieClip | Uses:4139 | Used by:4142 |
Symbol 4141 Text | Uses:220 | Used by:4142 4156 4176 |
Symbol 4142 Button | Uses:4132 4133 4134 4137 4140 4141 4119 | Used by:Timeline |
Symbol 4143 Graphic | Uses:4074 | Used by:4156 |
Symbol 4144 Graphic | Uses:4074 | Used by:4156 |
Symbol 4145 Text | Uses:220 | Used by:4156 |
Symbol 4146 Bitmap | Used by:4147 | |
Symbol 4147 Graphic | Uses:4146 | Used by:4148 |
Symbol 4148 MovieClip | Uses:4147 | Used by:4156 |
Symbol 4149 Text | Uses:220 | Used by:4156 |
Symbol 4150 Bitmap | Used by:4151 | |
Symbol 4151 Graphic | Uses:4150 | Used by:4152 |
Symbol 4152 MovieClip | Uses:4151 | Used by:4156 |
Symbol 4153 Bitmap | Used by:4154 | |
Symbol 4154 Graphic | Uses:4153 | Used by:4155 |
Symbol 4155 MovieClip | Uses:4154 | Used by:4156 |
Symbol 4156 Button | Uses:4143 4144 4145 4148 4149 4152 4141 4155 4119 | Used by:Timeline |
Symbol 4157 Graphic | Uses:4074 | Used by:4163 |
Symbol 4158 Text | Uses:220 | Used by:4163 |
Symbol 4159 Bitmap | Used by:4160 | |
Symbol 4160 Graphic | Uses:4159 | Used by:4161 |
Symbol 4161 MovieClip | Uses:4160 | Used by:4163 |
Symbol 4162 Text | Uses:220 | Used by:4163 |
Symbol 4163 Button | Uses:4157 4158 4161 4162 4119 | Used by:Timeline |
Symbol 4164 Graphic | Uses:4074 | Used by:4176 |
Symbol 4165 Graphic | Uses:4074 | Used by:4176 |
Symbol 4166 Bitmap | Used by:4167 | |
Symbol 4167 Graphic | Uses:4166 | Used by:4168 |
Symbol 4168 MovieClip | Uses:4167 | Used by:4176 4203 |
Symbol 4169 Text | Uses:220 | Used by:4176 |
Symbol 4170 Bitmap | Used by:4171 | |
Symbol 4171 Graphic | Uses:4170 | Used by:4172 |
Symbol 4172 MovieClip | Uses:4171 | Used by:4176 |
Symbol 4173 Bitmap | Used by:4174 | |
Symbol 4174 Graphic | Uses:4173 | Used by:4175 |
Symbol 4175 MovieClip | Uses:4174 | Used by:4176 |
Symbol 4176 Button | Uses:4164 4165 4168 4169 4172 4175 4141 4119 | Used by:Timeline |
Symbol 4177 Graphic | Uses:4074 | Used by:4183 |
Symbol 4178 Text | Uses:220 | Used by:4183 |
Symbol 4179 Bitmap | Used by:4180 | |
Symbol 4180 Graphic | Uses:4179 | Used by:4181 |
Symbol 4181 MovieClip | Uses:4180 | Used by:4183 |
Symbol 4182 Text | Uses:220 | Used by:4183 |
Symbol 4183 Button | Uses:4177 4178 4181 4182 4119 | Used by:Timeline |
Symbol 4184 Graphic | Uses:4074 | Used by:4186 |
Symbol 4185 Text | Uses:220 | Used by:4186 |
Symbol 4186 Button | Uses:4184 4185 4119 | Used by:Timeline |
Symbol 4187 Graphic | Uses:4074 | Used by:4193 |
Symbol 4188 Text | Uses:220 | Used by:4193 |
Symbol 4189 Bitmap | Used by:4190 | |
Symbol 4190 Graphic | Uses:4189 | Used by:4191 |
Symbol 4191 MovieClip | Uses:4190 | Used by:4193 4196 |
Symbol 4192 Text | Uses:220 | Used by:4193 4196 |
Symbol 4193 Button | Uses:4187 4188 4191 4192 4119 | Used by:Timeline |
Symbol 4194 Graphic | Uses:4074 | Used by:4196 |
Symbol 4195 Text | Uses:220 | Used by:4196 |
Symbol 4196 Button | Uses:4194 4195 4191 4192 4119 | Used by:Timeline |
Symbol 4197 Graphic | Uses:4074 | Used by:4203 |
Symbol 4198 Text | Uses:220 | Used by:4203 |
Symbol 4199 Bitmap | Used by:4200 | |
Symbol 4200 Graphic | Uses:4199 | Used by:4201 |
Symbol 4201 MovieClip | Uses:4200 | Used by:4203 |
Symbol 4202 Text | Uses:220 | Used by:4203 |
Symbol 4203 Button | Uses:4197 4198 1639 2269 4168 4201 4202 4119 | Used by:Timeline |
Symbol 4204 Graphic | Uses:4074 | Used by:4206 |
Symbol 4205 Text | Uses:220 | Used by:4206 |
Symbol 4206 Button | Uses:4204 4205 4119 | Used by:Timeline |
Symbol 4207 Graphic | Uses:4074 | Used by:4210 |
Symbol 4208 Text | Uses:220 | Used by:4210 |
Symbol 4209 Graphic | Used by:4210 | |
Symbol 4210 Button | Uses:4207 4208 4209 | Used by:Timeline |
Symbol 4211 Graphic | Uses:4074 | Used by:4215 |
Symbol 4212 Text | Uses:220 | Used by:4215 |
Symbol 4213 Text | Uses:220 | Used by:4215 |
Symbol 4214 Graphic | Used by:4215 | |
Symbol 4215 Button | Uses:4211 4212 4130 4213 4214 | Used by:Timeline |
Symbol 4216 Graphic | Uses:4074 | Used by:4218 |
Symbol 4217 Text | Uses:220 | Used by:4218 |
Symbol 4218 Button | Uses:4216 4217 4087 | Used by:Timeline |
Symbol 4219 Graphic | Uses:4074 | Used by:4227 |
Symbol 4220 Text | Uses:220 | Used by:4227 |
Symbol 4221 Bitmap | Used by:4222 | |
Symbol 4222 Graphic | Uses:4221 | Used by:4227 |
Symbol 4223 Text | Uses:220 | Used by:4227 |
Symbol 4224 Text | Uses:220 | Used by:4227 |
Symbol 4225 Text | Uses:220 | Used by:4227 |
Symbol 4226 Text | Uses:220 | Used by:4227 |
Symbol 4227 Button | Uses:4219 4220 4222 4223 4224 4225 4226 | Used by:Timeline |
Symbol 4228 Graphic | Uses:4074 | Used by:4238 4240 |
Symbol 4229 Bitmap | Used by:4230 | |
Symbol 4230 Graphic | Uses:4229 | Used by:4240 |
Symbol 4231 Text | Uses:220 | Used by:4240 |
Symbol 4232 Text | Uses:220 | Used by:4240 |
Symbol 4233 Text | Uses:220 | Used by:4240 |
Symbol 4234 Text | Uses:220 | Used by:4240 |
Symbol 4235 Bitmap | Used by:4236 | |
Symbol 4236 Graphic | Uses:4235 | Used by:4240 |
Symbol 4237 Text | Uses:220 | Used by:4240 |
Symbol 4238 MovieClip | Uses:4228 | Used by:4240 |
Symbol 4239 Graphic | Used by:4240 | |
Symbol 4240 Button | Uses:4228 4230 4231 4232 4233 4234 4236 4237 4238 4239 | Used by:Timeline |
Symbol 4241 Graphic | Uses:4074 | Used by:4244 |
Symbol 4242 Text | Uses:220 | Used by:4244 |
Symbol 4243 Graphic | Used by:4244 | |
Symbol 4244 Button | Uses:4241 4242 4243 | Used by:Timeline |
Symbol 4245 Graphic | Uses:4074 | Used by:4250 |
Symbol 4246 Graphic | Uses:4074 | Used by:4250 |
Symbol 4247 Text | Uses:220 | Used by:4250 |
Symbol 4248 Graphic | Used by:4250 | |
Symbol 4249 Graphic | Uses:4074 | Used by:4250 |
Symbol 4250 Button | Uses:4245 4246 4247 4248 4249 | Used by:Timeline |
Symbol 4251 Graphic | Uses:4074 | Used by:Timeline |
Symbol 4252 Text | Uses:220 | Used by:Timeline |
Symbol 4253 Text | Uses:220 | Used by:Timeline |
Symbol 4254 Text | Uses:745 | Used by:Timeline |
Symbol 4255 Text | Uses:220 | Used by:Timeline |
Symbol 4256 Text | Uses:220 | Used by:Timeline |
Symbol 4257 Text | Uses:220 | Used by:Timeline |
Symbol 4258 Text | Uses:220 | Used by:Timeline |
Symbol 4259 Text | Uses:220 | Used by:Timeline |
Symbol 4260 Bitmap | Used by:4262 4267 4272 | |
Symbol 4261 Bitmap | Used by:4262 4267 4272 | |
Symbol 4262 Graphic | Uses:4260 4261 | Used by:Timeline |
Symbol 4263 Text | Uses:220 | Used by:Timeline |
Symbol 4264 Text | Uses:220 | Used by:Timeline |
Symbol 4265 Text | Uses:220 | Used by:Timeline |
Symbol 4266 Text | Uses:220 | Used by:Timeline |
Symbol 4267 Graphic | Uses:4261 4260 | Used by:Timeline |
Symbol 4268 Text | Uses:220 | Used by:Timeline |
Symbol 4269 Text | Uses:220 | Used by:Timeline |
Symbol 4270 Text | Uses:220 | Used by:Timeline |
Symbol 4271 Text | Uses:220 | Used by:Timeline |
Symbol 4272 Graphic | Uses:4260 4261 | Used by:Timeline |
Symbol 4273 Text | Uses:220 | Used by:Timeline |
Symbol 4274 Text | Uses:220 | Used by:Timeline |
Symbol 4275 Text | Uses:220 | Used by:Timeline |
Symbol 4276 Text | Uses:220 | Used by:Timeline |
Symbol 4277 Text | Uses:220 | Used by:Timeline |
Symbol 4278 Bitmap | Used by:4279 | |
Symbol 4279 Graphic | Uses:4278 | Used by:Timeline |
Symbol 4280 Text | Uses:220 | Used by:Timeline |
Symbol 4281 Text | Uses:220 | Used by:Timeline |
Symbol 4282 Text | Uses:220 | Used by:Timeline |
Symbol 4283 Text | Uses:220 | Used by:Timeline |
Symbol 4284 Text | Uses:220 | Used by:Timeline |
Symbol 4285 Text | Uses:220 | Used by:Timeline |
Symbol 4286 Text | Uses:220 | Used by:Timeline |
Symbol 4287 Text | Uses:220 | Used by:Timeline |
Symbol 4288 Text | Uses:220 | Used by:Timeline |
Symbol 4289 Text | Uses:220 | Used by:Timeline |
Symbol 4290 Text | Uses:220 | Used by:Timeline |
Symbol 4291 Text | Uses:220 | Used by:Timeline |
Symbol 4292 Text | Uses:220 | Used by:Timeline |
Symbol 4293 Text | Uses:220 | Used by:Timeline |
Symbol 4294 Text | Uses:220 | Used by:Timeline |
Symbol 4295 Text | Uses:220 | Used by:Timeline |
Symbol 4296 Text | Uses:220 | Used by:Timeline |
Symbol 4297 Text | Uses:220 | Used by:Timeline |
Symbol 4298 Text | Uses:220 | Used by:Timeline |
Symbol 4299 Text | Uses:220 | Used by:Timeline |
Symbol 4300 Text | Uses:220 | Used by:Timeline |
Symbol 4301 Graphic | Used by:Timeline | |
Symbol 4302 Text | Uses:220 | Used by:Timeline |
Symbol 4303 Text | Uses:220 | Used by:Timeline |
Symbol 4304 Text | Uses:220 | Used by:Timeline |
Symbol 4305 Text | Uses:220 | Used by:Timeline |
Symbol 4306 Text | Uses:220 | Used by:Timeline |
Symbol 4307 Graphic | Used by:Timeline | |
Symbol 4308 Text | Uses:220 | Used by:Timeline |
Symbol 4309 Text | Uses:220 | Used by:Timeline |
Symbol 4310 Text | Uses:220 | Used by:Timeline |
Symbol 4311 EditableText | Uses:1178 | Used by:Timeline |
Symbol 4312 Button | Uses:1749 | Used by:Timeline |
Symbol 4313 Text | Uses:220 | Used by:Timeline |
Symbol 4314 Text | Uses:220 | Used by:Timeline |
Symbol 4315 Text | Uses:220 | Used by:Timeline |
Symbol 4316 Text | Uses:220 | Used by:Timeline |
Symbol 4317 Text | Uses:220 | Used by:Timeline |
Symbol 4318 Bitmap | Used by:4319 | |
Symbol 4319 Graphic | Uses:4318 | Used by:Timeline |
Symbol 4320 Text | Uses:220 | Used by:Timeline |
Symbol 4321 Bitmap | Used by:4322 | |
Symbol 4322 Graphic | Uses:4321 | Used by:Timeline |
Symbol 4323 Text | Uses:220 | Used by:Timeline |
Symbol 4324 Text | Uses:220 | Used by:Timeline |
Symbol 4325 Bitmap | Used by:4326 | |
Symbol 4326 Graphic | Uses:4325 | Used by:4327 |
Symbol 4327 MovieClip | Uses:4326 | Used by:Timeline |
Symbol 4328 Text | Uses:220 | Used by:Timeline |
Symbol 4329 Text | Uses:220 | Used by:Timeline |
Symbol 4330 Bitmap | Used by:4331 | |
Symbol 4331 Graphic | Uses:4330 | Used by:Timeline |
Symbol 4332 Text | Uses:220 | Used by:Timeline |
Symbol 4333 Text | Uses:220 | Used by:Timeline |
Symbol 4334 Text | Uses:736 | Used by:Timeline |
Symbol 4335 Text | Uses:736 | Used by:Timeline |
Symbol 4336 Text | Uses:736 | Used by:Timeline |
Symbol 4337 Text | Uses:736 | Used by:Timeline |
Symbol 4338 Bitmap | Used by:4339 | |
Symbol 4339 Graphic | Uses:4338 | Used by:Timeline |
Symbol 4340 Text | Uses:220 | Used by:Timeline |
Symbol 4341 Text | Uses:220 | Used by:Timeline |
Symbol 4342 EditableText | Uses:727 | Used by:Timeline |
Symbol 4343 Text | Uses:220 | Used by:Timeline |
Symbol 4344 Text | Uses:220 | Used by:Timeline |
Symbol 4345 Text | Uses:220 | Used by:4349 |
Symbol 4346 Text | Uses:220 | Used by:4349 |
Symbol 4347 Bitmap | Used by:4348 | |
Symbol 4348 Graphic | Uses:4347 | Used by:4349 |
Symbol 4349 MovieClip | Uses:4345 4346 4348 | Used by:Timeline |
Symbol 4350 Text | Uses:220 | Used by:Timeline |
Symbol 4351 Bitmap | Used by:4352 | |
Symbol 4352 Graphic | Uses:4351 | Used by:4353 |
Symbol 4353 MovieClip | Uses:4352 | Used by:Timeline |
Symbol 4354 Text | Uses:220 | Used by:Timeline |
Symbol 4355 Text | Uses:220 | Used by:Timeline |
Symbol 4356 Text | Uses:220 | Used by:Timeline |
Symbol 4357 Bitmap | Used by:4358 | |
Symbol 4358 Graphic | Uses:4357 | Used by:4359 |
Symbol 4359 MovieClip | Uses:4358 | Used by:Timeline |
Symbol 4360 Text | Uses:220 | Used by:Timeline |
Symbol 4361 Bitmap | Used by:4362 | |
Symbol 4362 Graphic | Uses:4361 | Used by:4363 |
Symbol 4363 MovieClip | Uses:4362 | Used by:Timeline |
Symbol 4364 Text | Uses:220 | Used by:Timeline |
Symbol 4365 Text | Uses:220 | Used by:Timeline |
Symbol 4366 Text | Uses:220 | Used by:4369 |
Symbol 4367 Text | Uses:220 | Used by:4369 |
Symbol 4368 Text | Uses:220 | Used by:4369 |
Symbol 4369 Button | Uses:4366 4367 4368 1592 | Used by:4400 |
Symbol 4370 Text | Uses:220 | Used by:4373 |
Symbol 4371 Text | Uses:220 | Used by:4373 |
Symbol 4372 Text | Uses:220 | Used by:4373 |
Symbol 4373 Button | Uses:4370 4371 4372 1592 | Used by:4400 |
Symbol 4374 Text | Uses:220 | Used by:4378 |
Symbol 4375 Text | Uses:220 | Used by:4378 |
Symbol 4376 Text | Uses:220 | Used by:4378 |
Symbol 4377 Text | Uses:220 | Used by:4378 |
Symbol 4378 Button | Uses:4374 4375 4376 1592 4377 | Used by:4400 |
Symbol 4379 Text | Uses:220 | Used by:4382 |
Symbol 4380 Text | Uses:220 | Used by:4382 |
Symbol 4381 Text | Uses:220 | Used by:4382 |
Symbol 4382 Button | Uses:4379 4380 4381 1592 | Used by:4400 |
Symbol 4383 Text | Uses:220 | Used by:4386 |
Symbol 4384 Text | Uses:220 | Used by:4386 |
Symbol 4385 Text | Uses:220 | Used by:4386 |
Symbol 4386 Button | Uses:4383 4384 4385 1592 | Used by:4400 |
Symbol 4387 Text | Uses:220 | Used by:4390 |
Symbol 4388 Text | Uses:220 | Used by:4390 |
Symbol 4389 Text | Uses:220 | Used by:4390 |
Symbol 4390 Button | Uses:4387 4388 4389 1592 | Used by:4400 |
Symbol 4391 Text | Uses:220 | Used by:4394 |
Symbol 4392 Text | Uses:220 | Used by:4394 |
Symbol 4393 Text | Uses:220 | Used by:4394 |
Symbol 4394 Button | Uses:4391 4392 4393 744 | Used by:4400 |
Symbol 4395 Text | Uses:220 | Used by:4398 |
Symbol 4396 Text | Uses:220 | Used by:4398 |
Symbol 4397 Text | Uses:220 | Used by:4398 |
Symbol 4398 Button | Uses:4395 4396 4397 744 | Used by:4400 |
Symbol 4399 EditableText | Uses:727 | Used by:4400 |
Symbol 4400 MovieClip | Uses:4369 4373 4378 4382 4386 4390 4394 4398 4399 3677 | Used by:Timeline |
Symbol 4401 Font | Used by:4402 | |
Symbol 4402 Text | Uses:4401 | Used by:Timeline |
Symbol 4403 Text | Uses:220 | Used by:Timeline |
Symbol 4404 Text | Uses:220 | Used by:Timeline |
Symbol 4405 Text | Uses:220 | Used by:Timeline |
Symbol 4406 Text | Uses:220 | Used by:Timeline |
Symbol 4407 Text | Uses:220 | Used by:Timeline |
Symbol 4408 Text | Uses:220 | Used by:Timeline |
Symbol 4409 Text | Uses:220 | Used by:Timeline |
Symbol 4410 Text | Uses:220 | Used by:Timeline |
Symbol 4411 Text | Uses:220 | Used by:Timeline |
Symbol 4412 Text | Uses:220 | Used by:Timeline |
Symbol 4413 Text | Uses:220 | Used by:Timeline |
Symbol 4414 Text | Uses:220 | Used by:Timeline |
Symbol 4415 Text | Uses:220 | Used by:Timeline |
Symbol 4416 Text | Uses:220 | Used by:Timeline |
Symbol 4417 Text | Uses:220 | Used by:Timeline |
Symbol 4418 Text | Uses:220 | Used by:Timeline |
Symbol 4419 Text | Uses:220 | Used by:Timeline |
Symbol 4420 Text | Uses:220 | Used by:Timeline |
Symbol 4421 Text | Uses:220 | Used by:Timeline |
Symbol 4422 Text | Uses:220 | Used by:Timeline |
Symbol 4423 Text | Uses:220 | Used by:Timeline |
Symbol 4424 Text | Uses:220 | Used by:Timeline |
Symbol 4425 Text | Uses:220 | Used by:Timeline |
Symbol 4426 Text | Uses:220 | Used by:Timeline |
Symbol 4427 Text | Uses:220 | Used by:Timeline |
Symbol 4428 Text | Uses:220 | Used by:Timeline |
Symbol 4429 Text | Uses:220 | Used by:Timeline |
Symbol 4430 Text | Uses:220 | Used by:Timeline |
Symbol 4431 Text | Uses:220 | Used by:Timeline |
Symbol 4432 Text | Uses:220 | Used by:Timeline |
Symbol 4433 Graphic | Used by:Timeline | |
Symbol 4434 Text | Uses:220 | Used by:Timeline |
Symbol 4435 Text | Uses:220 | Used by:Timeline |
Symbol 4436 Text | Uses:220 | Used by:Timeline |
Symbol 4437 Text | Uses:745 | Used by:Timeline |
Symbol 4438 Text | Uses:220 | Used by:5239 Timeline |
Symbol 4439 Text | Uses:220 | Used by:Timeline |
Symbol 4440 Text | Uses:220 | Used by:Timeline |
Symbol 4441 Text | Uses:220 | Used by:Timeline |
Symbol 4442 Text | Uses:220 | Used by:Timeline |
Symbol 4443 Text | Uses:220 | Used by:Timeline |
Symbol 4444 Text | Uses:220 | Used by:Timeline |
Symbol 4445 Text | Uses:220 | Used by:Timeline |
Symbol 4446 Text | Uses:220 | Used by:Timeline |
Symbol 4447 Text | Uses:220 | Used by:Timeline |
Symbol 4448 Text | Uses:220 | Used by:Timeline |
Symbol 4449 Text | Uses:220 | Used by:Timeline |
Symbol 4450 Text | Uses:220 | Used by:Timeline |
Symbol 4451 Text | Uses:220 | Used by:Timeline |
Symbol 4452 Text | Uses:220 | Used by:Timeline |
Symbol 4453 Text | Uses:220 | Used by:Timeline |
Symbol 4454 Text | Uses:220 | Used by:Timeline |
Symbol 4455 Text | Uses:220 | Used by:Timeline |
Symbol 4456 Text | Uses:220 | Used by:Timeline |
Symbol 4457 Text | Uses:220 | Used by:Timeline |
Symbol 4458 Text | Uses:220 | Used by:Timeline |
Symbol 4459 Text | Uses:220 | Used by:Timeline |
Symbol 4460 Text | Uses:220 | Used by:Timeline |
Symbol 4461 Text | Uses:220 | Used by:4462 |
Symbol 4462 Button | Uses:4461 | Used by:Timeline |
Symbol 4463 Text | Uses:220 | Used by:4464 |
Symbol 4464 Button | Uses:4463 | Used by:Timeline |
Symbol 4465 Text | Uses:220 | Used by:Timeline |
Symbol 4466 Text | Uses:220 | Used by:Timeline |
Symbol 4467 Text | Uses:220 | Used by:Timeline |
Symbol 4468 Text | Uses:220 | Used by:Timeline |
Symbol 4469 Text | Uses:220 | Used by:Timeline |
Symbol 4470 Text | Uses:220 | Used by:Timeline |
Symbol 4471 Text | Uses:220 | Used by:Timeline |
Symbol 4472 Graphic | Used by:Timeline | |
Symbol 4473 Text | Uses:220 | Used by:Timeline |
Symbol 4474 Text | Uses:220 | Used by:Timeline |
Symbol 4475 Text | Uses:220 | Used by:Timeline |
Symbol 4476 Text | Uses:220 | Used by:Timeline |
Symbol 4477 Text | Uses:220 | Used by:Timeline |
Symbol 4478 Text | Uses:220 | Used by:Timeline |
Symbol 4479 Text | Uses:220 | Used by:Timeline |
Symbol 4480 Text | Uses:220 | Used by:Timeline |
Symbol 4481 Text | Uses:220 | Used by:Timeline |
Symbol 4482 Text | Uses:220 | Used by:Timeline |
Symbol 4483 Text | Uses:220 | Used by:Timeline |
Symbol 4484 Text | Uses:220 | Used by:Timeline |
Symbol 4485 Text | Uses:220 | Used by:Timeline |
Symbol 4486 Text | Uses:220 | Used by:Timeline |
Symbol 4487 Text | Uses:220 | Used by:Timeline |
Symbol 4488 Text | Uses:220 | Used by:Timeline |
Symbol 4489 Text | Uses:220 | Used by:Timeline |
Symbol 4490 Text | Uses:220 | Used by:Timeline |
Symbol 4491 Text | Uses:220 | Used by:Timeline |
Symbol 4492 Text | Uses:220 | Used by:Timeline |
Symbol 4493 Text | Uses:220 | Used by:Timeline |
Symbol 4494 Text | Uses:220 | Used by:Timeline |
Symbol 4495 Text | Uses:220 | Used by:Timeline |
Symbol 4496 Text | Uses:220 | Used by:Timeline |
Symbol 4497 Text | Uses:220 | Used by:Timeline |
Symbol 4498 Text | Uses:220 | Used by:Timeline |
Symbol 4499 Text | Uses:220 | Used by:Timeline |
Symbol 4500 Font | Used by:4501 4505 4826 4828 5115 5118 5161 5166 5167 5169 5176 5178 5217 5218 5313 5321 5323 5326 5328 5333 5338 5345 5348 5350 5357 5359 5362 5367 5371 5384 5387 5393 5397 5400 5401 5404 5406 5408 5411 5418 5420 5426 5432 5434 5439 5441 5444 5447 5450 5452 5551 5555 5558 5560 5563 5565 5569 5571 5574 5576 5579 5583 5588 5593 5594 5595 5596 5598 5603 5609 5612 5619 | |
Symbol 4501 Text | Uses:4500 | Used by:Timeline |
Symbol 4502 Text | Uses:220 | Used by:Timeline |
Symbol 4503 Text | Uses:220 | Used by:Timeline |
Symbol 4504 Text | Uses:220 | Used by:Timeline |
Symbol 4505 Text | Uses:4500 | Used by:Timeline |
Symbol 4506 Text | Uses:220 | Used by:Timeline |
Symbol 4507 Text | Uses:220 | Used by:Timeline |
Symbol 4508 Text | Uses:220 | Used by:Timeline |
Symbol 4509 Text | Uses:220 | Used by:Timeline |
Symbol 4510 Text | Uses:220 | Used by:Timeline |
Symbol 4511 Text | Uses:220 | Used by:Timeline |
Symbol 4512 Text | Uses:220 | Used by:Timeline |
Symbol 4513 Text | Uses:220 | Used by:Timeline |
Symbol 4514 Text | Uses:220 | Used by:Timeline |
Symbol 4515 Text | Uses:220 | Used by:Timeline |
Symbol 4516 Text | Uses:220 | Used by:Timeline |
Symbol 4517 Text | Uses:220 | Used by:Timeline |
Symbol 4518 Text | Uses:220 | Used by:Timeline |
Symbol 4519 Text | Uses:220 | Used by:Timeline |
Symbol 4520 Text | Uses:220 | Used by:Timeline |
Symbol 4521 Text | Uses:220 | Used by:Timeline |
Symbol 4522 Text | Uses:220 | Used by:Timeline |
Symbol 4523 Text | Uses:220 | Used by:Timeline |
Symbol 4524 Text | Uses:220 | Used by:Timeline |
Symbol 4525 Text | Uses:220 | Used by:Timeline |
Symbol 4526 Text | Uses:220 | Used by:Timeline |
Symbol 4527 Text | Uses:220 | Used by:Timeline |
Symbol 4528 Text | Uses:220 | Used by:Timeline |
Symbol 4529 Text | Uses:220 | Used by:Timeline |
Symbol 4530 Text | Uses:220 | Used by:Timeline |
Symbol 4531 Text | Uses:220 | Used by:Timeline |
Symbol 4532 Text | Uses:220 | Used by:Timeline |
Symbol 4533 Text | Uses:220 | Used by:Timeline |
Symbol 4534 Text | Uses:220 | Used by:Timeline |
Symbol 4535 Text | Uses:220 | Used by:Timeline |
Symbol 4536 Text | Uses:220 | Used by:Timeline |
Symbol 4537 Text | Uses:220 | Used by:Timeline |
Symbol 4538 Text | Uses:220 | Used by:Timeline |
Symbol 4539 Text | Uses:220 | Used by:Timeline |
Symbol 4540 Text | Uses:220 | Used by:Timeline |
Symbol 4541 Text | Uses:220 | Used by:Timeline |
Symbol 4542 Text | Uses:220 | Used by:Timeline |
Symbol 4543 Text | Uses:220 | Used by:4544 |
Symbol 4544 Button | Uses:4543 | Used by:Timeline |
Symbol 4545 Text | Uses:220 | Used by:Timeline |
Symbol 4546 Text | Uses:220 | Used by:Timeline |
Symbol 4547 Text | Uses:220 | Used by:Timeline |
Symbol 4548 Text | Uses:220 | Used by:Timeline |
Symbol 4549 Text | Uses:220 | Used by:Timeline |
Symbol 4550 Text | Uses:220 | Used by:Timeline |
Symbol 4551 Text | Uses:220 | Used by:Timeline |
Symbol 4552 Text | Uses:220 | Used by:Timeline |
Symbol 4553 Text | Uses:220 | Used by:Timeline |
Symbol 4554 Text | Uses:220 | Used by:Timeline |
Symbol 4555 Text | Uses:220 | Used by:Timeline |
Symbol 4556 Text | Uses:220 | Used by:Timeline |
Symbol 4557 Text | Uses:220 | Used by:Timeline |
Symbol 4558 Text | Uses:220 | Used by:Timeline |
Symbol 4559 Text | Uses:220 | Used by:Timeline |
Symbol 4560 MovieClip | Used by:Timeline | |
Symbol 4561 Text | Uses:220 | Used by:Timeline |
Symbol 4562 Text | Uses:220 | Used by:Timeline |
Symbol 4563 Text | Uses:220 | Used by:Timeline |
Symbol 4564 Text | Uses:220 | Used by:Timeline |
Symbol 4565 Text | Uses:220 | Used by:Timeline |
Symbol 4566 Text | Uses:220 | Used by:Timeline |
Symbol 4567 Text | Uses:220 | Used by:Timeline |
Symbol 4568 Text | Uses:220 | Used by:Timeline |
Symbol 4569 Text | Uses:220 | Used by:Timeline |
Symbol 4570 Text | Uses:220 | Used by:Timeline |
Symbol 4571 Text | Uses:220 | Used by:Timeline |
Symbol 4572 Text | Uses:220 | Used by:Timeline |
Symbol 4573 Text | Uses:220 | Used by:Timeline |
Symbol 4574 Text | Uses:220 | Used by:Timeline |
Symbol 4575 Text | Uses:220 | Used by:Timeline |
Symbol 4576 Text | Uses:220 | Used by:Timeline |
Symbol 4577 Text | Uses:220 | Used by:4580 |
Symbol 4578 Bitmap | Used by:4579 | |
Symbol 4579 Graphic | Uses:4578 | Used by:4580 |
Symbol 4580 MovieClip | Uses:4577 4579 | Used by:Timeline |
Symbol 4581 Text | Uses:220 | Used by:Timeline |
Symbol 4582 Text | Uses:220 | Used by:Timeline |
Symbol 4583 Text | Uses:220 | Used by:Timeline |
Symbol 4584 Bitmap | Used by:4585 | |
Symbol 4585 Graphic | Uses:4584 | Used by:4586 |
Symbol 4586 MovieClip | Uses:4585 | Used by:Timeline |
Symbol 4587 Bitmap | Used by:4588 | |
Symbol 4588 Graphic | Uses:4587 | Used by:4589 |
Symbol 4589 MovieClip | Uses:4588 | Used by:Timeline |
Symbol 4590 Text | Uses:220 | Used by:Timeline |
Symbol 4591 Bitmap | Used by:4592 | |
Symbol 4592 Graphic | Uses:4591 | Used by:4593 |
Symbol 4593 MovieClip | Uses:4592 | Used by:Timeline |
Symbol 4594 Text | Uses:220 | Used by:Timeline |
Symbol 4595 Text | Uses:220 | Used by:Timeline |
Symbol 4596 Text | Uses:220 | Used by:Timeline |
Symbol 4597 Text | Uses:220 | Used by:Timeline |
Symbol 4598 Bitmap | Used by:4599 | |
Symbol 4599 Graphic | Uses:4598 | Used by:4600 |
Symbol 4600 MovieClip | Uses:4599 | Used by:Timeline |
Symbol 4601 Text | Uses:220 | Used by:Timeline |
Symbol 4602 Text | Uses:220 | Used by:Timeline |
Symbol 4603 Text | Uses:220 | Used by:Timeline |
Symbol 4604 Text | Uses:220 | Used by:Timeline |
Symbol 4605 Text | Uses:220 | Used by:Timeline |
Symbol 4606 Text | Uses:220 | Used by:Timeline |
Symbol 4607 Bitmap | Used by:4608 | |
Symbol 4608 Graphic | Uses:4607 | Used by:Timeline |
Symbol 4609 Text | Uses:220 | Used by:Timeline |
Symbol 4610 Text | Uses:220 | Used by:Timeline |
Symbol 4611 Text | Uses:220 | Used by:Timeline |
Symbol 4612 Text | Uses:220 | Used by:Timeline |
Symbol 4613 Text | Uses:220 | Used by:Timeline |
Symbol 4614 Text | Uses:220 | Used by:4615 |
Symbol 4615 Button | Uses:2657 2658 4614 744 | Used by:4639 |
Symbol 4616 Text | Uses:220 | Used by:4619 |
Symbol 4617 Text | Uses:220 | Used by:4619 |
Symbol 4618 Text | Uses:220 | Used by:4619 |
Symbol 4619 Button | Uses:4616 4617 4618 744 | Used by:4639 |
Symbol 4620 Text | Uses:220 | Used by:4623 |
Symbol 4621 Text | Uses:220 | Used by:4623 |
Symbol 4622 Text | Uses:220 | Used by:4623 |
Symbol 4623 Button | Uses:4620 4621 4622 744 | Used by:4639 |
Symbol 4624 Text | Uses:220 | Used by:4627 |
Symbol 4625 Text | Uses:220 | Used by:4627 |
Symbol 4626 Text | Uses:220 | Used by:4627 |
Symbol 4627 Button | Uses:4624 4625 4626 744 | Used by:4639 |
Symbol 4628 Text | Uses:220 | Used by:4632 |
Symbol 4629 Text | Uses:220 | Used by:4632 |
Symbol 4630 Text | Uses:220 | Used by:4632 |
Symbol 4631 Graphic | Used by:4632 | |
Symbol 4632 Button | Uses:4628 4629 4630 4631 | Used by:4639 |
Symbol 4633 Text | Uses:220 | Used by:4637 |
Symbol 4634 Text | Uses:220 | Used by:4637 |
Symbol 4635 Text | Uses:220 | Used by:4637 |
Symbol 4636 Graphic | Used by:4637 | |
Symbol 4637 Button | Uses:4633 4634 4635 4636 | Used by:4639 |
Symbol 4638 EditableText | Uses:727 | Used by:4639 |
Symbol 4639 MovieClip | Uses:4615 4619 4623 4627 4632 4637 4638 3677 | Used by:Timeline |
Symbol 4640 Text | Uses:220 | Used by:Timeline |
Symbol 4641 Text | Uses:220 | Used by:Timeline |
Symbol 4642 Text | Uses:220 | Used by:Timeline |
Symbol 4643 Text | Uses:220 | Used by:Timeline |
Symbol 4644 Bitmap | Used by:4645 | |
Symbol 4645 Graphic | Uses:4644 | Used by:4646 |
Symbol 4646 MovieClip | Uses:4645 | Used by:Timeline |
Symbol 4647 Text | Uses:220 | Used by:Timeline |
Symbol 4648 Bitmap | Used by:4649 | |
Symbol 4649 Graphic | Uses:4648 | Used by:4650 |
Symbol 4650 MovieClip | Uses:4649 | Used by:Timeline |
Symbol 4651 Text | Uses:220 | Used by:Timeline |
Symbol 4652 Text | Uses:220 | Used by:Timeline |
Symbol 4653 Bitmap | Used by:4654 | |
Symbol 4654 Graphic | Uses:4653 | Used by:4655 |
Symbol 4655 MovieClip | Uses:4654 | Used by:Timeline |
Symbol 4656 Text | Uses:220 | Used by:Timeline |
Symbol 4657 Bitmap | Used by:4658 | |
Symbol 4658 Graphic | Uses:4657 | Used by:4659 |
Symbol 4659 MovieClip | Uses:4658 | Used by:Timeline |
Symbol 4660 Text | Uses:220 | Used by:Timeline |
Symbol 4661 Text | Uses:220 | Used by:Timeline |
Symbol 4662 Text | Uses:220 | Used by:Timeline |
Symbol 4663 Bitmap | Used by:4664 | |
Symbol 4664 Graphic | Uses:4663 | Used by:4665 |
Symbol 4665 MovieClip | Uses:4664 | Used by:Timeline |
Symbol 4666 Text | Uses:220 | Used by:Timeline |
Symbol 4667 Text | Uses:220 | Used by:Timeline |
Symbol 4668 Text | Uses:220 | Used by:Timeline |
Symbol 4669 Text | Uses:220 | Used by:Timeline |
Symbol 4670 Text | Uses:220 | Used by:Timeline |
Symbol 4671 Bitmap | Used by:4672 | |
Symbol 4672 Graphic | Uses:4671 | Used by:4673 |
Symbol 4673 MovieClip | Uses:4672 | Used by:Timeline |
Symbol 4674 Text | Uses:220 | Used by:Timeline |
Symbol 4675 Bitmap | Used by:4676 | |
Symbol 4676 Graphic | Uses:4675 | Used by:4677 |
Symbol 4677 MovieClip | Uses:4676 | Used by:Timeline |
Symbol 4678 Text | Uses:220 | Used by:Timeline |
Symbol 4679 Text | Uses:220 | Used by:Timeline |
Symbol 4680 Bitmap | Used by:4681 | |
Symbol 4681 Graphic | Uses:4680 | Used by:4682 |
Symbol 4682 MovieClip | Uses:4681 | Used by:Timeline |
Symbol 4683 Text | Uses:220 | Used by:Timeline |
Symbol 4684 Text | Uses:220 | Used by:Timeline |
Symbol 4685 Text | Uses:220 | Used by:Timeline |
Symbol 4686 Text | Uses:220 | Used by:Timeline |
Symbol 4687 Text | Uses:220 | Used by:Timeline |
Symbol 4688 Text | Uses:220 | Used by:Timeline |
Symbol 4689 Text | Uses:220 | Used by:Timeline |
Symbol 4690 Bitmap | Used by:4691 | |
Symbol 4691 Graphic | Uses:4690 | Used by:4692 |
Symbol 4692 MovieClip | Uses:4691 | Used by:Timeline |
Symbol 4693 Text | Uses:220 | Used by:Timeline |
Symbol 4694 Text | Uses:220 | Used by:Timeline |
Symbol 4695 Bitmap | Used by:4696 | |
Symbol 4696 Graphic | Uses:4695 | Used by:4697 |
Symbol 4697 MovieClip | Uses:4696 | Used by:Timeline |
Symbol 4698 Text | Uses:220 | Used by:Timeline |
Symbol 4699 Text | Uses:220 | Used by:Timeline |
Symbol 4700 Bitmap | Used by:4701 | |
Symbol 4701 Graphic | Uses:4700 | Used by:4702 |
Symbol 4702 MovieClip | Uses:4701 | Used by:Timeline |
Symbol 4703 Text | Uses:220 | Used by:Timeline |
Symbol 4704 Bitmap | Used by:4705 | |
Symbol 4705 Graphic | Uses:4704 | Used by:4706 |
Symbol 4706 MovieClip | Uses:4705 | Used by:Timeline |
Symbol 4707 Text | Uses:220 | Used by:Timeline |
Symbol 4708 Text | Uses:220 | Used by:Timeline |
Symbol 4709 Bitmap | Used by:4710 | |
Symbol 4710 Graphic | Uses:4709 | Used by:4711 |
Symbol 4711 MovieClip | Uses:4710 | Used by:Timeline |
Symbol 4712 Bitmap | Used by:4713 4717 4721 4725 4731 4733 4735 4737 4740 4741 4745 | |
Symbol 4713 Graphic | Uses:4712 | Used by:4714 |
Symbol 4714 MovieClip | Uses:4713 | Used by:Timeline |
Symbol 4715 Text | Uses:220 | Used by:Timeline |
Symbol 4716 Text | Uses:220 | Used by:Timeline |
Symbol 4717 Graphic | Uses:4712 | Used by:4720 |
Symbol 4718 Text | Uses:220 | Used by:4720 |
Symbol 4719 Graphic | Used by:4720 | |
Symbol 4720 Button | Uses:4717 4718 4719 | Used by:4747 |
Symbol 4721 Graphic | Uses:4712 | Used by:4724 |
Symbol 4722 Text | Uses:220 | Used by:4724 |
Symbol 4723 Graphic | Used by:4724 4730 4732 4736 4739 4743 | |
Symbol 4724 Button | Uses:4721 4722 4723 | Used by:4747 |
Symbol 4725 Graphic | Uses:4712 | Used by:4730 |
Symbol 4726 Text | Uses:220 | Used by:4730 |
Symbol 4727 Bitmap | Used by:4728 | |
Symbol 4728 Graphic | Uses:4727 | Used by:4729 |
Symbol 4729 MovieClip | Uses:4728 | Used by:4730 |
Symbol 4730 Button | Uses:4725 4726 4729 4723 | Used by:4747 |
Symbol 4731 Graphic | Uses:4712 | Used by:4732 |
Symbol 4732 Button | Uses:4731 4723 | Used by:4747 |
Symbol 4733 Graphic | Uses:4712 | Used by:4736 |
Symbol 4734 Text | Uses:220 | Used by:4736 |
Symbol 4735 Graphic | Uses:4712 | Used by:4736 |
Symbol 4736 Button | Uses:4733 4723 4734 4735 | Used by:4747 |
Symbol 4737 Graphic | Uses:4712 | Used by:4739 |
Symbol 4738 Text | Uses:220 | Used by:4739 |
Symbol 4739 Button | Uses:4737 4723 4738 | Used by:4747 |
Symbol 4740 Graphic | Uses:4712 | Used by:4747 |
Symbol 4741 Graphic | Uses:4712 | Used by:4743 |
Symbol 4742 Text | Uses:220 | Used by:4743 |
Symbol 4743 Button | Uses:4741 4723 4742 | Used by:4747 |
Symbol 4744 Graphic | Used by:4747 | |
Symbol 4745 Graphic | Uses:4712 | Used by:4747 |
Symbol 4746 Text | Uses:220 | Used by:4747 |
Symbol 4747 Button | Uses:4720 4724 4730 4732 4736 4739 4740 4743 4744 4745 4746 | Used by:Timeline |
Symbol 4748 Text | Uses:220 | Used by:Timeline |
Symbol 4749 Text | Uses:220 | Used by:Timeline |
Symbol 4750 Text | Uses:220 | Used by:Timeline |
Symbol 4751 Text | Uses:220 | Used by:Timeline |
Symbol 4752 Text | Uses:220 | Used by:4754 |
Symbol 4753 Graphic | Used by:4754 | |
Symbol 4754 Button | Uses:4752 4753 | Used by:Timeline |
Symbol 4755 Text | Uses:220 | Used by:4757 |
Symbol 4756 Graphic | Used by:4757 | |
Symbol 4757 Button | Uses:4755 4756 | Used by:Timeline |
Symbol 4758 Text | Uses:220 | Used by:Timeline |
Symbol 4759 Text | Uses:220 | Used by:Timeline |
Symbol 4760 Text | Uses:220 | Used by:Timeline |
Symbol 4761 Text | Uses:220 | Used by:Timeline |
Symbol 4762 Text | Uses:220 | Used by:Timeline |
Symbol 4763 Text | Uses:220 | Used by:Timeline |
Symbol 4764 Text | Uses:220 | Used by:Timeline |
Symbol 4765 Text | Uses:220 | Used by:Timeline |
Symbol 4766 Text | Uses:220 | Used by:Timeline |
Symbol 4767 MovieClip | Uses:1749 | Used by:Timeline |
Symbol 4768 Text | Uses:220 | Used by:Timeline |
Symbol 4769 Text | Uses:220 | Used by:Timeline |
Symbol 4770 Text | Uses:220 | Used by:Timeline |
Symbol 4771 Text | Uses:220 | Used by:Timeline |
Symbol 4772 Text | Uses:220 | Used by:Timeline |
Symbol 4773 Text | Uses:220 | Used by:Timeline |
Symbol 4774 Text | Uses:220 | Used by:Timeline |
Symbol 4775 Graphic | Used by:Timeline | |
Symbol 4776 Text | Uses:220 | Used by:Timeline |
Symbol 4777 Text | Uses:220 | Used by:Timeline |
Symbol 4778 Text | Uses:220 | Used by:Timeline |
Symbol 4779 Graphic | Used by:4780 | |
Symbol 4780 MovieClip | Uses:4779 | Used by:Timeline |
Symbol 4781 Text | Uses:220 | Used by:Timeline |
Symbol 4782 Graphic | Used by:Timeline | |
Symbol 4783 Text | Uses:220 | Used by:Timeline |
Symbol 4784 Text | Uses:220 | Used by:Timeline |
Symbol 4785 Text | Uses:220 | Used by:Timeline |
Symbol 4786 Text | Uses:220 | Used by:Timeline |
Symbol 4787 Text | Uses:220 | Used by:Timeline |
Symbol 4788 Text | Uses:220 | Used by:Timeline |
Symbol 4789 Text | Uses:220 | Used by:Timeline |
Symbol 4790 Text | Uses:220 | Used by:Timeline |
Symbol 4791 Text | Uses:220 | Used by:Timeline |
Symbol 4792 Text | Uses:220 | Used by:Timeline |
Symbol 4793 Text | Uses:220 | Used by:Timeline |
Symbol 4794 Text | Uses:220 | Used by:Timeline |
Symbol 4795 Text | Uses:220 | Used by:Timeline |
Symbol 4796 Graphic | Used by:Timeline | |
Symbol 4797 Text | Uses:220 | Used by:Timeline |
Symbol 4798 Text | Uses:220 | Used by:Timeline |
Symbol 4799 Text | Uses:220 | Used by:Timeline |
Symbol 4800 Text | Uses:220 | Used by:Timeline |
Symbol 4801 Text | Uses:220 | Used by:Timeline |
Symbol 4802 Text | Uses:220 | Used by:Timeline |
Symbol 4803 Graphic | Used by:4804 | |
Symbol 4804 MovieClip | Uses:4803 | Used by:4812 |
Symbol 4805 Graphic | Used by:4806 4811 | |
Symbol 4806 MovieClip | Uses:4805 | Used by:4811 |
Symbol 4807 Graphic | Used by:4811 | |
Symbol 4808 Text | Uses:220 | Used by:4811 |
Symbol 4809 Graphic | Used by:4811 | |
Symbol 4810 Text | Uses:220 | Used by:4811 |
Symbol 4811 Button | Uses:4806 4807 4808 4809 4810 4805 | Used by:4812 |
Symbol 4812 MovieClip | Uses:4804 4811 | Used by:Timeline |
Symbol 4813 Text | Uses:220 | Used by:Timeline |
Symbol 4814 Text | Uses:220 | Used by:Timeline |
Symbol 4815 Text | Uses:220 | Used by:Timeline |
Symbol 4816 Text | Uses:220 | Used by:Timeline |
Symbol 4817 Text | Uses:220 | Used by:Timeline |
Symbol 4818 Text | Uses:220 | Used by:Timeline |
Symbol 4819 Text | Uses:220 | Used by:Timeline |
Symbol 4820 Text | Uses:220 | Used by:Timeline |
Symbol 4821 Text | Uses:220 | Used by:Timeline |
Symbol 4822 Text | Uses:220 | Used by:Timeline |
Symbol 4823 Text | Uses:220 | Used by:Timeline |
Symbol 4824 Text | Uses:220 | Used by:Timeline |
Symbol 4825 Text | Uses:220 | Used by:Timeline |
Symbol 4826 Text | Uses:4500 | Used by:Timeline |
Symbol 4827 Text | Uses:220 | Used by:Timeline |
Symbol 4828 Text | Uses:4500 | Used by:Timeline |
Symbol 4829 Text | Uses:220 | Used by:Timeline |
Symbol 4830 Text | Uses:220 | Used by:Timeline |
Symbol 4831 Text | Uses:220 | Used by:Timeline |
Symbol 4832 Text | Uses:220 | Used by:Timeline |
Symbol 4833 Text | Uses:220 | Used by:Timeline |
Symbol 4834 Graphic | Used by:Timeline | |
Symbol 4835 Text | Uses:220 | Used by:Timeline |
Symbol 4836 Text | Uses:220 | Used by:Timeline |
Symbol 4837 Text | Uses:220 | Used by:Timeline |
Symbol 4838 Text | Uses:220 | Used by:Timeline |
Symbol 4839 Text | Uses:220 | Used by:Timeline |
Symbol 4840 Text | Uses:220 | Used by:Timeline |
Symbol 4841 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 4842 Text | Uses:220 | Used by:Timeline |
Symbol 4843 Graphic | Used by:Timeline | |
Symbol 4844 Text | Uses:220 | Used by:Timeline |
Symbol 4845 Text | Uses:220 | Used by:Timeline |
Symbol 4846 Text | Uses:220 | Used by:Timeline |
Symbol 4847 Text | Uses:220 | Used by:Timeline |
Symbol 4848 Text | Uses:220 | Used by:Timeline |
Symbol 4849 Graphic | Used by:Timeline | |
Symbol 4850 Text | Uses:220 | Used by:Timeline |
Symbol 4851 Text | Uses:220 | Used by:Timeline |
Symbol 4852 Text | Uses:220 | Used by:Timeline |
Symbol 4853 Graphic | Used by:Timeline | |
Symbol 4854 Text | Uses:220 | Used by:Timeline |
Symbol 4855 Text | Uses:220 | Used by:Timeline |
Symbol 4856 Text | Uses:220 | Used by:Timeline |
Symbol 4857 Text | Uses:220 | Used by:Timeline |
Symbol 4858 Text | Uses:220 | Used by:Timeline |
Symbol 4859 Text | Uses:220 3479 | Used by:Timeline |
Symbol 4860 Text | Uses:220 | Used by:Timeline |
Symbol 4861 Text | Uses:220 | Used by:Timeline |
Symbol 4862 Text | Uses:220 | Used by:Timeline |
Symbol 4863 Text | Uses:220 | Used by:Timeline |
Symbol 4864 Text | Uses:220 | Used by:Timeline |
Symbol 4865 Text | Uses:220 | Used by:Timeline |
Symbol 4866 Text | Uses:220 | Used by:Timeline |
Symbol 4867 Bitmap | Used by:4868 | |
Symbol 4868 Graphic | Uses:4867 | Used by:4869 |
Symbol 4869 MovieClip | Uses:4868 | Used by:Timeline |
Symbol 4870 Text | Uses:220 | Used by:Timeline |
Symbol 4871 Bitmap | Used by:4872 | |
Symbol 4872 Graphic | Uses:4871 | Used by:4873 |
Symbol 4873 MovieClip | Uses:4872 | Used by:Timeline |
Symbol 4874 Text | Uses:220 | Used by:Timeline |
Symbol 4875 Text | Uses:220 | Used by:Timeline |
Symbol 4876 Text | Uses:220 | Used by:Timeline |
Symbol 4877 Text | Uses:220 | Used by:Timeline |
Symbol 4878 Text | Uses:220 | Used by:Timeline |
Symbol 4879 Text | Uses:220 | Used by:4882 |
Symbol 4880 Bitmap | Used by:4881 | |
Symbol 4881 Graphic | Uses:4880 | Used by:4882 |
Symbol 4882 MovieClip | Uses:4879 4881 | Used by:Timeline |
Symbol 4883 Text | Uses:220 | Used by:Timeline |
Symbol 4884 Text | Uses:220 | Used by:Timeline |
Symbol 4885 Text | Uses:220 | Used by:Timeline |
Symbol 4886 Text | Uses:220 | Used by:Timeline |
Symbol 4887 Bitmap | Used by:4888 | |
Symbol 4888 Graphic | Uses:4887 | Used by:4889 |
Symbol 4889 MovieClip | Uses:4888 | Used by:Timeline |
Symbol 4890 Text | Uses:220 | Used by:Timeline |
Symbol 4891 Text | Uses:220 | Used by:Timeline |
Symbol 4892 Text | Uses:220 | Used by:Timeline |
Symbol 4893 Text | Uses:220 | Used by:Timeline |
Symbol 4894 Text | Uses:220 | Used by:Timeline |
Symbol 4895 Text | Uses:220 | Used by:Timeline |
Symbol 4896 Text | Uses:220 | Used by:Timeline |
Symbol 4897 Text | Uses:220 | Used by:Timeline |
Symbol 4898 Text | Uses:220 | Used by:Timeline |
Symbol 4899 Text | Uses:220 | Used by:Timeline |
Symbol 4900 Text | Uses:220 | Used by:Timeline |
Symbol 4901 Text | Uses:220 | Used by:Timeline |
Symbol 4902 Text | Uses:220 | Used by:Timeline |
Symbol 4903 Text | Uses:220 | Used by:Timeline |
Symbol 4904 Text | Uses:220 | Used by:Timeline |
Symbol 4905 Text | Uses:220 | Used by:Timeline |
Symbol 4906 Graphic | Used by:Timeline | |
Symbol 4907 Text | Uses:220 | Used by:Timeline |
Symbol 4908 Text | Uses:220 | Used by:Timeline |
Symbol 4909 Text | Uses:220 | Used by:Timeline |
Symbol 4910 Text | Uses:220 | Used by:Timeline |
Symbol 4911 Text | Uses:220 | Used by:Timeline |
Symbol 4912 Text | Uses:220 | Used by:Timeline |
Symbol 4913 Text | Uses:220 | Used by:Timeline |
Symbol 4914 Text | Uses:220 | Used by:Timeline |
Symbol 4915 Text | Uses:220 | Used by:Timeline |
Symbol 4916 Text | Uses:220 | Used by:Timeline |
Symbol 4917 Text | Uses:220 | Used by:Timeline |
Symbol 4918 Text | Uses:220 | Used by:Timeline |
Symbol 4919 Text | Uses:220 | Used by:Timeline |
Symbol 4920 Text | Uses:220 | Used by:Timeline |
Symbol 4921 Text | Uses:220 | Used by:Timeline |
Symbol 4922 Text | Uses:220 | Used by:Timeline |
Symbol 4923 Text | Uses:220 | Used by:Timeline |
Symbol 4924 Graphic | Used by:Timeline | |
Symbol 4925 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 4926 Text | Uses:220 | Used by:Timeline |
Symbol 4927 Text | Uses:220 | Used by:Timeline |
Symbol 4928 Text | Uses:220 | Used by:Timeline |
Symbol 4929 Text | Uses:220 | Used by:Timeline |
Symbol 4930 Text | Uses:220 | Used by:Timeline |
Symbol 4931 Text | Uses:220 | Used by:Timeline |
Symbol 4932 Text | Uses:220 | Used by:Timeline |
Symbol 4933 Text | Uses:220 | Used by:Timeline |
Symbol 4934 Text | Uses:220 | Used by:Timeline |
Symbol 4935 Text | Uses:220 | Used by:Timeline |
Symbol 4936 Text | Uses:220 | Used by:Timeline |
Symbol 4937 Text | Uses:220 | Used by:Timeline |
Symbol 4938 Text | Uses:220 | Used by:Timeline |
Symbol 4939 Text | Uses:220 | Used by:Timeline |
Symbol 4940 Text | Uses:220 | Used by:Timeline |
Symbol 4941 Text | Uses:220 | Used by:Timeline |
Symbol 4942 Text | Uses:220 | Used by:Timeline |
Symbol 4943 Graphic | Used by:Timeline | |
Symbol 4944 Text | Uses:220 | Used by:Timeline |
Symbol 4945 Text | Uses:220 | Used by:Timeline |
Symbol 4946 Text | Uses:220 | Used by:Timeline |
Symbol 4947 Text | Uses:220 | Used by:Timeline |
Symbol 4948 Graphic | Used by:Timeline | |
Symbol 4949 Text | Uses:220 | Used by:Timeline |
Symbol 4950 Text | Uses:220 | Used by:Timeline |
Symbol 4951 Text | Uses:220 | Used by:Timeline |
Symbol 4952 Text | Uses:220 | Used by:4954 |
Symbol 4953 Graphic | Used by:4954 | |
Symbol 4954 Button | Uses:4952 4953 | Used by:Timeline |
Symbol 4955 Text | Uses:220 | Used by:4957 |
Symbol 4956 Graphic | Used by:4957 | |
Symbol 4957 Button | Uses:4955 4956 | Used by:Timeline |
Symbol 4958 Text | Uses:220 | Used by:4960 |
Symbol 4959 Graphic | Used by:4960 | |
Symbol 4960 Button | Uses:4958 4959 | Used by:Timeline |
Symbol 4961 Text | Uses:220 | Used by:4963 |
Symbol 4962 Graphic | Used by:4963 | |
Symbol 4963 Button | Uses:4961 4962 | Used by:Timeline |
Symbol 4964 Text | Uses:220 | Used by:4966 |
Symbol 4965 Graphic | Used by:4966 | |
Symbol 4966 Button | Uses:4964 4965 | Used by:Timeline |
Symbol 4967 Text | Uses:220 | Used by:Timeline |
Symbol 4968 Text | Uses:220 | Used by:Timeline |
Symbol 4969 Text | Uses:220 | Used by:Timeline |
Symbol 4970 Text | Uses:220 | Used by:4972 |
Symbol 4971 Graphic | Used by:4972 | |
Symbol 4972 Button | Uses:4970 4971 | Used by:Timeline |
Symbol 4973 Text | Uses:220 | Used by:4975 |
Symbol 4974 Graphic | Used by:4975 | |
Symbol 4975 Button | Uses:4973 4974 | Used by:Timeline |
Symbol 4976 Text | Uses:220 | Used by:4978 |
Symbol 4977 Graphic | Used by:4978 | |
Symbol 4978 Button | Uses:4976 4977 | Used by:Timeline |
Symbol 4979 Text | Uses:220 | Used by:4981 |
Symbol 4980 Graphic | Used by:4981 | |
Symbol 4981 Button | Uses:4979 4980 | Used by:Timeline |
Symbol 4982 Text | Uses:220 | Used by:4984 |
Symbol 4983 Graphic | Used by:4984 | |
Symbol 4984 Button | Uses:4982 4983 | Used by:Timeline |
Symbol 4985 Text | Uses:220 | Used by:4987 |
Symbol 4986 Graphic | Used by:4987 | |
Symbol 4987 Button | Uses:4985 4986 | Used by:Timeline |
Symbol 4988 Text | Uses:220 | Used by:4990 |
Symbol 4989 Graphic | Used by:4990 | |
Symbol 4990 Button | Uses:4988 4989 | Used by:Timeline |
Symbol 4991 Text | Uses:220 | Used by:4993 |
Symbol 4992 Graphic | Used by:4993 | |
Symbol 4993 Button | Uses:4991 4992 | Used by:Timeline |
Symbol 4994 Text | Uses:220 | Used by:4996 |
Symbol 4995 Graphic | Used by:4996 | |
Symbol 4996 Button | Uses:4994 4995 | Used by:Timeline |
Symbol 4997 Text | Uses:220 | Used by:4999 |
Symbol 4998 Graphic | Used by:4999 | |
Symbol 4999 Button | Uses:4997 4998 | Used by:Timeline |
Symbol 5000 Text | Uses:220 | Used by:Timeline |
Symbol 5001 Text | Uses:220 | Used by:Timeline |
Symbol 5002 Text | Uses:220 | Used by:Timeline |
Symbol 5003 Text | Uses:220 | Used by:5005 |
Symbol 5004 Graphic | Used by:5005 | |
Symbol 5005 Button | Uses:5003 5004 | Used by:Timeline |
Symbol 5006 Text | Uses:220 | Used by:5008 |
Symbol 5007 Graphic | Used by:5008 | |
Symbol 5008 Button | Uses:5006 5007 | Used by:Timeline |
Symbol 5009 Text | Uses:220 | Used by:5011 |
Symbol 5010 Graphic | Used by:5011 | |
Symbol 5011 Button | Uses:5009 5010 | Used by:Timeline |
Symbol 5012 Text | Uses:220 | Used by:5014 |
Symbol 5013 Graphic | Used by:5014 | |
Symbol 5014 Button | Uses:5012 5013 | Used by:Timeline |
Symbol 5015 Text | Uses:220 | Used by:5017 |
Symbol 5016 Graphic | Used by:5017 | |
Symbol 5017 Button | Uses:5015 5016 | Used by:Timeline |
Symbol 5018 Text | Uses:220 | Used by:5020 |
Symbol 5019 Graphic | Used by:5020 | |
Symbol 5020 Button | Uses:5018 5019 | Used by:Timeline |
Symbol 5021 Text | Uses:220 | Used by:Timeline |
Symbol 5022 Text | Uses:220 | Used by:Timeline |
Symbol 5023 Text | Uses:220 | Used by:Timeline |
Symbol 5024 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 5025 Text | Uses:220 | Used by:Timeline |
Symbol 5026 Text | Uses:220 | Used by:Timeline |
Symbol 5027 Text | Uses:220 | Used by:Timeline |
Symbol 5028 Text | Uses:220 | Used by:Timeline |
Symbol 5029 Text | Uses:220 | Used by:Timeline |
Symbol 5030 Text | Uses:220 | Used by:5032 |
Symbol 5031 Graphic | Used by:5032 | |
Symbol 5032 Button | Uses:5030 5031 | Used by:Timeline |
Symbol 5033 Text | Uses:220 | Used by:5035 |
Symbol 5034 Graphic | Used by:5035 | |
Symbol 5035 Button | Uses:5033 5034 | Used by:Timeline |
Symbol 5036 Text | Uses:220 | Used by:5038 |
Symbol 5037 Graphic | Used by:5038 | |
Symbol 5038 Button | Uses:5036 5037 | Used by:Timeline |
Symbol 5039 Text | Uses:220 | Used by:5041 |
Symbol 5040 Graphic | Used by:5041 | |
Symbol 5041 Button | Uses:5039 5040 | Used by:Timeline |
Symbol 5042 Text | Uses:220 | Used by:5044 |
Symbol 5043 Graphic | Used by:5044 | |
Symbol 5044 Button | Uses:5042 5043 | Used by:Timeline |
Symbol 5045 Text | Uses:220 | Used by:Timeline |
Symbol 5046 Text | Uses:220 | Used by:Timeline |
Symbol 5047 Text | Uses:220 | Used by:Timeline |
Symbol 5048 Text | Uses:220 | Used by:Timeline |
Symbol 5049 Graphic | Used by:Timeline | |
Symbol 5050 Text | Uses:220 | Used by:5052 |
Symbol 5051 Graphic | Used by:5052 | |
Symbol 5052 Button | Uses:5050 5051 | Used by:Timeline |
Symbol 5053 Text | Uses:220 | Used by:5055 |
Symbol 5054 Graphic | Used by:5055 5066 | |
Symbol 5055 Button | Uses:5053 5054 | Used by:Timeline |
Symbol 5056 Text | Uses:220 | Used by:5058 |
Symbol 5057 Graphic | Used by:5058 | |
Symbol 5058 Button | Uses:5056 5057 | Used by:Timeline |
Symbol 5059 Text | Uses:220 | Used by:5061 |
Symbol 5060 Graphic | Used by:5061 | |
Symbol 5061 Button | Uses:5059 5060 | Used by:Timeline |
Symbol 5062 Text | Uses:220 | Used by:5064 |
Symbol 5063 Graphic | Used by:5064 | |
Symbol 5064 Button | Uses:5062 5063 | Used by:Timeline |
Symbol 5065 Text | Uses:220 | Used by:5066 |
Symbol 5066 Button | Uses:5065 5054 | Used by:Timeline |
Symbol 5067 Text | Uses:220 | Used by:5069 |
Symbol 5068 Graphic | Used by:5069 | |
Symbol 5069 Button | Uses:5067 5068 | Used by:Timeline |
Symbol 5070 Text | Uses:220 | Used by:5072 |
Symbol 5071 Graphic | Used by:5072 | |
Symbol 5072 Button | Uses:5070 5071 | Used by:Timeline |
Symbol 5073 Text | Uses:220 | Used by:Timeline |
Symbol 5074 Text | Uses:220 | Used by:Timeline |
Symbol 5075 Text | Uses:220 | Used by:5077 |
Symbol 5076 Graphic | Used by:5077 | |
Symbol 5077 Button | Uses:5075 5076 | Used by:Timeline |
Symbol 5078 Text | Uses:220 | Used by:5080 |
Symbol 5079 Graphic | Used by:5080 | |
Symbol 5080 Button | Uses:5078 5079 | Used by:Timeline |
Symbol 5081 Text | Uses:220 | Used by:5083 |
Symbol 5082 Graphic | Used by:5083 | |
Symbol 5083 Button | Uses:5081 5082 | Used by:Timeline |
Symbol 5084 Text | Uses:220 | Used by:5086 |
Symbol 5085 Graphic | Used by:5086 | |
Symbol 5086 Button | Uses:5084 5085 | Used by:Timeline |
Symbol 5087 Text | Uses:220 | Used by:Timeline |
Symbol 5088 Text | Uses:220 | Used by:Timeline |
Symbol 5089 Text | Uses:220 | Used by:5091 |
Symbol 5090 Graphic | Used by:5091 | |
Symbol 5091 Button | Uses:5089 5090 | Used by:Timeline |
Symbol 5092 Text | Uses:220 | Used by:5094 |
Symbol 5093 Graphic | Used by:5094 | |
Symbol 5094 Button | Uses:5092 5093 | Used by:Timeline |
Symbol 5095 Text | Uses:220 | Used by:5097 |
Symbol 5096 Graphic | Used by:5097 | |
Symbol 5097 Button | Uses:5095 5096 | Used by:Timeline |
Symbol 5098 Text | Uses:220 | Used by:5100 |
Symbol 5099 Graphic | Used by:5100 | |
Symbol 5100 Button | Uses:5098 5099 | Used by:Timeline |
Symbol 5101 Text | Uses:220 | Used by:5103 |
Symbol 5102 Graphic | Used by:5103 | |
Symbol 5103 Button | Uses:5101 5102 | Used by:Timeline |
Symbol 5104 Text | Uses:220 | Used by:5106 |
Symbol 5105 Graphic | Used by:5106 | |
Symbol 5106 Button | Uses:5104 5105 | Used by:Timeline |
Symbol 5107 Text | Uses:220 | Used by:5109 |
Symbol 5108 Graphic | Used by:5109 | |
Symbol 5109 Button | Uses:5107 5108 | Used by:Timeline |
Symbol 5110 Text | Uses:220 | Used by:5112 |
Symbol 5111 Graphic | Used by:5112 | |
Symbol 5112 Button | Uses:5110 5111 | Used by:Timeline |
Symbol 5113 Text | Uses:220 | Used by:Timeline |
Symbol 5114 Text | Uses:220 | Used by:Timeline |
Symbol 5115 Text | Uses:4500 | Used by:5117 |
Symbol 5116 Graphic | Used by:5117 5119 | |
Symbol 5117 Button | Uses:5115 5116 | Used by:Timeline |
Symbol 5118 Text | Uses:4500 | Used by:5119 |
Symbol 5119 Button | Uses:5118 5116 | Used by:Timeline |
Symbol 5120 Text | Uses:220 | Used by:Timeline |
Symbol 5121 Text | Uses:220 | Used by:Timeline |
Symbol 5122 Text | Uses:220 | Used by:Timeline |
Symbol 5123 Text | Uses:220 | Used by:5124 |
Symbol 5124 Button | Uses:5123 1588 | Used by:Timeline |
Symbol 5125 Text | Uses:220 | Used by:5126 |
Symbol 5126 Button | Uses:5125 1588 | Used by:Timeline |
Symbol 5127 Text | Uses:220 | Used by:5128 |
Symbol 5128 Button | Uses:5127 1588 | Used by:Timeline |
Symbol 5129 Text | Uses:220 | Used by:5130 |
Symbol 5130 Button | Uses:5129 1588 | Used by:Timeline |
Symbol 5131 Text | Uses:220 | Used by:5132 |
Symbol 5132 Button | Uses:5131 1588 | Used by:Timeline |
Symbol 5133 Text | Uses:220 | Used by:5135 |
Symbol 5134 Graphic | Used by:5135 | |
Symbol 5135 Button | Uses:5133 5134 | Used by:Timeline |
Symbol 5136 Text | Uses:220 | Used by:Timeline |
Symbol 5137 Text | Uses:220 | Used by:Timeline |
Symbol 5138 Text | Uses:220 | Used by:5139 |
Symbol 5139 Button | Uses:5138 1588 | Used by:Timeline |
Symbol 5140 Text | Uses:220 | Used by:5141 |
Symbol 5141 Button | Uses:5140 1588 | Used by:Timeline |
Symbol 5142 Text | Uses:220 | Used by:5143 |
Symbol 5143 Button | Uses:5142 1588 | Used by:Timeline |
Symbol 5144 Text | Uses:220 | Used by:5145 |
Symbol 5145 Button | Uses:5144 1588 | Used by:Timeline |
Symbol 5146 Text | Uses:220 | Used by:5147 |
Symbol 5147 Button | Uses:5146 1588 | Used by:Timeline |
Symbol 5148 Text | Uses:220 | Used by:5149 |
Symbol 5149 Button | Uses:5148 1588 | Used by:Timeline |
Symbol 5150 Text | Uses:220 | Used by:Timeline |
Symbol 5151 Font | Used by:5152 5313 5328 5333 5338 5359 5362 5365 5367 5371 5374 5377 5384 5387 5411 5420 5434 5447 5450 5452 5551 5579 5593 5594 5595 5596 5598 | |
Symbol 5152 Text | Uses:220 5151 | Used by:Timeline |
Symbol 5153 Text | Uses:220 | Used by:5154 |
Symbol 5154 Button | Uses:5153 1592 | Used by:Timeline |
Symbol 5155 Text | Uses:220 | Used by:5156 |
Symbol 5156 Button | Uses:5155 1592 | Used by:Timeline |
Symbol 5157 Text | Uses:220 | Used by:5158 |
Symbol 5158 Button | Uses:5157 1592 | Used by:Timeline |
Symbol 5159 Text | Uses:220 | Used by:5160 |
Symbol 5160 Button | Uses:5159 1592 | Used by:Timeline |
Symbol 5161 Text | Uses:4500 | Used by:Timeline |
Symbol 5162 Text | Uses:220 | Used by:Timeline |
Symbol 5163 Text | Uses:220 | Used by:Timeline |
Symbol 5164 Text | Uses:220 | Used by:Timeline |
Symbol 5165 Text | Uses:220 | Used by:Timeline |
Symbol 5166 Text | Uses:4500 | Used by:5168 |
Symbol 5167 Text | Uses:4500 | Used by:5168 |
Symbol 5168 Button | Uses:5166 5167 1592 | Used by:Timeline |
Symbol 5169 Text | Uses:4500 | Used by:5170 |
Symbol 5170 Button | Uses:5169 1592 | Used by:Timeline |
Symbol 5171 Text | Uses:220 | Used by:Timeline |
Symbol 5172 Text | Uses:220 | Used by:Timeline |
Symbol 5173 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 5174 Text | Uses:220 | Used by:Timeline |
Symbol 5175 Text | Uses:220 | Used by:Timeline |
Symbol 5176 Text | Uses:4500 | Used by:5177 |
Symbol 5177 Button | Uses:5176 1592 | Used by:Timeline |
Symbol 5178 Text | Uses:4500 | Used by:5179 |
Symbol 5179 Button | Uses:5178 1592 | Used by:Timeline |
Symbol 5180 Text | Uses:220 | Used by:Timeline |
Symbol 5181 Text | Uses:220 | Used by:Timeline |
Symbol 5182 Text | Uses:220 | Used by:5183 |
Symbol 5183 Button | Uses:5182 1588 | Used by:Timeline |
Symbol 5184 Text | Uses:220 | Used by:5185 |
Symbol 5185 Button | Uses:5184 1588 | Used by:Timeline |
Symbol 5186 Text | Uses:220 | Used by:5187 |
Symbol 5187 Button | Uses:5186 1588 | Used by:Timeline |
Symbol 5188 Text | Uses:220 | Used by:Timeline |
Symbol 5189 Text | Uses:220 | Used by:Timeline |
Symbol 5190 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 5191 Text | Uses:220 | Used by:Timeline |
Symbol 5192 Text | Uses:220 | Used by:Timeline |
Symbol 5193 Text | Uses:220 | Used by:5194 |
Symbol 5194 Button | Uses:5193 1592 | Used by:Timeline |
Symbol 5195 Text | Uses:220 | Used by:5196 |
Symbol 5196 Button | Uses:5195 1592 | Used by:Timeline |
Symbol 5197 Text | Uses:220 | Used by:5198 |
Symbol 5198 Button | Uses:5197 1592 | Used by:Timeline |
Symbol 5199 Text | Uses:220 | Used by:5200 |
Symbol 5200 Button | Uses:5199 1592 | Used by:Timeline |
Symbol 5201 Text | Uses:220 | Used by:Timeline |
Symbol 5202 Text | Uses:220 | Used by:Timeline |
Symbol 5203 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 5204 Text | Uses:220 | Used by:Timeline |
Symbol 5205 Text | Uses:220 3479 | Used by:Timeline |
Symbol 5206 Text | Uses:220 | Used by:5207 |
Symbol 5207 Button | Uses:5206 1588 | Used by:Timeline |
Symbol 5208 Text | Uses:220 | Used by:5209 |
Symbol 5209 Button | Uses:5208 1588 | Used by:Timeline |
Symbol 5210 Text | Uses:220 | Used by:5211 |
Symbol 5211 Button | Uses:5210 1588 | Used by:Timeline |
Symbol 5212 Text | Uses:220 | Used by:5213 |
Symbol 5213 Button | Uses:5212 1588 | Used by:Timeline |
Symbol 5214 Text | Uses:220 | Used by:Timeline |
Symbol 5215 Text | Uses:220 | Used by:Timeline |
Symbol 5216 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 5217 Text | Uses:4500 | Used by:Timeline |
Symbol 5218 Text | Uses:4500 | Used by:Timeline |
Symbol 5219 Text | Uses:220 | Used by:Timeline |
Symbol 5220 Text | Uses:220 | Used by:Timeline |
Symbol 5221 Text | Uses:220 | Used by:5222 |
Symbol 5222 Button | Uses:5221 1588 | Used by:Timeline |
Symbol 5223 Text | Uses:220 | Used by:5224 |
Symbol 5224 Button | Uses:5223 1588 | Used by:Timeline |
Symbol 5225 Text | Uses:220 | Used by:5226 |
Symbol 5226 Button | Uses:5225 1588 | Used by:Timeline |
Symbol 5227 Text | Uses:220 | Used by:Timeline |
Symbol 5228 Text | Uses:220 | Used by:Timeline |
Symbol 5229 Button | Uses:3564 3565 | Used by:Timeline |
Symbol 5230 Text | Uses:220 | Used by:Timeline |
Symbol 5231 Text | Uses:220 | Used by:Timeline |
Symbol 5232 Button | Uses:3564 3565 | Used by:Timeline |
Symbol 5233 Text | Uses:220 | Used by:Timeline |
Symbol 5234 Text | Uses:220 | Used by:Timeline |
Symbol 5235 Text | Uses:220 | Used by:5236 |
Symbol 5236 Button | Uses:5235 1588 | Used by:Timeline |
Symbol 5237 Text | Uses:220 | Used by:5238 |
Symbol 5238 Button | Uses:5237 1588 | Used by:Timeline |
Symbol 5239 Button | Uses:4438 1588 | Used by:Timeline |
Symbol 5240 Text | Uses:220 | Used by:5241 |
Symbol 5241 Button | Uses:5240 1588 | Used by:Timeline |
Symbol 5242 Text | Uses:220 | Used by:5243 |
Symbol 5243 Button | Uses:5242 1588 | Used by:Timeline |
Symbol 5244 Text | Uses:220 | Used by:5245 |
Symbol 5245 Button | Uses:5244 1588 | Used by:Timeline |
Symbol 5246 Text | Uses:220 | Used by:Timeline |
Symbol 5247 Text | Uses:220 | Used by:Timeline |
Symbol 5248 Button | Uses:3564 3565 | Used by:Timeline |
Symbol 5249 Text | Uses:220 | Used by:Timeline |
Symbol 5250 Text | Uses:220 | Used by:Timeline |
Symbol 5251 Button | Uses:3561 3562 | Used by:Timeline |
Symbol 5252 Text | Uses:220 | Used by:Timeline |
Symbol 5253 Text | Uses:220 | Used by:5254 |
Symbol 5254 Button | Uses:5253 | Used by:Timeline |
Symbol 5255 Text | Uses:220 | Used by:5256 |
Symbol 5256 Button | Uses:5255 | Used by:Timeline |
Symbol 5257 Text | Uses:220 | Used by:5258 |
Symbol 5258 Button | Uses:5257 | Used by:Timeline |
Symbol 5259 Text | Uses:220 | Used by:Timeline |
Symbol 5260 Text | Uses:220 | Used by:5262 |
Symbol 5261 Graphic | Used by:5262 | |
Symbol 5262 Button | Uses:5260 5261 | Used by:Timeline |
Symbol 5263 Text | Uses:220 | Used by:Timeline |
Symbol 5264 Text | Uses:220 | Used by:Timeline |
Symbol 5265 Text | Uses:220 | Used by:Timeline |
Symbol 5266 Text | Uses:220 | Used by:5268 |
Symbol 5267 Graphic | Used by:5268 | |
Symbol 5268 Button | Uses:5266 5267 | Used by:Timeline |
Symbol 5269 Text | Uses:220 | Used by:Timeline |
Symbol 5270 Text | Uses:220 | Used by:Timeline |
Symbol 5271 Graphic | Used by:Timeline | |
Symbol 5272 Text | Uses:220 | Used by:5274 |
Symbol 5273 Graphic | Used by:5274 | |
Symbol 5274 Button | Uses:5272 5273 | Used by:Timeline |
Symbol 5275 Text | Uses:220 | Used by:5277 |
Symbol 5276 Graphic | Used by:5277 | |
Symbol 5277 Button | Uses:5275 5276 | Used by:Timeline |
Symbol 5278 Text | Uses:220 | Used by:5280 |
Symbol 5279 Graphic | Used by:5280 | |
Symbol 5280 Button | Uses:5278 5279 | Used by:Timeline |
Symbol 5281 Text | Uses:220 | Used by:5283 |
Symbol 5282 Graphic | Used by:5283 | |
Symbol 5283 Button | Uses:5281 5282 | Used by:Timeline |
Symbol 5284 Text | Uses:220 | Used by:5286 |
Symbol 5285 Graphic | Used by:5286 | |
Symbol 5286 Button | Uses:5284 5285 | Used by:Timeline |
Symbol 5287 Text | Uses:220 | Used by:5289 |
Symbol 5288 Graphic | Used by:5289 | |
Symbol 5289 Button | Uses:5287 5288 | Used by:Timeline |
Symbol 5290 Text | Uses:220 | Used by:5292 |
Symbol 5291 Graphic | Used by:5292 | |
Symbol 5292 Button | Uses:5290 5291 | Used by:Timeline |
Symbol 5293 Text | Uses:220 | Used by:5295 |
Symbol 5294 Graphic | Used by:5295 | |
Symbol 5295 Button | Uses:5293 5294 | Used by:Timeline |
Symbol 5296 Text | Uses:220 | Used by:5298 |
Symbol 5297 Graphic | Used by:5298 | |
Symbol 5298 Button | Uses:5296 5297 | Used by:Timeline |
Symbol 5299 Text | Uses:220 | Used by:5301 |
Symbol 5300 Graphic | Used by:5301 | |
Symbol 5301 Button | Uses:5299 5300 | Used by:Timeline |
Symbol 5302 Text | Uses:220 | Used by:5304 |
Symbol 5303 Graphic | Used by:5304 | |
Symbol 5304 Button | Uses:5302 5303 | Used by:Timeline |
Symbol 5305 Text | Uses:220 | Used by:5307 |
Symbol 5306 Graphic | Used by:5307 | |
Symbol 5307 Button | Uses:5305 5306 | Used by:Timeline |
Symbol 5308 Text | Uses:220 | Used by:Timeline |
Symbol 5309 Text | Uses:220 | Used by:Timeline |
Symbol 5310 Text | Uses:220 | Used by:Timeline |
Symbol 5311 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 5312 Text | Uses:220 | Used by:Timeline |
Symbol 5313 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5314 Text | Uses:220 | Used by:Timeline |
Symbol 5315 Text | Uses:220 | Used by:Timeline |
Symbol 5316 Graphic | Used by:5317 | |
Symbol 5317 MovieClip | Uses:5316 | Used by:Timeline |
Symbol 5318 Text | Uses:220 | Used by:Timeline |
Symbol 5319 Text | Uses:220 | Used by:Timeline |
Symbol 5320 Text | Uses:220 | Used by:Timeline |
Symbol 5321 Text | Uses:4500 | Used by:Timeline |
Symbol 5322 Text | Uses:220 | Used by:Timeline |
Symbol 5323 Text | Uses:4500 | Used by:Timeline |
Symbol 5324 Text | Uses:220 | Used by:Timeline |
Symbol 5325 Text | Uses:220 | Used by:Timeline |
Symbol 5326 Text | Uses:4500 | Used by:Timeline |
Symbol 5327 Text | Uses:220 | Used by:Timeline |
Symbol 5328 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5329 Text | Uses:220 | Used by:Timeline |
Symbol 5330 Text | Uses:220 | Used by:Timeline |
Symbol 5331 Text | Uses:220 | Used by:Timeline |
Symbol 5332 Text | Uses:736 | Used by:Timeline |
Symbol 5333 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5334 Text | Uses:220 | Used by:Timeline |
Symbol 5335 Text | Uses:220 | Used by:Timeline |
Symbol 5336 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 5337 Text | Uses:220 | Used by:Timeline |
Symbol 5338 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5339 Text | Uses:220 | Used by:Timeline |
Symbol 5340 EditableText | Uses:220 | Used by:5341 |
Symbol 5341 MovieClip | Uses:5340 | Used by:Timeline |
Symbol 5342 Text | Uses:220 | Used by:Timeline |
Symbol 5343 Text | Uses:220 | Used by:Timeline |
Symbol 5344 Text | Uses:220 | Used by:Timeline |
Symbol 5345 Text | Uses:4500 | Used by:Timeline |
Symbol 5346 Text | Uses:220 | Used by:Timeline |
Symbol 5347 Text | Uses:220 | Used by:Timeline |
Symbol 5348 Text | Uses:4500 | Used by:Timeline |
Symbol 5349 Text | Uses:220 | Used by:Timeline |
Symbol 5350 Text | Uses:4500 | Used by:Timeline |
Symbol 5351 Bitmap | Used by:5352 | |
Symbol 5352 Graphic | Uses:5351 | Used by:5353 |
Symbol 5353 MovieClip | Uses:5352 | Used by:Timeline |
Symbol 5354 Text | Uses:220 | Used by:Timeline |
Symbol 5355 Text | Uses:220 | Used by:Timeline |
Symbol 5356 Text | Uses:220 | Used by:Timeline |
Symbol 5357 Text | Uses:4500 | Used by:Timeline |
Symbol 5358 Text | Uses:220 | Used by:Timeline |
Symbol 5359 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5360 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 5361 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 5362 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5363 Text | Uses:220 | Used by:Timeline |
Symbol 5364 Text | Uses:220 | Used by:Timeline |
Symbol 5365 Text | Uses:5151 | Used by:Timeline |
Symbol 5366 Text | Uses:220 | Used by:Timeline |
Symbol 5367 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5368 Text | Uses:220 | Used by:Timeline |
Symbol 5369 Text | Uses:220 | Used by:Timeline |
Symbol 5370 Text | Uses:736 | Used by:Timeline |
Symbol 5371 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5372 Text | Uses:220 | Used by:Timeline |
Symbol 5373 Text | Uses:220 | Used by:Timeline |
Symbol 5374 Text | Uses:5151 | Used by:Timeline |
Symbol 5375 Text | Uses:220 | Used by:Timeline |
Symbol 5376 Text | Uses:220 | Used by:Timeline |
Symbol 5377 Text | Uses:5151 | Used by:Timeline |
Symbol 5378 Bitmap | Used by:5379 | |
Symbol 5379 Graphic | Uses:5378 | Used by:5380 |
Symbol 5380 MovieClip | Uses:5379 | Used by:Timeline |
Symbol 5381 Text | Uses:220 | Used by:Timeline |
Symbol 5382 Text | Uses:220 | Used by:Timeline |
Symbol 5383 Text | Uses:220 | Used by:Timeline |
Symbol 5384 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5385 Text | Uses:736 | Used by:Timeline |
Symbol 5386 Text | Uses:736 | Used by:Timeline |
Symbol 5387 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5388 Text | Uses:220 | Used by:Timeline |
Symbol 5389 Text | Uses:220 | Used by:Timeline |
Symbol 5390 Text | Uses:220 | Used by:Timeline |
Symbol 5391 Text | Uses:220 | Used by:Timeline |
Symbol 5392 Text | Uses:220 | Used by:Timeline |
Symbol 5393 Text | Uses:4500 | Used by:Timeline |
Symbol 5394 Text | Uses:220 | Used by:Timeline |
Symbol 5395 Text | Uses:220 | Used by:Timeline |
Symbol 5396 Text | Uses:220 | Used by:Timeline |
Symbol 5397 Text | Uses:4500 | Used by:Timeline |
Symbol 5398 Text | Uses:220 | Used by:Timeline |
Symbol 5399 Text | Uses:220 | Used by:Timeline |
Symbol 5400 Text | Uses:4500 | Used by:Timeline |
Symbol 5401 Text | Uses:4500 | Used by:Timeline |
Symbol 5402 Text | Uses:220 | Used by:Timeline |
Symbol 5403 Text | Uses:220 | Used by:Timeline |
Symbol 5404 Text | Uses:4500 | Used by:Timeline |
Symbol 5405 Text | Uses:220 | Used by:Timeline |
Symbol 5406 Text | Uses:4500 | Used by:Timeline |
Symbol 5407 Text | Uses:220 | Used by:Timeline |
Symbol 5408 Text | Uses:4500 | Used by:Timeline |
Symbol 5409 EditableText | Uses:220 736 3479 | Used by:5410 |
Symbol 5410 Button | Uses:5409 | Used by:Timeline |
Symbol 5411 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5412 Text | Uses:220 | Used by:Timeline |
Symbol 5413 Text | Uses:220 | Used by:5415 |
Symbol 5414 Graphic | Used by:5415 | |
Symbol 5415 Button | Uses:5413 5414 | Used by:Timeline |
Symbol 5416 Text | Uses:220 | Used by:Timeline |
Symbol 5417 Text | Uses:220 | Used by:Timeline |
Symbol 5418 Text | Uses:4500 | Used by:Timeline |
Symbol 5419 Text | Uses:220 | Used by:Timeline |
Symbol 5420 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5421 Bitmap | Used by:5422 | |
Symbol 5422 Graphic | Uses:5421 | Used by:5423 |
Symbol 5423 MovieClip | Uses:5422 | Used by:Timeline |
Symbol 5424 Text | Uses:220 | Used by:Timeline |
Symbol 5425 Text | Uses:220 | Used by:Timeline |
Symbol 5426 Text | Uses:4500 | Used by:Timeline |
Symbol 5427 Text | Uses:220 | Used by:Timeline |
Symbol 5428 Bitmap | Used by:5429 | |
Symbol 5429 Graphic | Uses:5428 | Used by:5430 |
Symbol 5430 MovieClip | Uses:5429 | Used by:Timeline |
Symbol 5431 Text | Uses:220 | Used by:Timeline |
Symbol 5432 Text | Uses:4500 | Used by:Timeline |
Symbol 5433 Text | Uses:736 | Used by:Timeline |
Symbol 5434 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5435 Text | Uses:220 | Used by:Timeline |
Symbol 5436 Text | Uses:220 | Used by:Timeline |
Symbol 5437 Text | Uses:220 | Used by:Timeline |
Symbol 5438 Text | Uses:220 | Used by:Timeline |
Symbol 5439 Text | Uses:4500 | Used by:Timeline |
Symbol 5440 Text | Uses:220 | Used by:Timeline |
Symbol 5441 Text | Uses:4500 | Used by:Timeline |
Symbol 5442 Text | Uses:220 | Used by:Timeline |
Symbol 5443 Text | Uses:220 | Used by:Timeline |
Symbol 5444 Text | Uses:4500 | Used by:Timeline |
Symbol 5445 Text | Uses:220 | Used by:Timeline |
Symbol 5446 Text | Uses:220 | Used by:Timeline |
Symbol 5447 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5448 Text | Uses:220 | Used by:Timeline |
Symbol 5449 Text | Uses:220 | Used by:Timeline |
Symbol 5450 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5451 Text | Uses:220 | Used by:Timeline |
Symbol 5452 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5453 Text | Uses:220 | Used by:Timeline |
Symbol 5454 Text | Uses:220 3479 | Used by:Timeline |
Symbol 5455 Text | Uses:220 | Used by:Timeline |
Symbol 5456 Text | Uses:220 | Used by:Timeline |
Symbol 5457 Text | Uses:220 | Used by:Timeline |
Symbol 5458 Text | Uses:220 | Used by:5460 |
Symbol 5459 Text | Uses:220 | Used by:5460 |
Symbol 5460 MovieClip | Uses:5458 5459 | Used by:Timeline |
Symbol 5461 Text | Uses:220 | Used by:5462 |
Symbol 5462 Button | Uses:5461 | Used by:Timeline |
Symbol 5463 Text | Uses:220 | Used by:Timeline |
Symbol 5464 Bitmap | Used by:5465 5467 5469 5471 5473 5475 5477 5479 5481 5483 5485 5487 5489 5491 5493 5495 5497 5499 5501 5503 5505 5507 5509 5511 5513 5515 5517 5519 5521 5523 5525 5527 5529 5531 5533 5535 5537 5539 5541 5543 5545 5548 | |
Symbol 5465 Graphic | Uses:5464 | Used by:5466 |
Symbol 5466 Button | Uses:5465 | Used by:Timeline |
Symbol 5467 Graphic | Uses:5464 | Used by:5468 |
Symbol 5468 Button | Uses:5467 | Used by:Timeline |
Symbol 5469 Graphic | Uses:5464 | Used by:5470 |
Symbol 5470 Button | Uses:5469 | Used by:Timeline |
Symbol 5471 Graphic | Uses:5464 | Used by:5472 |
Symbol 5472 Button | Uses:5471 | Used by:Timeline |
Symbol 5473 Graphic | Uses:5464 | Used by:5474 |
Symbol 5474 Button | Uses:5473 | Used by:Timeline |
Symbol 5475 Graphic | Uses:5464 | Used by:5476 |
Symbol 5476 Button | Uses:5475 | Used by:Timeline |
Symbol 5477 Graphic | Uses:5464 | Used by:5478 |
Symbol 5478 Button | Uses:5477 | Used by:Timeline |
Symbol 5479 Graphic | Uses:5464 | Used by:5480 |
Symbol 5480 Button | Uses:5479 | Used by:Timeline |
Symbol 5481 Graphic | Uses:5464 | Used by:5482 |
Symbol 5482 Button | Uses:5481 | Used by:Timeline |
Symbol 5483 Graphic | Uses:5464 | Used by:5484 |
Symbol 5484 Button | Uses:5483 | Used by:Timeline |
Symbol 5485 Graphic | Uses:5464 | Used by:5486 |
Symbol 5486 Button | Uses:5485 | Used by:Timeline |
Symbol 5487 Graphic | Uses:5464 | Used by:5488 |
Symbol 5488 Button | Uses:5487 | Used by:Timeline |
Symbol 5489 Graphic | Uses:5464 | Used by:5490 |
Symbol 5490 Button | Uses:5489 | Used by:Timeline |
Symbol 5491 Graphic | Uses:5464 | Used by:5492 |
Symbol 5492 Button | Uses:5491 | Used by:Timeline |
Symbol 5493 Graphic | Uses:5464 | Used by:5494 |
Symbol 5494 Button | Uses:5493 | Used by:Timeline |
Symbol 5495 Graphic | Uses:5464 | Used by:5496 |
Symbol 5496 Button | Uses:5495 | Used by:Timeline |
Symbol 5497 Graphic | Uses:5464 | Used by:5498 |
Symbol 5498 Button | Uses:5497 | Used by:Timeline |
Symbol 5499 Graphic | Uses:5464 | Used by:5500 |
Symbol 5500 Button | Uses:5499 | Used by:Timeline |
Symbol 5501 Graphic | Uses:5464 | Used by:5502 |
Symbol 5502 Button | Uses:5501 | Used by:Timeline |
Symbol 5503 Graphic | Uses:5464 | Used by:5504 |
Symbol 5504 Button | Uses:5503 | Used by:Timeline |
Symbol 5505 Graphic | Uses:5464 | Used by:5506 |
Symbol 5506 Button | Uses:5505 | Used by:Timeline |
Symbol 5507 Graphic | Uses:5464 | Used by:5508 |
Symbol 5508 Button | Uses:5507 | Used by:Timeline |
Symbol 5509 Graphic | Uses:5464 | Used by:5510 |
Symbol 5510 Button | Uses:5509 | Used by:Timeline |
Symbol 5511 Graphic | Uses:5464 | Used by:5512 |
Symbol 5512 Button | Uses:5511 | Used by:Timeline |
Symbol 5513 Graphic | Uses:5464 | Used by:5514 |
Symbol 5514 Button | Uses:5513 | Used by:Timeline |
Symbol 5515 Graphic | Uses:5464 | Used by:5516 |
Symbol 5516 Button | Uses:5515 | Used by:Timeline |
Symbol 5517 Graphic | Uses:5464 | Used by:5518 |
Symbol 5518 Button | Uses:5517 | Used by:Timeline |
Symbol 5519 Graphic | Uses:5464 | Used by:5520 |
Symbol 5520 Button | Uses:5519 | Used by:Timeline |
Symbol 5521 Graphic | Uses:5464 | Used by:5522 |
Symbol 5522 Button | Uses:5521 | Used by:Timeline |
Symbol 5523 Graphic | Uses:5464 | Used by:5524 |
Symbol 5524 Button | Uses:5523 | Used by:Timeline |
Symbol 5525 Graphic | Uses:5464 | Used by:5526 |
Symbol 5526 Button | Uses:5525 | Used by:Timeline |
Symbol 5527 Graphic | Uses:5464 | Used by:5528 |
Symbol 5528 Button | Uses:5527 | Used by:Timeline |
Symbol 5529 Graphic | Uses:5464 | Used by:5530 |
Symbol 5530 Button | Uses:5529 | Used by:Timeline |
Symbol 5531 Graphic | Uses:5464 | Used by:5532 |
Symbol 5532 Button | Uses:5531 | Used by:Timeline |
Symbol 5533 Graphic | Uses:5464 | Used by:5534 |
Symbol 5534 Button | Uses:5533 | Used by:Timeline |
Symbol 5535 Graphic | Uses:5464 | Used by:5536 |
Symbol 5536 Button | Uses:5535 | Used by:Timeline |
Symbol 5537 Graphic | Uses:5464 | Used by:5538 |
Symbol 5538 Button | Uses:5537 | Used by:Timeline |
Symbol 5539 Graphic | Uses:5464 | Used by:5540 |
Symbol 5540 Button | Uses:5539 | Used by:Timeline |
Symbol 5541 Graphic | Uses:5464 | Used by:5542 |
Symbol 5542 Button | Uses:5541 | Used by:Timeline |
Symbol 5543 Graphic | Uses:5464 | Used by:5544 |
Symbol 5544 Button | Uses:5543 | Used by:Timeline |
Symbol 5545 Graphic | Uses:5464 | Used by:5546 |
Symbol 5546 Button | Uses:5545 | Used by:Timeline |
Symbol 5547 Text | Uses:220 | Used by:Timeline |
Symbol 5548 Graphic | Uses:5464 | Used by:Timeline |
Symbol 5549 Text | Uses:220 | Used by:Timeline |
Symbol 5550 Text | Uses:220 | Used by:Timeline |
Symbol 5551 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5552 Text | Uses:220 | Used by:Timeline |
Symbol 5553 Text | Uses:220 | Used by:Timeline |
Symbol 5554 Text | Uses:220 | Used by:Timeline |
Symbol 5555 Text | Uses:4500 | Used by:Timeline |
Symbol 5556 Text | Uses:220 | Used by:Timeline |
Symbol 5557 Text | Uses:220 | Used by:Timeline |
Symbol 5558 Text | Uses:4500 | Used by:Timeline |
Symbol 5559 Text | Uses:220 | Used by:Timeline |
Symbol 5560 Text | Uses:4500 | Used by:Timeline |
Symbol 5561 Text | Uses:220 | Used by:Timeline |
Symbol 5562 Text | Uses:220 | Used by:Timeline |
Symbol 5563 Text | Uses:4500 | Used by:Timeline |
Symbol 5564 Text | Uses:220 | Used by:Timeline |
Symbol 5565 Text | Uses:4500 | Used by:Timeline |
Symbol 5566 Text | Uses:220 | Used by:Timeline |
Symbol 5567 Text | Uses:220 | Used by:Timeline |
Symbol 5568 Text | Uses:220 | Used by:Timeline |
Symbol 5569 Text | Uses:4500 | Used by:Timeline |
Symbol 5570 Text | Uses:220 | Used by:Timeline |
Symbol 5571 Text | Uses:4500 | Used by:Timeline |
Symbol 5572 Text | Uses:220 | Used by:Timeline |
Symbol 5573 Text | Uses:220 | Used by:Timeline |
Symbol 5574 Text | Uses:4500 | Used by:Timeline |
Symbol 5575 Text | Uses:220 | Used by:Timeline |
Symbol 5576 Text | Uses:4500 | Used by:Timeline |
Symbol 5577 Text | Uses:220 | Used by:Timeline |
Symbol 5578 Text | Uses:220 | Used by:Timeline |
Symbol 5579 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5580 Text | Uses:220 | Used by:Timeline |
Symbol 5581 Text | Uses:220 | Used by:Timeline |
Symbol 5582 Text | Uses:220 | Used by:Timeline |
Symbol 5583 Text | Uses:4500 | Used by:Timeline |
Symbol 5584 Text | Uses:220 | Used by:Timeline |
Symbol 5585 Text | Uses:220 | Used by:Timeline |
Symbol 5586 Text | Uses:220 | Used by:Timeline |
Symbol 5587 Text | Uses:220 | Used by:Timeline |
Symbol 5588 Text | Uses:4500 | Used by:Timeline |
Symbol 5589 Text | Uses:220 | Used by:Timeline |
Symbol 5590 Text | Uses:220 | Used by:Timeline |
Symbol 5591 Text | Uses:220 | Used by:Timeline |
Symbol 5592 Text | Uses:220 | Used by:Timeline |
Symbol 5593 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5594 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5595 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5596 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5597 Text | Uses:220 | Used by:Timeline |
Symbol 5598 EditableText | Uses:4500 5151 | Used by:Timeline |
Symbol 5599 Text | Uses:220 | Used by:Timeline |
Symbol 5600 Text | Uses:220 | Used by:Timeline |
Symbol 5601 Text | Uses:220 | Used by:Timeline |
Symbol 5602 Text | Uses:220 | Used by:Timeline |
Symbol 5603 Text | Uses:4500 | Used by:Timeline |
Symbol 5604 Text | Uses:220 | Used by:Timeline |
Symbol 5605 Text | Uses:220 | Used by:Timeline |
Symbol 5606 Text | Uses:220 | Used by:Timeline |
Symbol 5607 Text | Uses:220 | Used by:Timeline |
Symbol 5608 Text | Uses:220 | Used by:Timeline |
Symbol 5609 Text | Uses:4500 | Used by:Timeline |
Symbol 5610 Graphic | Used by:Timeline | |
Symbol 5611 Text | Uses:220 | Used by:Timeline |
Symbol 5612 Text | Uses:4500 | Used by:Timeline |
Symbol 5613 Text | Uses:220 | Used by:Timeline |
Symbol 5614 Text | Uses:220 | Used by:Timeline |
Symbol 5615 Text | Uses:220 | Used by:Timeline |
Symbol 5616 Text | Uses:220 | Used by:Timeline |
Symbol 5617 Text | Uses:220 | Used by:Timeline |
Symbol 5618 Text | Uses:220 | Used by:Timeline |
Symbol 5619 Text | Uses:4500 | Used by:Timeline |
Symbol 5620 Graphic | Used by:Timeline | |
Symbol 5621 Text | Uses:220 | Used by:Timeline |
Symbol 5622 Text | Uses:220 | Used by:Timeline |
Symbol 5623 Text | Uses:220 | Used by:5624 |
Symbol 5624 Button | Uses:5623 744 | Used by:Timeline |
Symbol 5625 Text | Uses:220 | Used by:5627 |
Symbol 5626 Graphic | Used by:5627 | |
Symbol 5627 Button | Uses:5625 5626 | Used by:Timeline |
Symbol 5628 Text | Uses:220 | Used by:5630 |
Symbol 5629 Graphic | Used by:5630 | |
Symbol 5630 Button | Uses:5628 5629 | Used by:Timeline |
Symbol 5631 Text | Uses:220 | Used by:5634 |
Symbol 5632 Graphic | Used by:5634 | |
Symbol 5633 Text | Uses:220 | Used by:5634 |
Symbol 5634 Button | Uses:5631 5632 5633 | Used by:Timeline |
Symbol 5635 Text | Uses:220 | Used by:5637 Timeline |
Symbol 5636 Graphic | Used by:5637 | |
Symbol 5637 Button | Uses:5635 5636 | Used by:Timeline |
Symbol 5638 EditableText | Uses:1178 | Used by:Timeline |
Symbol 5639 Button | Uses:1543 1544 1545 1546 1547 | Used by:Timeline |
Symbol 5640 Text | Uses:220 | Used by:Timeline |
Symbol 5641 Text | Uses:220 | Used by:Timeline |
Symbol 5642 Text | Uses:220 | Used by:Timeline |
Symbol 5643 Text | Uses:220 | Used by:Timeline |
Symbol 5644 Text | Uses:220 | Used by:Timeline |
Symbol 5645 Text | Uses:220 | Used by:Timeline |
Symbol 5646 Text | Uses:220 | Used by:Timeline |
Symbol 5647 Text | Uses:220 | Used by:Timeline |
Symbol 5648 Text | Uses:220 | Used by:Timeline |
Symbol 5649 Text | Uses:220 | Used by:Timeline |
Symbol 5650 Text | Uses:220 | Used by:Timeline |
Symbol 5651 Text | Uses:220 | Used by:Timeline |
Symbol 5652 Text | Uses:220 | Used by:Timeline |
Symbol 5653 Text | Uses:220 | Used by:Timeline |
Symbol 5654 Text | Uses:220 | Used by:Timeline |
Symbol 5655 Text | Uses:220 | Used by:Timeline |
Symbol 5656 Text | Uses:220 | Used by:Timeline |
Symbol 5657 Text | Uses:220 | Used by:Timeline |
Symbol 5658 Text | Uses:220 | Used by:Timeline |
Symbol 5659 Text | Uses:220 | Used by:Timeline |
Symbol 5660 Text | Uses:220 | Used by:Timeline |
Symbol 5661 Text | Uses:220 | Used by:Timeline |
Symbol 5662 Text | Uses:220 | Used by:Timeline |
Symbol 5663 Text | Uses:220 | Used by:Timeline |
Symbol 5664 Text | Uses:220 | Used by:Timeline |
Symbol 5665 Text | Uses:220 | Used by:Timeline |
Symbol 5666 Text | Uses:220 | Used by:Timeline |
Symbol 5667 Text | Uses:220 | Used by:Timeline |
Symbol 5668 Text | Uses:220 | Used by:Timeline |
Symbol 5669 Text | Uses:220 | Used by:Timeline |
Symbol 5670 Text | Uses:220 | Used by:Timeline |
Symbol 5671 Graphic | Used by:5674 5676 | |
Symbol 5672 Text | Uses:220 | Used by:5674 5676 |
Symbol 5673 Text | Uses:220 | Used by:5676 |
Symbol 5674 MovieClip | Uses:5672 5671 | Used by:5676 |
Symbol 5675 Graphic | Used by:5676 | |
Symbol 5676 Button | Uses:5671 5672 5673 5674 5675 | Used by:Timeline |
Symbol 5677 Graphic | Used by:5680 5683 | |
Symbol 5678 Text | Uses:220 | Used by:5680 5683 |
Symbol 5679 Text | Uses:220 | Used by:5683 |
Symbol 5680 MovieClip | Uses:5678 5677 | Used by:5683 |
Symbol 5681 Graphic | Used by:5683 | |
Symbol 5682 Text | Uses:220 | Used by:5683 |
Symbol 5683 Button | Uses:5677 5678 5679 5680 5681 5682 | Used by:Timeline |
Symbol 5684 Text | Uses:220 | Used by:5686 5688 |
Symbol 5685 Graphic | Used by:5686 5688 | |
Symbol 5686 MovieClip | Uses:5684 5685 | Used by:5691 |
Symbol 5687 Text | Uses:220 | Used by:5691 |
Symbol 5688 MovieClip | Uses:5684 5685 | Used by:5691 |
Symbol 5689 Graphic | Used by:5691 | |
Symbol 5690 Text | Uses:220 | Used by:5691 |
Symbol 5691 Button | Uses:5686 5687 5688 5689 5690 | Used by:Timeline |
Symbol 5692 Graphic | Used by:5695 5697 | |
Symbol 5693 Text | Uses:220 | Used by:5695 5697 |
Symbol 5694 Text | Uses:220 | Used by:5697 |
Symbol 5695 MovieClip | Uses:5693 5692 | Used by:5697 |
Symbol 5696 Graphic | Used by:5697 | |
Symbol 5697 Button | Uses:5692 5693 5694 5695 5696 | Used by:Timeline |
Symbol 5698 Graphic | Used by:5700 5703 | |
Symbol 5699 Text | Uses:220 | Used by:5703 |
Symbol 5700 MovieClip | Uses:5698 | Used by:5703 |
Symbol 5701 Text | Uses:220 | Used by:5703 |
Symbol 5702 Graphic | Used by:5703 | |
Symbol 5703 Button | Uses:5698 5699 5700 5701 5702 | Used by:Timeline |
Symbol 5704 Text | Uses:220 | Used by:Timeline |
Symbol 5705 Text | Uses:220 | Used by:Timeline |
Symbol 5706 Text | Uses:220 | Used by:Timeline |
Symbol 5707 Text | Uses:220 | Used by:Timeline |
Symbol 5708 Graphic | Used by:Timeline | |
Symbol 5709 Text | Uses:220 | Used by:Timeline |
Symbol 5710 Text | Uses:220 | Used by:Timeline |
Symbol 5711 Text | Uses:220 | Used by:Timeline |
Symbol 5712 Text | Uses:220 | Used by:Timeline |
Symbol 5713 Text | Uses:220 | Used by:Timeline |
Symbol 5714 Text | Uses:220 | Used by:Timeline |
Symbol 5715 Text | Uses:220 | Used by:Timeline |
Symbol 5716 Text | Uses:220 | Used by:Timeline |
Symbol 5717 Text | Uses:220 | Used by:Timeline |
Symbol 5718 Text | Uses:220 | Used by:Timeline |
Symbol 5719 Text | Uses:220 | Used by:Timeline |
Symbol 5720 Graphic | Used by:Timeline | |
Symbol 5721 Text | Uses:220 | Used by:Timeline |
Symbol 5722 Text | Uses:220 | Used by:Timeline |
Symbol 5723 Text | Uses:220 | Used by:Timeline |
Symbol 5724 Text | Uses:220 | Used by:Timeline |
Symbol 5725 EditableText | Uses:220 736 3479 | Used by:Timeline |
Symbol 5726 Text | Uses:220 | Used by:Timeline |
Symbol 5727 Text | Uses:220 | Used by:Timeline |
Symbol 5728 Text | Uses:220 | Used by:Timeline |
Symbol 5729 Text | Uses:220 | Used by:Timeline |
Symbol 5730 Text | Uses:220 | Used by:Timeline |
Symbol 5731 Text | Uses:220 | Used by:Timeline |
Symbol 5732 Text | Uses:220 | Used by:Timeline |
Symbol 5733 Text | Uses:220 | Used by:Timeline |
Symbol 5734 Text | Uses:220 | Used by:Timeline |
Symbol 5735 Bitmap | Used by:5736 | |
Symbol 5736 Graphic | Uses:5735 | Used by:5737 |
Symbol 5737 MovieClip | Uses:5736 | Used by:Timeline |
Symbol 5738 Text | Uses:220 | Used by:Timeline |
Symbol 5739 Text | Uses:220 | Used by:Timeline |
Symbol 5740 Bitmap | Used by:5741 | |
Symbol 5741 Graphic | Uses:5740 | Used by:5742 |
Symbol 5742 MovieClip | Uses:5741 | Used by:Timeline |
Symbol 5743 Text | Uses:220 | Used by:Timeline |
Symbol 5744 Text | Uses:220 | Used by:5747 |
Symbol 5745 Graphic | Used by:5747 | |
Symbol 5746 Text | Uses:220 | Used by:5747 |
Symbol 5747 Button | Uses:5744 5745 5746 | Used by:Timeline |
Symbol 5748 Text | Uses:220 | Used by:Timeline |
Symbol 5749 Text | Uses:220 | Used by:Timeline |
Symbol 5750 Bitmap | Used by:5751 | |
Symbol 5751 Graphic | Uses:5750 | Used by:5752 |
Symbol 5752 MovieClip | Uses:5751 | Used by:Timeline |
Symbol 5753 Text | Uses:220 | Used by:Timeline |
Symbol 5754 Bitmap | Used by:5755 | |
Symbol 5755 Graphic | Uses:5754 | Used by:5756 |
Symbol 5756 MovieClip | Uses:5755 | Used by:Timeline |
Symbol 5757 Text | Uses:220 | Used by:Timeline |
Symbol 5758 Text | Uses:220 | Used by:Timeline |
Symbol 5759 Text | Uses:220 | Used by:Timeline |
Symbol 5760 Bitmap | Used by:5761 | |
Symbol 5761 Graphic | Uses:5760 | Used by:5762 |
Symbol 5762 MovieClip | Uses:5761 | Used by:Timeline |
Symbol 5763 Text | Uses:220 | Used by:Timeline |
Symbol 5764 Bitmap | Used by:5765 | |
Symbol 5765 Graphic | Uses:5764 | Used by:5766 |
Symbol 5766 MovieClip | Uses:5765 | Used by:Timeline |
Symbol 5767 Text | Uses:220 | Used by:Timeline |
Symbol 5768 Bitmap | Used by:5769 | |
Symbol 5769 Graphic | Uses:5768 | Used by:5770 |
Symbol 5770 MovieClip | Uses:5769 | Used by:Timeline |
Symbol 5771 Text | Uses:220 | Used by:Timeline |
Symbol 5772 Text | Uses:220 | Used by:Timeline |
Symbol 5773 Text | Uses:220 | Used by:Timeline |
Symbol 5774 Text | Uses:220 | Used by:Timeline |
Symbol 5775 Text | Uses:220 | Used by:Timeline |
Symbol 5776 Text | Uses:220 | Used by:Timeline |
Symbol 5777 Text | Uses:220 | Used by:Timeline |
Symbol 5778 Text | Uses:220 | Used by:Timeline |
Symbol 5779 Text | Uses:220 | Used by:Timeline |
Symbol 5780 Text | Uses:220 | Used by:Timeline |
Symbol 5781 Bitmap | Used by:5782 | |
Symbol 5782 Graphic | Uses:5781 | Used by:5783 |
Symbol 5783 MovieClip | Uses:5782 | Used by:Timeline |
Symbol 5784 Text | Uses:220 | Used by:Timeline |
Symbol 5785 Bitmap | Used by:5786 | |
Symbol 5786 Graphic | Uses:5785 | Used by:5787 |
Symbol 5787 MovieClip | Uses:5786 | Used by:Timeline |
Symbol 5788 Text | Uses:220 | Used by:Timeline |
Symbol 5789 Graphic | Used by:Timeline | |
Symbol 5790 Text | Uses:220 | Used by:Timeline |
Symbol 5791 Text | Uses:220 | Used by:5793 |
Symbol 5792 Graphic | Used by:5793 | |
Symbol 5793 Button | Uses:5791 5792 | Used by:Timeline |
Symbol 5794 Text | Uses:220 | Used by:Timeline |
Symbol 5795 Text | Uses:220 | Used by:Timeline |
Symbol 5796 Text | Uses:220 | Used by:Timeline |
Symbol 5797 Text | Uses:220 | Used by:Timeline |
Symbol 5798 Text | Uses:220 | Used by:Timeline |
Symbol 5799 Text | Uses:220 | Used by:Timeline |
Symbol 5800 Text | Uses:220 | Used by:Timeline |
Symbol 5801 Text | Uses:220 | Used by:Timeline |
Symbol 5802 Text | Uses:220 | Used by:Timeline |
Symbol 5803 Text | Uses:220 | Used by:5804 |
Symbol 5804 Button | Uses:5803 | Used by:Timeline |
Symbol 5805 Text | Uses:220 | Used by:5806 |
Symbol 5806 Button | Uses:5805 | Used by:Timeline |
Symbol 5807 Text | Uses:220 | Used by:Timeline |
Symbol 5808 Graphic | Used by:5809 | |
Symbol 5809 MovieClip | Uses:5808 | Used by:5813 |
Symbol 5810 Graphic | Used by:5811 | |
Symbol 5811 MovieClip | Uses:5810 | Used by:5813 |
Symbol 5812 Graphic | Used by:5813 | |
Symbol 5813 MovieClip | Uses:5811 5812 5809 | Used by:Timeline |
Symbol 5814 Graphic | Used by:5815 | |
Symbol 5815 MovieClip | Uses:5814 SS1 | Used by:Timeline |
Symbol 5816 Text | Uses:220 | Used by:Timeline |
Symbol 5817 Text | Uses:220 | Used by:Timeline |
Streaming Sound 1 | Used by:Symbol 5815 MovieClip |
Instance Names
"bob" | Frame 1 | Symbol 222 MovieClip |
"layout" | Frame 2 | Symbol 227 Button |
"hotkey" | Frame 2 | Symbol 232 Button |
"soundLoaded" | Frame 2 | Symbol 235 MovieClip |
"yoko" | Frame 2 | Symbol 713 MovieClip |
"men2" | Frame 2 | Symbol 718 Button |
"men1" | Frame 2 | Symbol 723 Button |
"pre" | Frame 2 | Symbol 755 MovieClip |
"men" | Frame 4 | Symbol 812 MovieClip |
"bigmen" | Frame 4 | Symbol 955 MovieClip |
"blinanor2" | Frame 4 | Symbol 1083 MovieClip |
"blinanor" | Frame 4 | Symbol 1086 MovieClip |
"menlim" | Frame 5 | Symbol 1099 MovieClip |
"btn01" | Frame 5 | Symbol 1487 MovieClip |
"btn11" | Frame 5 | Symbol 1507 MovieClip |
"btn00" | Frame 5 | Symbol 1542 MovieClip |
"menutxt" | Frame 5 | Symbol 1599 Button |
"back" | Frame 5 | Symbol 1602 MovieClip |
"arrowb" | Frame 8 | Symbol 1643 Button |
"yigmen" | Frame 278 | Symbol 3700 MovieClip |
"btn01" | Frame 356 | Symbol 4312 Button |
"totalrod" | Frame 510 | Symbol 4812 MovieClip |
"codekey" | Frame 676 | Symbol 5460 MovieClip |
"musicSlider" | Frame 764 | Symbol 5813 MovieClip |
"b" | Symbol 15 MovieClip [SimpleButtonDown] Frame 1 | Symbol 12 MovieClip [BrdrShdw] |
"face" | Symbol 15 MovieClip [SimpleButtonDown] Frame 1 | Symbol 14 MovieClip [BrdrFace] |
"b" | Symbol 20 MovieClip [SimpleButtonIn] Frame 1 | Symbol 17 MovieClip [BrdrBlk] |
"it" | Symbol 20 MovieClip [SimpleButtonIn] Frame 1 | Symbol 19 MovieClip [BrdrHilght] |
"g" | Symbol 20 MovieClip [SimpleButtonIn] Frame 1 | Symbol 12 MovieClip [BrdrShdw] |
"face" | Symbol 20 MovieClip [SimpleButtonIn] Frame 1 | Symbol 14 MovieClip [BrdrFace] |
"ob" | Symbol 21 MovieClip [SimpleButtonUp] Frame 1 | Symbol 17 MovieClip [BrdrBlk] |
"ol" | Symbol 21 MovieClip [SimpleButtonUp] Frame 1 | Symbol 14 MovieClip [BrdrFace] |
"ib" | Symbol 21 MovieClip [SimpleButtonUp] Frame 1 | Symbol 12 MovieClip [BrdrShdw] |
"il" | Symbol 21 MovieClip [SimpleButtonUp] Frame 1 | Symbol 19 MovieClip [BrdrHilght] |
"face" | Symbol 21 MovieClip [SimpleButtonUp] Frame 1 | Symbol 14 MovieClip [BrdrFace] |
"boundingBox_mc" | Symbol 29 MovieClip [FocusRect] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"tabCapture" | Symbol 30 MovieClip [FocusManager] Frame 1 | Symbol 27 Button |
"boundingBox_mc" | Symbol 33 MovieClip [SimpleButton] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 37 MovieClip [Button] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"dfs" | Symbol 93 MovieClip [BtnDownArrow] Frame 1 | Symbol 41 MovieClip [ScrollTrack] |
"dfs" | Symbol 94 MovieClip [BtnUpArrow] Frame 1 | Symbol 41 MovieClip [ScrollTrack] |
"boundingBox_mc" | Symbol 96 MovieClip [VScrollBar] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 97 MovieClip [HScrollBar] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 98 MovieClip [UIScrollBar] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 131 MovieClip [View] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 132 MovieClip [ScrollView] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 152 MovieClip [Menu] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 160 MovieClip [MenuBar] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"boundingBox_mc" | Symbol 192 MovieClip [CheckBox] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"l_mc" | Symbol 202 MovieClip [TitleBackground] Frame 1 | Symbol 197 MovieClip [TitleLeft] |
"m_mc" | Symbol 202 MovieClip [TitleBackground] Frame 1 | Symbol 199 MovieClip [TitleMiddle] |
"r_mc" | Symbol 202 MovieClip [TitleBackground] Frame 1 | Symbol 201 MovieClip [TitleRight] |
"boundingBox_mc" | Symbol 212 MovieClip [Window] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"label" | Symbol 215 MovieClip [TextArea] Frame 1 | Symbol 214 EditableText |
"boundingBox_mc" | Symbol 217 MovieClip [Alert] Frame 1 | Symbol 10 MovieClip [BoundingBox] |
"lineso" | Symbol 755 MovieClip Frame 1 | Symbol 725 MovieClip |
"percent1" | Symbol 755 MovieClip Frame 1 | Symbol 737 EditableText |
"bar" | Symbol 755 MovieClip Frame 1 | Symbol 739 MovieClip |
"btn11" | Symbol 755 MovieClip Frame 3 | Symbol 754 Button |
"vis4" | Symbol 811 MovieClip Frame 1 | Symbol 770 Button |
"vis1" | Symbol 811 MovieClip Frame 1 | Symbol 771 Button |
"vis2" | Symbol 811 MovieClip Frame 1 | Symbol 772 Button |
"vis3" | Symbol 811 MovieClip Frame 1 | Symbol 773 Button |
"btn" | Symbol 811 MovieClip Frame 1 | Symbol 781 Button |
"InstanceName_0" | Symbol 811 MovieClip Frame 1 | Symbol 783 EditableText |
"hide" | Symbol 811 MovieClip Frame 1 | Symbol 798 Button |
"back" | Symbol 812 MovieClip Frame 1 | Symbol 811 MovieClip |
"holdin" | Symbol 860 MovieClip Frame 1 | Symbol 857 MovieClip |
"movein3" | Symbol 878 MovieClip Frame 1 | Symbol 875 MovieClip |
"movein2" | Symbol 896 MovieClip Frame 1 | Symbol 893 MovieClip |
"swiftbtn1" | Symbol 948 MovieClip Frame 1 | Symbol 899 MovieClip |
"movein1" | Symbol 948 MovieClip Frame 1 | Symbol 945 MovieClip |
"swiftbtn2" | Symbol 948 MovieClip Frame 2 | Symbol 947 MovieClip |
"vis4" | Symbol 955 MovieClip Frame 1 | Symbol 770 Button |
"vis1" | Symbol 955 MovieClip Frame 1 | Symbol 771 Button |
"vis2" | Symbol 955 MovieClip Frame 1 | Symbol 772 Button |
"vis3" | Symbol 955 MovieClip Frame 1 | Symbol 773 Button |
"questiontbtn" | Symbol 955 MovieClip Frame 1 | Symbol 830 Button |
"btn1111" | Symbol 955 MovieClip Frame 1 | Symbol 781 Button |
"InstanceName_0" | Symbol 955 MovieClip Frame 1 | Symbol 831 EditableText |
"input1" | Symbol 955 MovieClip Frame 1 | Symbol 832 EditableText |
"input2" | Symbol 955 MovieClip Frame 1 | Symbol 834 EditableText |
"slider" | Symbol 955 MovieClip Frame 1 | Symbol 841 MovieClip |
"otherbtn" | Symbol 955 MovieClip Frame 1 | Symbol 860 MovieClip |
"asbtn" | Symbol 955 MovieClip Frame 1 | Symbol 878 MovieClip |
"flashbtn" | Symbol 955 MovieClip Frame 1 | Symbol 896 MovieClip |
"swiftbtn" | Symbol 955 MovieClip Frame 1 | Symbol 948 MovieClip |
"hotOff" | Symbol 955 MovieClip Frame 1 | Symbol 950 MovieClip |
"nord" | Symbol 1507 MovieClip Frame 20 | Symbol 1493 Button |
"moveinaa" | Symbol 3692 MovieClip Frame 1 | Symbol 3691 MovieClip |
"moveina" | Symbol 3695 MovieClip Frame 1 | Symbol 3692 MovieClip |
"assbtn" | Symbol 3700 MovieClip Frame 1 | Symbol 3681 MovieClip |
"gfbtn" | Symbol 3700 MovieClip Frame 1 | Symbol 3684 MovieClip |
"ffbtn" | Symbol 3700 MovieClip Frame 1 | Symbol 3695 MovieClip |
"mask" | Symbol 3914 MovieClip Frame 1 | Symbol 3910 MovieClip |
"arrowA" | Symbol 4812 MovieClip Frame 1 | Symbol 4804 MovieClip |
"bot" | Symbol 4812 MovieClip Frame 1 | Symbol 4811 Button |
"tehredbox" | Symbol 5813 MovieClip Frame 1 | Symbol 5811 MovieClip |
"hyperbola" | Symbol 5813 MovieClip Frame 1 | Symbol 5809 MovieClip |
Special Tags
FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata present, AS1/AS2. |
SWFMetaData (77) | Timeline Frame 1 | 448 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns ..." |
Protect (24) | Timeline Frame 1 | 31 bytes "..$1$DF$EU0t6vBXxudkxdqxibSlM/." |
ExportAssets (56) | Timeline Frame 1 | Symbol 1 as "s2" |
ExportAssets (56) | Timeline Frame 1 | Symbol 2 as "s1" |
ExportAssets (56) | Timeline Frame 1 | Symbol 4 as "snow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 10 as "BoundingBox" |
ExportAssets (56) | Timeline Frame 1 | Symbol 12 as "BrdrShdw" |
ExportAssets (56) | Timeline Frame 1 | Symbol 14 as "BrdrFace" |
ExportAssets (56) | Timeline Frame 1 | Symbol 15 as "SimpleButtonDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 17 as "BrdrBlk" |
ExportAssets (56) | Timeline Frame 1 | Symbol 19 as "BrdrHilght" |
ExportAssets (56) | Timeline Frame 1 | Symbol 20 as "SimpleButtonIn" |
ExportAssets (56) | Timeline Frame 1 | Symbol 21 as "SimpleButtonUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 22 as "Defaults" |
ExportAssets (56) | Timeline Frame 1 | Symbol 23 as "UIObjectExtensions" |
ExportAssets (56) | Timeline Frame 1 | Symbol 24 as "UIObject" |
ExportAssets (56) | Timeline Frame 1 | Symbol 29 as "FocusRect" |
ExportAssets (56) | Timeline Frame 1 | Symbol 30 as "FocusManager" |
ExportAssets (56) | Timeline Frame 1 | Symbol 31 as "UIComponentExtensions" |
ExportAssets (56) | Timeline Frame 1 | Symbol 32 as "UIComponent" |
ExportAssets (56) | Timeline Frame 1 | Symbol 33 as "SimpleButton" |
ExportAssets (56) | Timeline Frame 1 | Symbol 34 as "Border" |
ExportAssets (56) | Timeline Frame 1 | Symbol 35 as "RectBorder" |
ExportAssets (56) | Timeline Frame 1 | Symbol 36 as "ButtonSkin" |
ExportAssets (56) | Timeline Frame 1 | Symbol 37 as "Button" |
ExportAssets (56) | Timeline Frame 1 | Symbol 38 as "CustomBorder" |
ExportAssets (56) | Timeline Frame 1 | Symbol 41 as "ScrollTrack" |
ExportAssets (56) | Timeline Frame 1 | Symbol 48 as "ScrollDownArrowDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 50 as "ScrollThemeColor1" |
ExportAssets (56) | Timeline Frame 1 | Symbol 52 as "ScrollThemeColor2" |
ExportAssets (56) | Timeline Frame 1 | Symbol 53 as "ScrollDownArrowDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 54 as "ScrollDownArrowOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 55 as "ScrollDownArrowUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 61 as "ScrollThumbBottomDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 63 as "ThumbThemeColor1" |
ExportAssets (56) | Timeline Frame 1 | Symbol 65 as "ThumbThemeColor3" |
ExportAssets (56) | Timeline Frame 1 | Symbol 66 as "ScrollThumbBottomDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 67 as "ScrollThumbBottomOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 68 as "ScrollThumbBottomUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 70 as "ScrollThumbGripDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 72 as "ThumbThemeColor2" |
ExportAssets (56) | Timeline Frame 1 | Symbol 73 as "ScrollThumbGripDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 74 as "ScrollThumbGripOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 75 as "ScrollThumbGripUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 77 as "ScrollThumbMiddleDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 78 as "ScrollThumbMiddleDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 82 as "ScrollThumbMiddleOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 83 as "ScrollThumbMiddleUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 84 as "ScrollThumbTopDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 85 as "ScrollThumbTopDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 86 as "ScrollThumbTopOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 87 as "ScrollThumbTopUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 88 as "ScrollTrackDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 89 as "ScrollUpArrowDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 90 as "ScrollUpArrowDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 91 as "ScrollUpArrowOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 92 as "ScrollUpArrowUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 93 as "BtnDownArrow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 94 as "BtnUpArrow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 95 as "ScrollBarAssets" |
ExportAssets (56) | Timeline Frame 1 | Symbol 96 as "VScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 97 as "HScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 98 as "UIScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 126 as "MenuBarItem" |
ExportAssets (56) | Timeline Frame 1 | Symbol 127 as "ActivatorSkin" |
ExportAssets (56) | Timeline Frame 1 | Symbol 128 as "DataProvider" |
ExportAssets (56) | Timeline Frame 1 | Symbol 129 as "DataSelector" |
ExportAssets (56) | Timeline Frame 1 | Symbol 130 as "SelectableRow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 131 as "View" |
ExportAssets (56) | Timeline Frame 1 | Symbol 132 as "ScrollView" |
ExportAssets (56) | Timeline Frame 1 | Symbol 133 as "ScrollSelectList" |
ExportAssets (56) | Timeline Frame 1 | Symbol 135 as "MenuBranchDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 137 as "MenuBranchEnabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 139 as "MenuCheckDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 141 as "MenuCheckEnabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 143 as "MenuRadioDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 145 as "MenuRadioEnabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 147 as "MenuSeparator" |
ExportAssets (56) | Timeline Frame 1 | Symbol 148 as "MenuAssets" |
ExportAssets (56) | Timeline Frame 1 | Symbol 149 as "MenuRow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 150 as "TreeDataProvider" |
ExportAssets (56) | Timeline Frame 1 | Symbol 151 as "MenuDataProvider" |
ExportAssets (56) | Timeline Frame 1 | Symbol 152 as "Menu" |
ExportAssets (56) | Timeline Frame 1 | Symbol 154 as "MenuBarBackLeft" |
ExportAssets (56) | Timeline Frame 1 | Symbol 156 as "MenuBarBackMiddle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 158 as "MenuBarBackRight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 159 as "MenuBarAssets" |
ExportAssets (56) | Timeline Frame 1 | Symbol 160 as "MenuBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 178 as "CheckFalseDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 180 as "CheckThemeColor1" |
ExportAssets (56) | Timeline Frame 1 | Symbol 182 as "CheckFalseDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 183 as "CheckFalseOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 185 as "CheckFalseUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 187 as "CheckTrueDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 188 as "CheckTrueDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 189 as "CheckTrueOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 190 as "CheckTrueUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 191 as "CheckBoxAssets" |
ExportAssets (56) | Timeline Frame 1 | Symbol 192 as "CheckBox" |
ExportAssets (56) | Timeline Frame 1 | Symbol 195 as "Modal" |
ExportAssets (56) | Timeline Frame 1 | Symbol 197 as "TitleLeft" |
ExportAssets (56) | Timeline Frame 1 | Symbol 199 as "TitleMiddle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 201 as "TitleRight" |
ExportAssets (56) | Timeline Frame 1 | Symbol 202 as "TitleBackground" |
ExportAssets (56) | Timeline Frame 1 | Symbol 204 as "CloseButtonDisabled" |
ExportAssets (56) | Timeline Frame 1 | Symbol 206 as "CloseButtonDown" |
ExportAssets (56) | Timeline Frame 1 | Symbol 208 as "CloseButtonOver" |
ExportAssets (56) | Timeline Frame 1 | Symbol 210 as "CloseButtonUp" |
ExportAssets (56) | Timeline Frame 1 | Symbol 211 as "WindowAssets" |
ExportAssets (56) | Timeline Frame 1 | Symbol 212 as "Window" |
ExportAssets (56) | Timeline Frame 1 | Symbol 215 as "TextArea" |
ExportAssets (56) | Timeline Frame 1 | Symbol 216 as "AlertAssets" |
ExportAssets (56) | Timeline Frame 1 | Symbol 217 as "Alert" |
ExportAssets (56) | Timeline Frame 1 | Symbol 5 as "__Packages.mx.core.UIObject" |
ExportAssets (56) | Timeline Frame 1 | Symbol 99 as "__Packages.mx.skins.SkinElement" |
ExportAssets (56) | Timeline Frame 1 | Symbol 100 as "__Packages.mx.styles.CSSTextStyles" |
ExportAssets (56) | Timeline Frame 1 | Symbol 102 as "__Packages.mx.styles.CSSStyleDeclaration" |
ExportAssets (56) | Timeline Frame 1 | Symbol 101 as "__Packages.mx.styles.StyleManager" |
ExportAssets (56) | Timeline Frame 1 | Symbol 6 as "__Packages.mx.core.UIComponent" |
ExportAssets (56) | Timeline Frame 1 | Symbol 161 as "__Packages.mx.core.View" |
ExportAssets (56) | Timeline Frame 1 | Symbol 103 as "__Packages.mx.skins.Border" |
ExportAssets (56) | Timeline Frame 1 | Symbol 121 as "__Packages.mx.skins.RectBorder" |
ExportAssets (56) | Timeline Frame 1 | Symbol 114 as "__Packages.mx.managers.DepthManager" |
ExportAssets (56) | Timeline Frame 1 | Symbol 162 as "__Packages.mx.core.ExternalContent" |
ExportAssets (56) | Timeline Frame 1 | Symbol 109 as "__Packages.mx.events.EventDispatcher" |
ExportAssets (56) | Timeline Frame 1 | Symbol 110 as "__Packages.mx.events.UIEventDispatcher" |
ExportAssets (56) | Timeline Frame 1 | Symbol 163 as "__Packages.mx.core.ScrollView" |
ExportAssets (56) | Timeline Frame 1 | Symbol 7 as "__Packages.mx.controls.scrollClasses.ScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 104 as "__Packages.mx.skins.CustomBorder" |
ExportAssets (56) | Timeline Frame 1 | Symbol 105 as "__Packages.mx.controls.scrollClasses.ScrollThumb" |
ExportAssets (56) | Timeline Frame 1 | Symbol 106 as "__Packages.mx.controls.SimpleButton" |
ExportAssets (56) | Timeline Frame 1 | Symbol 193 as "__Packages.mx.containers.Window" |
ExportAssets (56) | Timeline Frame 1 | Symbol 115 as "__Packages.mx.managers.SystemManager" |
ExportAssets (56) | Timeline Frame 1 | Symbol 194 as "__Packages.mx.controls.Alert" |
ExportAssets (56) | Timeline Frame 1 | Symbol 169 as "__Packages.mx.managers.PopUpManager" |
ExportAssets (56) | Timeline Frame 1 | Symbol 219 as "__Packages.mx.controls.alertClasses.AlertForm" |
ExportAssets (56) | Timeline Frame 1 | Symbol 218 as "__Packages.mx.controls.TextArea" |
ExportAssets (56) | Timeline Frame 1 | Symbol 108 as "__Packages.mx.controls.Button" |
ExportAssets (56) | Timeline Frame 1 | Symbol 8 as "__Packages.mx.controls.UIScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 107 as "__Packages.mx.controls.VScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 111 as "__Packages.mx.skins.ColoredSkinElement" |
ExportAssets (56) | Timeline Frame 1 | Symbol 112 as "__Packages.mx.core.ext.UIObjectExtensions" |
ExportAssets (56) | Timeline Frame 1 | Symbol 113 as "__Packages.mx.skins.halo.Defaults" |
ExportAssets (56) | Timeline Frame 1 | Symbol 116 as "__Packages.mx.managers.FocusManager" |
ExportAssets (56) | Timeline Frame 1 | Symbol 117 as "__Packages.mx.skins.halo.FocusRect" |
ExportAssets (56) | Timeline Frame 1 | Symbol 118 as "__Packages.mx.managers.OverlappedWindows" |
ExportAssets (56) | Timeline Frame 1 | Symbol 119 as "__Packages.mx.styles.CSSSetStyle" |
ExportAssets (56) | Timeline Frame 1 | Symbol 120 as "__Packages.mx.core.ext.UIComponentExtensions" |
ExportAssets (56) | Timeline Frame 1 | Symbol 122 as "__Packages.mx.skins.halo.RectBorder" |
ExportAssets (56) | Timeline Frame 1 | Symbol 123 as "__Packages.mx.skins.halo.ButtonSkin" |
ExportAssets (56) | Timeline Frame 1 | Symbol 124 as "__Packages.mx.controls.HScrollBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 125 as "__Packages.mx.controls.MenuBar" |
ExportAssets (56) | Timeline Frame 1 | Symbol 164 as "__Packages.mx.controls.listclasses.DataSelector" |
ExportAssets (56) | Timeline Frame 1 | Symbol 165 as "__Packages.mx.controls.listclasses.DataProvider" |
ExportAssets (56) | Timeline Frame 1 | Symbol 166 as "__Packages.mx.controls.listclasses.ScrollSelectList" |
ExportAssets (56) | Timeline Frame 1 | Symbol 167 as "__Packages.mx.controls.treeclasses.TreeDataProvider" |
ExportAssets (56) | Timeline Frame 1 | Symbol 168 as "__Packages.mx.controls.menuclasses.MenuDataProvider" |
ExportAssets (56) | Timeline Frame 1 | Symbol 170 as "__Packages.mx.effects.Tween" |
ExportAssets (56) | Timeline Frame 1 | Symbol 171 as "__Packages.mx.controls.Menu" |
ExportAssets (56) | Timeline Frame 1 | Symbol 172 as "__Packages.mx.skins.halo.ActivatorSkin" |
ExportAssets (56) | Timeline Frame 1 | Symbol 173 as "__Packages.mx.controls.menuclasses.MenuBarItem" |
ExportAssets (56) | Timeline Frame 1 | Symbol 174 as "__Packages.mx.controls.listclasses.SelectableRow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 175 as "__Packages.mx.controls.menuclasses.MenuRow" |
ExportAssets (56) | Timeline Frame 1 | Symbol 176 as "__Packages.mx.controls.CheckBox" |
ExportAssets (56) | Timeline Frame 4 | Symbol 1074 as "ots" |
ExportAssets (56) | Timeline Frame 4 | Symbol 1075 as "yay" |
ExportAssets (56) | Timeline Frame 4 | Symbol 1085 as "bleep" |
EnableDebugger2 (64) | Timeline Frame 1 | 31 bytes "..$1$wP$GbLsEomsX/n8Z3io7p8sC/." |
DebugMX1 (63) | Timeline Frame 1 |
Labels
"main" | Frame 4 |
"swift" | Frame 5 |
"sm1" | Frame 6 |
"swift1" | Frame 7 |
"swift2" | Frame 24 |
"swift3" | Frame 48 |
"swift4" | Frame 74 |
"sm2" | Frame 117 |
"swift5" | Frame 118 |
"swift6" | Frame 125 |
"swift7" | Frame 138 |
"sm3" | Frame 150 |
"swift8" | Frame 151 |
"swift9" | Frame 158 |
"sm4" | Frame 170 |
"swift10" | Frame 171 |
"swift11" | Frame 186 |
"swift12" | Frame 201 |
"swift13" | Frame 244 |
"aa" | Frame 247 |
"ab" | Frame 249 |
"ac" | Frame 251 |
"a1" | Frame 253 |
"a2" | Frame 255 |
"a3" | Frame 257 |
"a4" | Frame 259 |
"a5" | Frame 261 |
"a6" | Frame 263 |
"a7" | Frame 265 |
"a8" | Frame 267 |
"a9" | Frame 269 |
"a10" | Frame 271 |
"a11" | Frame 273 |
"a12" | Frame 275 |
"the end" | Frame 277 |
"flash" | Frame 278 |
"fm1" | Frame 279 |
"flash1" | Frame 280 |
"flash3" | Frame 284 |
"flash2" | Frame 310 |
"flash5" | Frame 334 |
"flash4" | Frame 337 |
"flash7" | Frame 355 |
"flash8" | Frame 365 |
"fm2" | Frame 372 |
"action1" | Frame 373 |
"action2" | Frame 385 |
"action3" | Frame 402 |
"action4" | Frame 410 |
"action5" | Frame 423 |
"action7" | Frame 440 |
"action8" | Frame 452 |
"action9" | Frame 461 |
"fm3" | Frame 471 |
"flash10" | Frame 472 |
"flash15" | Frame 478 |
"flash16" | Frame 495 |
"flash17" | Frame 530 |
"flash18" | Frame 556 |
"flash19" | Frame 565 |
"quiz1" | Frame 568 |
"quiz2" | Frame 570 |
"quiz3" | Frame 572 |
"quiz4" | Frame 574 |
"quiz5" | Frame 576 |
"quiz6" | Frame 578 |
"quiz7" | Frame 580 |
"quiz8" | Frame 582 |
"quiz9" | Frame 584 |
"quiz10" | Frame 586 |
"quiz11" | Frame 588 |
"quiz12" | Frame 590 |
"quiz13" | Frame 592 |
"quiz14" | Frame 594 |
"quiz15" | Frame 596 |
"quiz16" | Frame 598 |
"quiz17" | Frame 600 |
"quiz18" | Frame 602 |
"quiz19" | Frame 604 |
"quiz20" | Frame 606 |
"quiz21" | Frame 608 |
"quiz22" | Frame 610 |
"quiz23" | Frame 612 |
"quiz24" | Frame 614 |
"quiz25" | Frame 616 |
"quiz26" | Frame 618 |
"quiz27" | Frame 620 |
"quiz28" | Frame 622 |
"code" | Frame 623 |
"code1" | Frame 624 |
"code2" | Frame 630 |
"code3" | Frame 636 |
"code4" | Frame 641 |
"code5" | Frame 648 |
"code6" | Frame 657 |
"code7" | Frame 662 |
"code8" | Frame 670 |
"code9" | Frame 671 |
"code10" | Frame 679 |
"code11" | Frame 690 |
"code12" | Frame 698 |
"grounds" | Frame 706 |
"grounds1" | Frame 707 |
"grounds3" | Frame 708 |
"grounds7" | Frame 720 |
"grounds4" | Frame 725 |
"grounds5" | Frame 735 |
"tehend" | Frame 751 |
"trivia" | Frame 754 |
"pronote" | Frame 755 |
"betatest" | Frame 756 |
"eagle" | Frame 757 |
"AS3" | Frame 758 |
"bad" | Frame 764 |
"loaded" | Symbol 755 MovieClip Frame 3 |
"closeda" | Symbol 1487 MovieClip Frame 1 |
"opena" | Symbol 1487 MovieClip Frame 20 |
"closed2" | Symbol 1507 MovieClip Frame 1 |
"open2" | Symbol 1507 MovieClip Frame 20 |
"closed" | Symbol 1542 MovieClip Frame 1 |
"open" | Symbol 1542 MovieClip Frame 20 |
Dynamic Text Variables
PercentDisp | Symbol 726 EditableText | "<p align="left"></p>" |
PercentDisp2 | Symbol 737 EditableText | "<p align="left"></p>" |
PercentDisp | Symbol 743 EditableText | "<p align="left"></p>" |
_root.searchResult | Symbol 783 EditableText | "" |
_root.frameNum | Symbol 784 EditableText | "" |
_root.search0 | Symbol 786 EditableText | "" |
_root.searchResult | Symbol 831 EditableText | "" |
_root.search0 | Symbol 832 EditableText | "" |
_root.frameNum | Symbol 834 EditableText | "" |
_global.blabel | Symbol 1090 EditableText | "<p align="left"></p>" |
bmarks | Symbol 1091 EditableText | "<p align="left"></p>" |
time | Symbol 5340 EditableText | "<p align="justify"></p>" |
|