May 5th, 2010
by Jen deHaan
Some people have been asking how to create button code in Flash (CS3, CS4, or CS5) that progresses the playhead in a SWF to the next or previous frame using ActionScript 3.0. This is not too difficult, and is a super simple code modification from any other button in AS3 (and is actually a touch easier than AS2 due to scoping issues).
This post includes an example of how to create two buttons that click between a few different frames. I’ll also include a (CS4) FLA file for you to look at and the AS2 equivalent.
read more »
Posted in ActionScript 2.0, ActionScript 3.0, FLA files, Flash CS3, Flash CS4, Flash CS5, Migration, buttons | 3 Comments »
July 24th, 2009
by Jen deHaan
One of my frequently asked questions in the comments is how to control what window a button click opens using ActionScript 3.0. For example, you might want your button to open in the same window, a particular part of your frames layout, or a new window. It’s similar to ActionScript 2.0, but there is a bit of a difference.
In ActionScript 2.0, you set a target for your button using code such as the following:
The following steps for ActionScript 3.0 will apply to either Flash CS3 or Flash CS4, just make sure that your document is an ActionScript 3.0 button and you’re adding the code to a frame.
- Create your button in your FLA, and give it an instance name in the Property inspector, such as
my_btn.
- Select a frame on the timeline at the same frame number of your button.
- Open the Actions panel, and add the following code:
my_btn.addEventListener(MouseEvent.MOUSE_DOWN, myHandler);
function myHandler(event:MouseEvent):void {
navigateToURL(new URLRequest("http://www.adobe.com/devnet/flash/"), "_self");
}
- Publish preview your work in HTML (File > Publish Preview > HTML). Note: When testing locally, you will need to set your security to allow access to the SWF. If you haven’t set this up, click Settings in the dialog that opens when you first test your FLA, select a directory on your hard drive, and save the FLA to that same directory and test again.
By default, without adding this parameter, ActionScript assumes _blank which opens a new window. You can modify the _self in the code above to be _top or _parent (or _blank if you want). Here’s what each of them does:
_self opens the link in the current frame of the current browser window.
_blank opens the link in a new window (or tab if that’s what the user has their browser set to do).
-
_parent opens the link in the parent of the current frame.
_top opens the link in the top-level frame of the current browser window.
Posted in ActionScript 2.0, ActionScript 3.0, Flash CS3, Flash CS4, Migration, buttons | 34 Comments »
October 19th, 2008
by Jen deHaan
You might have created movie clip buttons in Flash CS3 or Flash CS4 (or Flash 8 or 7 or…) before to get those animations on your buttons. Either way, creating one would have proceeded a bit like the following if you used ActionScript 2.0.
* Create a button, and give it an instance name (in the following case, myMc).
* Along the Timeline, add frame labels _up, _over, _down, and _hit (if you want a hit area for the button).
* Put stop actions at each frame label, and change the graphics and/or add some animation at each state.
* Add this code to frame 1 in the actions panel:
myMC.onRelease = function() {
trace ("You clicked me.");
}
(For full instructions on creating a movie clip button, you can refer to something I wrote for docs waaay back in Flash 8 days here updated for CS3).
More after the jump.
read more »
Posted in ActionScript 2.0, ActionScript 3.0, Flash CS3, Flash CS4, Flash CS5, Migration, buttons | 23 Comments »
March 2nd, 2008
by Jen deHaan
A pretty common thing to do with Flash is to play an FLV file. In ActionScript 2.0, you would do the following:
1. Create a new Video object in your Library (choose New Video from the Library’s Options menu).
2. Drag the video onto the Stage, and give it an instance name.
3. Add the following code to frame 1 of your document:
// ActionScript 2.0
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.onMetaData = function(item:Object):Void {
trace("metaData");
// Resize video instance.
myVideo._width = item.width;
myVideo._height = item.height;
// Center video instance on Stage.
myVideo._x = (Stage.width-myVideo._width)/2;
myVideo._y = (Stage.height-myVideo._height)/2;
};
ns.onCuePoint = function(item:Object):Void {
trace("cuePoint");
trace(item.name+"\t"+item.time);
};
myVideo.attachVideo(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");
That will play your video and also trace a couple cuepoints. Sample file: Load video with ActionScript 2.0
It’s kind of cool in ActionScript 3.0 in that you can open an empty AS3 FLA file, paste this code onto frame 1 of your document, and you’re off to the races (meaning, that’s all you have to do). As you can see, the code isn’t that much different either – so if you added video in AS2, things should seem pretty familiar. This is the same thing as above — it will also play a video and trace some cuepoints.
// ActionScript 3.0
var video:Video = new Video();
addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = {onMetaData:ns_onMetaData, onCuePoint:ns_onCuePoint};
video.attachNetStream(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");
function ns_onMetaData(item:Object):void {
trace("metaData");
// Resize video instance.
video.width = item.width;
video.height = item.height;
// Center video instance on Stage.
video.x = (stage.stageWidth - video.width) / 2;
video.y = (stage.stageHeight - video.height) / 2;
}
function ns_onCuePoint(item:Object):void {
trace("cuePoint");
trace(item.name + "\t" + item.time);
}
Sample file: Load video with ActionScript 3.0
Posted in ActionScript 2.0, ActionScript 3.0, FLV, Flash CS3, Migration, Video | 30 Comments »
February 25th, 2008
by Jen deHaan
So I used to monitor comments coming in from the CS3 Video Workshop, which contains a few hundred video tutorials on the CS3 products. Some of the comments that came in regarding the Flash videos was how people were having frustrations about how to set up button code with ActionScript 3.0. I thought that’s where I’d start out, with a simple example that compares the two. So I’ll show you how to make a button work in Flash CS3 or Flash CS4 using ActionScript 3.0.
Luckily, the set up is pretty much the same assuming you put code on the Timeline. If you didn’t, it will be a bit of a change and you’ll need to follow the steps below.
read more »
Posted in ActionScript 2.0, ActionScript 3.0, Flash CS3, Flash CS4, Flash CS5, buttons | 375 Comments »