Show Heineken Test + PSD and Ubisoft Test There are Five Levels of Mastery in Flash that you can...
-
Upload
brenda-french -
Category
Documents
-
view
218 -
download
1
Transcript of Show Heineken Test + PSD and Ubisoft Test There are Five Levels of Mastery in Flash that you can...
Show Heineken Test + PSD and Ubisoft Test
There are Five Levels of Mastery in Flash that you can achieve.
Stage 1: The Noob Noob - nerd slang for inexperienced beginner
The noob knows for a fact that he knows nothing. He worships all those above him where anything anyone else makes above his level of quality is already Godlike.
He is receptive to learning anything they can teach him as he dreams of reaching their level of skill one day.
Everyone goes through this stage.
Stage 2: The Advanced Noob
You know for a fact that you know everything there is to know.
You've done enough that your years of experience makes you The Supreme Overlord of Flash.
Your sinful level of confidence easily seeps through your cocky dinner table discussions about Flash and ActionScript.
Your Flash advice is like reading The Bible because you are never wrong and nobody else knows what they're talking about.
75% of the industry will never advance beyond this stage.
Stage 3: The Competent Noob
You begin to humble yourself out of your state of denial and give way to others as you realize that you were just the babbling village fool after the pure Zen skill of real masters blinds your eyes with its level of brilliance.
Stage 4: The Proficient Noob
You're afraid that you will be discovered to be a complete fraud who has no idea of what he is doing. You count your blessings as you silently appreciate the fact that you still have a job.
Stage 5: The Expert Noob
At this stage, you extensive list of qualifications might include a PhD in computer science from MIT but you've become so paranoid of your own ultimate level of incompetence that you start hearing voices in your head.
You cautiously refrain from discussing anything related to Flash, ActionScript or programming with other programmers.
You realize you will never learn everything there is to know.
The Apprentice and The Master have in common that they both know nothing.
The stuff I'm teaching you guys is not because I feel like teaching a random mash up of useless non practical concepts just to kill time.
All the theory you're learning is very practical for real world industry applications.
I don’t have any special technical ability to solve problems faster than you. This stuff is just as hard for me to figure out and solve as it is for you guys.
Except I didn’t have the benefit of anyone teaching me any of this stuff. I graduated from business school and picked up Flash afterwards in bits and pieces with no formal graphic design training of any sort.
If I can do it, so can you. You just have to be patient and keep trying.
Review of Previous Classes
Application Programming Interface (API)
Import Reference
import com.name.ClassName
Instantiation
var variableName:Class = new Class();
Review of Previous Classes
Example: Import reference and Instantiating the sound class for playing sound files
import flash.media.Sound;
var s:Sound = new Sound();
Review of Previous Classes
Accessing methods and properties
import flash.media.Sound;
var s:Sound = new Sound();
s.load(new URLRequest(“audio.mp3”));
s.play(); //run play method
trace(s.url); //trace value of url property
Introduction to Basic OOP Concepts
Object Oriented Programming (OOP) is an industrial standard style of programming.
Programs are molded after real life models where everything is contained in an object. All objects can interact with each other via accessing their methods, properties and listening to events.
OOP also comes with techniques of programming called Design Patterns which are designed to solve complicated problems by designing a program with specific styles of objects that do specific purposes.
OOP increases development efficiency and saves money for project changes in the long run. It exists to make assembling modules of code easier.
Benefits of OOP
The style of programming you are currently using is known as Procedural Programming in which only one master set of code is used and if someone else wants to share their code with you, you have to copy and paste their code in directly into your code.
Imagine your car was completely welded together so that it was not easy to change parts. If there is some engine trouble, you cannot open the hood because it’s welded shut and you have to remove the entire body frame of the car just to get to the engine.
Think of Objects as individual parts that make up a program.
Benefits of OOP
Assembling an object oriented program is like assembling a car.
Someone creates the door, someone else creates the engine and someone creates the tires. Instead of waiting on one person at a time to create a object and weld it to the frame of the car, multiple people can work on it.
All the individual parts are then assembled together to work. By using classes, parts can be swapped in or out easily without affecting the rest of the program.
Example
Door Class
Methods:
openDoor();closeDoor();
Properties
doorColour:uint = 0xFFFFFFdoorSize:uint = 3
Engine Class
Methods:
turnOnEngine();turnOffEngine();
Properties
horsePower:uint = 100
Objects included in car object:
- Door object- Engine object- Window object- CDPlayer object- AirConditioningUnit object- Tire object- Body Frame object- Seat object- SteeringWheel object- SeatBelt object
Objects included in Website object:
- MainNavigation object
- AboutPage object
- Autobiography object
- Gallery object
- LinksPage object
Benefits of OOP
You are already familiar with working with classes which is what OOP mainly consists of. You can also create your own custom classes that have your own methods and properties in conjunction with working with 3rd party or native API classes.
You will learn to create custom classes in the next class
Two Basic OOP concepts for today:
Abstraction
Inheritance
The Concept of Abstraction
An animal is an abstraction.
Dogs exist. Cats exist. Cows exist. They all fall under the animal kingdom.
But an animal doesn’t physically exist.
It is just an abstract concept used to describe a range of types of living breathing creatures that can move around.
The Concept of Inheritance
A human being inherits traits (properties) and abilities (methods) from the animal kingdom which is why humans are categorized as a type of animal.
Animals can move around. Humans can move around.Animals can make sounds. Humans can make sounds.Animals can eat food. Humans can eat food.
The Concept of Inheritance
What differentiates humans from a dog?
humans walk on two legs when it moves around. A dog walks on four legs.
Humans are tall. Dogs are smaller.
Humans can talk. Dogs bark.
But they both evolutionarily inherited the ability to make sounds and move around.
Animal Class
Methods
makeSounds();moveAround();eatFood();
Properties
age:uint;Height:Number
Animal Class
Methods
makeSounds();moveAround();eatFood();
Properties
age:uint;Height:Number
Human Class + Animal class inheritance
Methods
makeSounds(); singSongs();moveAround(); dance();eatFood(); createCuisine();
Properties
age:uint; Height:Number
Inherited by --->>
When Human Class inherits Animal Class
Animal Class
Methods
makeSounds();moveAround();eatFood();
Properties
age:uint;Height:Number
Dog Class + Animal class inheritance
Methods
makeSounds(); bark();moveAround(); chaseStick();eatFood();
Properties
age:uint; Height:Number
Inherited by --->>
When Dog Class inherits Animal Class
The Concept of Inheritance
By inheriting from another abstract class, both the human and dog classes instantly get access to those shared methods and properties without having to re-create the methods and properties yourself.
Although they both share the same inheritance from the abstract Animal Class, the differentiation between the human and dog classes are still prevalent.
Only the dog class can bark and only the human class can sing.
Biology Inheritance
Monkeys, apes and gorillas look very similar to humans in certain features because they inherited the same genes as us but are still very different from humans.
MovieClip Class Properties
MovieClip Class Properties
Notice that properties such as: x, y, width, height, alpha, rotation are not shown in the list of available properties
That is because:
DisplayObject Class MovieClip Class
MovieClip Class inherits from another abstract Class called DisplayObject
Abstract DisplayObject Class
MovieClip Class Properties
When we manipulate graphics on the stage, no one actually creates a DisplayObject class because DisplayObject is an abstract class that has a bunch of shared methods and properties that several classes use including the MovieClip class.
When you instantiate a new MovieClip class, you automatically get access to DisplayObject’s properties and methods because MovieClip inherits from the DisplayObject class.
Multiple layers of inheritance
The MovieClip class actually directly inherits from the Sprite class which inherits from the DisplayObjectContainer class which inherits from the DisplayObject class which inherits from the EventDispatcher class which inherits from Object class
The MovieClip is the final product of all those inheritance and has all its predecessors’ traits and abilities
Kind of like how you inherit genes from ancestors
Multiple layers of inheritance
You may not always immediately see all the methods and properties of a class until you click on one of its parents, grandparents or ancestor inheritance such as clicking on DisplayObject to discover that you can manipulate x, y, width, height properties.
Animal Kingdom Inheritance