| |
Early on in flash, there were a handful of flash designers who kept a journal of their experiments in flash. Initially I thought it
would be too laborous, but I think their discipline of posting their experiments online gave them a stronger understanding of flash.
I'd like to follow in their footsteps by doing the same. The following entries will start off slow and will progress to some more
advance techniques as I further my studies.
To start off, here's a quick cheat sheet of some basic codes i've collected early on:
Variables:
var myName:String = "Milo";
Function:
function rotateDude():void {
mcDude.x += 5;
}
rotateDude();
ListenerEvent:
mcDude1.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
mcDude2.rotation += 45;
}
mcDude1.buttonMode = true;
MouseEvent:
mcDude1.addEventListener(MouseEvent.CLICK, dudeClick);
function dudeClick(event:MouseEvent):void {
mcDude2.rotation += 45;
}
mcDude1.buttonMode = true;
EnterFrame:
stage.addEventListener(Event.ENTER_FRAME, rotateDude);
function rotateDude(event:Event):void
{
mcDude1.rotation +=1;
}
Timer:
//the 100 represents miliseconds for timer, the 3 represents how many times to run jinsTimer
var jinsTimer:Timer = new Timer(100, 3);
jinsTimer.addEventListener(TimerEvent.TIMER, moveDude);
function moveDude(event:TimerEvent):void
{
mcDude1.x += 5;
}
jinsTimer.start();
keyboardevent:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
function keyDown(event:KeyboardEvent):void
{
mcDude2.rotation +=45;
}
Link:
var somelink:URLRequest = new URLRequest("http://www.google.com");
button_mc.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void
{
navigateToURL(somelink);
}
button_mc.buttonMode = true;
Loop:
for (var i:int = 1; i <= 15; i++)
{
trace("testing");
}
Tween:
import fl.transitions.Tween;
var jinsTween:Tween = new Tween(redbox_mc, 'scaleX', null, 0, 1, 2, true);
Easing:
import fl.transitions.Tween;
import fl.transitions.easing.*;
var jinsTween:Tween = new Tween(redbox_mc, 'x', Strong.easeInOut, 0, 500, 1, true);
EasingMouseEvent:
import fl.transitions.Tween;
import fl.transitions.easing.*;
redbox_mc.addEventListener(MouseEvent.CLICK, dudeClick);
function dudeClick(event:MouseEvent):void {
var jinsTween:Tween = new Tween(redbox_mc, 'x', Strong.easeInOut, 0, 100, 1, true);
}
redbox_mc.buttonMode = true;
Filter:
import fl.transitions.Tween;
import fl.transitions.easing.*;
redbox_mc.addEventListener(MouseEvent.CLICK, dudeClick);
function dudeClick(event:MouseEvent):void {
var jinsTween:Tween = new Tween(redbox_mc, 'x', Strong.easeInOut, 0, 100, 1, true);
redbox_mc.filters = [new BlurFilter()];
}
redbox_mc.buttonMode = true;
BlurFilter:
var bfFilter:BlurFilter = new BlurFilter(20, 20, 3); //blurX, blurY, blur quality(1=low, 3=high)
myRoot.main_mc.filters = [bfFilter];
FilterModified:
var redboxShadow:DropShadowFilter = new DropShadowFilter();
redboxShadow.color = 0x0B77A9;
redboxShadow.blurX = 10;
redboxShadow.blurY = 10;
redboxShadow.angle = 66;
redboxShadow.distance = 15;
redboxShadow.alpha = .5;
//using brackets because it's an array
redbox_mc.filters = [redboxShadow];
AddChild:
addChild(rectangle);
DrawShape:
var rectangle:Shape = new Shape();
rectangle.graphics.beginFill(0x000000)
rectangle.graphics.drawRect(100,100, 100, 100);
Conditionals:
if (mcClip > 5 && eval < 10)
{
trace(something);
}
else if(mcClip == 10)
{
trace(somethingelse);
}
else (mcClip == 10)
{
trace(somethingelse);
}
Targetpath Root
var myRoot:MovieClip = root as MovieClip;
myRoot.mcB.alpha = .5
TweenLite http://blog.greensock.com/tweenliteas3/
import gs.*;
import gs.easing.*;
TweenLite.to(mc, 0.75, {x:91, y:114, delay:2, ease:Quint.easeOut});
TweenFilterLight http://blog.greensock.com/tweenfilterliteas3/
import gs.TweenFilterLite;
TweenFilterLite.to(mc, 1, {blurFilter:{blurX:5, blurY:5, quality:3}});
TweenOverwriteManager http://blog.greensock.com/overwritemanager/
OverwriteManager.init();
Math
var randomNumber:Number = Math.random() * 20;
trace(randomNumber);
LoadMovie
imageLoader.load(new URLRequest ('http://www.visualplane.com/movies/as3/mastersite.swf'));
imageLoader.x = 50;
imageLoader.y = 50;
addChild(imageLoader);
var l:Loader = new Loader();
l.load(new URLRequest("content.swf"));
Preloader: //Dynamic Text box with instance name "percent" on stage
var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
l.load(new URLRequest("content.swf"));
function loop(e:ProgressEvent):void
{
var perc:Number = e.bytesLoaded / e.bytesTotal;
percent.text = Math.ceil(perc*100).toString();
}
function done(e:Event):void
{
removeChildAt(0);
percent = null;
addChild(l);
}
Properties
x
y
rotation - –180 to 180 (degrees)
alpha
scaleX
scaleY
visible - true (visible) or false (invisible)
Triginometry
var circlePos = piSpan * (hi - _xmouse);
var scalePercent = Math.cos(circlePos/2);
var iScale = diff * (1 - (scalePercent * scalePercent));
var iXpos = x - (state * hz * scalePercent);
|
| |
Zoommenu:
import gs.*;
import gs.easing.*;
var myRoot:MovieClip = root as MovieClip;
one_mc.addEventListener(MouseEvent.CLICK, oneFunction);
one_mc.buttonMode = true;
function oneFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"0", y:"0", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
two_mc.addEventListener(MouseEvent.CLICK, twoFunction);
two_mc.buttonMode = true;
function twoFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"-600", y:"0", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
three_mc.addEventListener(MouseEvent.CLICK, threeFunction);
three_mc.buttonMode = true;
function threeFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"-1200", y:"0", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
four_mc.addEventListener(MouseEvent.CLICK, fourFunction);
four_mc.buttonMode = true;
function fourFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"0", y:"-600", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
five_mc.addEventListener(MouseEvent.CLICK, fiveFunction);
five_mc.buttonMode = true;
function fiveFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"-600", y:"-600", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
six_mc.addEventListener(MouseEvent.CLICK, sixFunction);
six_mc.buttonMode = true;
function sixFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"-1200", y:"-600", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
seven_mc.addEventListener(MouseEvent.CLICK, sevenFunction);
seven_mc.buttonMode = true;
function sevenFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"0", y:"-1200", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
eight_mc.addEventListener(MouseEvent.CLICK, eightFunction);
eight_mc.buttonMode = true;
function eightFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"-600", y:"-1200", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
nine_mc.addEventListener(MouseEvent.CLICK, nineFunction);
nine_mc.buttonMode = true;
function nineFunction(event:MouseEvent):void
{
if (myRoot.main_mc.scaleX == 1)
{
TweenLite.to(myRoot.main_mc, 0.75, {x:"-1200", y:"-1200", scaleX:3, scaleY:3, delay:0, ease:Quint.easeOut});
}
else
{
TweenLite.to(myRoot.main_mc, 0.75, {x:0, y:0, scaleX:1, scaleY:1, delay:0, ease:Quint.easeOut});
}
}
|
| |
Papervision 3D 2.0
//Import the basic Flash & PV3D library assets
import flash.display.Sprite; import flash.events.Event;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;
//Declare initial variables and datatype them
var viewport: Viewport3D;
var scene: Scene3D;
var camera: Camera3D;
var material: ColorMaterial;
var primitive: Plane;
var renderer: BasicRenderEngine;
//Assign parameters to PV3D vars
//viewport = new Viewport3D(w, h, scaleToStage, interactive);
//if scaleToStage is true, then the w and h can be set to 0 as it doesn't matter what number it is
//the w and h represents the frame of reference
viewport = new Viewport3D(550, 400, false, true);
addChild(viewport);
//instantiates a Scene3D instance
scene = new Scene3D();
//instantiates a Camera3D instance
camera = new Camera3D();
//renderer draws the scene to the stage
renderer = new BasicRenderEngine();
//ColorMaterial, doubleSided draws the color on both sides of the geometry normals
material = new ColorMaterial(0x333333);
material.doubleSided = true;
//primitive = new Plane(material, w, h, wSegments, hSegments);
primitive = new Plane(material, 200, 200, 3, 3);
scene.addChild(primitive);
//Render Scene and Animate
//set up enterFrame event
addEventListener(Event.ENTER_FRAME, onEnterFrame);
//define enterFrame Method, render the PV3D Scene and animate the primitive
function onEnterFrame(e:Event):void
{
primitive.rotationY += 2;
renderer.renderScene(scene, camera, viewport);
}
Sample:
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.lights.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;
import gs.*;
import gs.easing.*;
var viewport:Viewport3D = new Viewport3D(0, 0, true, true);
addChild(viewport);
viewport.buttonMode = true;
var renderer:BasicRenderEngine = new BasicRenderEngine();
var scene:Scene3D = new Scene3D();
var camera:Camera3D = new Camera3D();
camera.zoom = 11;
camera.focus = 100;
var mam:MovieMaterial = new MovieMaterial(face);
mam.interactive = true;
mam.smooth = true;
mam.animated = true;
var plane:Plane = new Plane(mam, 300, 300, 6, 6); //texture, width, height, num of poly's...
scene.addChild(plane);
addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void
{
var xDist:Number = mouseX - stage.stageWidth * 0.5;
var yDist:Number = mouseY - stage.stageHeight * 0.5;
plane.rotationY += xDist * 0.01;
plane.rotationX += -yDist * 0.01;
//camera.y = (mouseY * 4)-800;
//camera.x += (((stage.mouseX-(stage.stageWidth * .5))*2)-camera.x )*.05;
// camera.y += (((stage.mouseY-(stage.stageHeight*.5))*2)-camera.y )*.05;
// scene.renderCamera(camera);
renderer.renderScene(scene, camera, viewport);
}
face.addEventListener(MouseEvent.CLICK, faceClick);
function faceClick(e:MouseEvent):void
{
TweenLite.to(plane, 0.75, {x:91, y:114, delay:0, ease:Quint.easeOut});
//navigateToURL(new URLRequest("http://www.yahoo.com"));
|