She walks in beauty like the night // Hypnotising the silence with her powers // Armageddon is bedding this picture alright // My Marilyn come to slum for an hour. An actionscript and music blog.

Centering content in Flash

Posted: February 17th, 2009 | Author: Janice | Filed under: Uncategorized | Tags: , | No Comments »
1
2
3
private var container:MovieClip = new Container(); 
private var content:MovieCLip = new Content(); 
// where container is your stage, and content is the material you want to center

Initialize your stage listeners/event listeners.

1
2
3
4
5
6
7
8
9
10
11
12
function init() {
 
stage.align=StageAlign.TOP_LEFT;
stage.scaleMode=StageScaleMode.NO_SCALE;
 
stage.addEventListener(Event.RESIZE, updateSize);
stage.dispatchEvent(new Event(Event.RESIZE));
 
container.x = 0;
container.y = 0;
 
}

updateSize gets called every time the stage gets resized.

1
2
3
4
5
6
7
8
9
10
11
function updateSize(e:Event) {
 
// make container width/height equal to stage.width/height
container.width = stage.stageWidth;
container.height = stage.stageHeight;
 
//center content
content.x = stage.stageWidth/2 - content.width/2;
content.y = stage.stageHeight/2 - content.height/2;
 
}

Overwriting tweens in TweenLite

Posted: February 13th, 2009 | Author: Janice | Filed under: Uncategorized | Tags: , , | No Comments »

You can choose to overwrite tweens:

1
2
TweenLite.to(mc, 1, {x:100, y:200});
TweenLite.to(mc, 1, {x:300, overwrite:2}); //only overwrites the "x" property in the previous tween

you can pass 0, 1, 2, or 3 to overwrite.

According to GreenSock’s site:

0 (NONE): No tweens are overwritten. This is the fastest mode, but you need to be careful not to create any tweens with overlapping properties, otherwise they’ll conflict with each other.

1 (ALL): (this is the default unless OverwriteManager.init() has been called) All tweens of the same object are completely overwritten immediately when the tween is created.

2 (AUTO): (used by default if OverwriteManager.init() has been called) Searches for and overwrites only individual overlapping properties in tweens that are active when the tween begins.

3 (CONCURRENT): Overwrites all tweens of the same object that are active when the tween begins.


Easy tweens with TweenLite

Posted: February 13th, 2009 | Author: Janice | Filed under: Uncategorized | Tags: , , | No Comments »

TweenLite is a small and fast tweening engine for Flash Player 9 (AS3). TweenLite only adds about 3KB to published .swfs.

Somewhere above your constructor:

1
2
import gs.TweenLite; 
import gs.easing.*;

Basic TweenLite function:

TweenLite.to tweens from an initial point to that point that you define. Position the clip on the stage where/how you want the tween to start.

1
2
TweenLite.to(circle, 1, {x:300, ease:Sine.easeIn}); 
// TweenLite.to(moviecliptotween, timeinsec, { .. properties... });

TweenLite.from does the opposite. Position the clip on the stage where you want the tween to end, and define where/how you want the tween to begin:

1
TweenLite.from(circle, 1, {y:300, ease:Sine.easeIn});

Useful notes:

TweenLite has an onComplete function that you can map behaviour to upon finishing a tween.

1
2
3
4
5
TweenLite.to(circle, 1, {onComplete:doneTween};
...
function doneTween():void {
   // finished tween, now do this 
}

Buttons in AS3

Posted: February 13th, 2009 | Author: Janice | Filed under: Uncategorized | Tags: , | No Comments »

Somewhere above your constructor:

1
2
3
4
import flash.ui.Mouse;
import flash.events.*;
...
var myButton:MovieClip;

Create an instance of your button:

1
2
3
myButton = new ButtonClass(); 
myButton.x = 10; 
// apply properties here

Add event listeners and click handling function:

1
2
3
4
5
6
7
8
myButton.addEventListener(MouseEvent.CLICK, clickHandler); // event listener   
 
private function clickHandler(e:MouseEvent) {
   buttonText.text = "button clicked";
   var myTimer:Timer = new Timer(2000, 1); 
   myTimer.addEventListener(TimerEvent.TIMER, timerListener); 
   myTimer.start(); 
  }

Custom Cursors in AS3

Posted: February 13th, 2009 | Author: Janice | Filed under: Uncategorized | Tags: , | No Comments »

Here is how to have a custom mouse cursor in AS3.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package { 
 
import flash.display.Sprite;
import flash.text.TextField;
import flash.ui.Mouse;
import flash.events.*;
import flash.utils.Timer;
 
public class CustomCursor extends Sprite {
 
 private var myCursor:cursor = new cursor();  
 
   public function CustomCursor():void {
   Mouse.hide();   
   addChild(cursorText);
 
    addChild(myCursor);
    myCursor.addEventListener(Event.ENTER_FRAME, init);
  }
 
  private function init(e:Event):void {     
     myCursor.mouseEnabled = false;
     myCursor.x = mouseX;
     myCursor.y = mouseY;
   }
 
      } // end class 
} // end package

( CustomCursor.fla, CustomCursor.as )