Anyone: as2 vs as3?
was looking at summerLongSince's post, basic as3, and it
occurred to me that the as3 version of what had been previously
done using as2 was more complicated and involved (see script
below). i am still relatively new to actionscripting and am
currently using/learning as2, so i am ignorant to the benefits as3
has to offer at this point. could anyone tell me what benefits the
as3 code below has over the as2 that precedes it? they both seem to
accomplish the same goal, only as3 seems to take more time and code
to do so. also, is moving to as3 worth the hassles that come with
learning an entirely new scripting language? i haven't even
mastered as2 and the thought of losing all the work i have put in
thus far is somewhat sickening. lastly, couldn't as3's benefits
have been implemented into flash without restructuring the entire
programming language?
thanks in advance,
_name
AS 3.0 comes with great features and 10 time faster than AS
2.0. you may find some link on adobe.com site.
for your current code. see this.
Similar Messages
-
Help Converting AS2 to AS3 Drag and Drop Event
Hi All,
This is the second post on help for converting AS2 to AS3. This code is used in Captivate to allow a drag and drop action between two areas (User presses down, drags, and releases in a second area - They are not dragging any object). If anyone can help me convert this please let me know.
Source for Drag and Drop: (Note: Single MovieClip)
// pause the Captivate movie
_root.rdcmndPause = 1;
// when the user's mouse is let go check if there was a successful drop
_root.onMouseUp = function(){
// If the source area's center coordinate is nearby the destination area's center coordinate then advance the slide
if ( Math.abs(_root.sourceX + _root.sourceWidth / 2 + _root.sourceParentX - (_root.destX + _root.destWidth / 2)) < (_root.destWidth / 2) &&
Math.abs(_root.sourceY + _root.sourceHeight / 2 + _root.sourceParentY - (_root.destY + _root.destHeight / 2)) < (_root.destHeight / 2) )
_root.rdcmndNextSlide = 1;
} else {
// show error movie clip for 2 seconds (60 frames at 30 frames per second)
_root.showErrorMessage = 60;
mc.onEnterFrame = function(){
// continuously update the source area's coordinates and size
_root.sourceX = mc._x;
_root.sourceY = mc._y;
_root.sourceWidth = mc._width;
_root.sourceHeight = mc._height;
_root.sourceParentX = _parent._x;
_root.sourceParentY = _parent._y;
mc.onPress = function(){
// Uncomment following line to have control click capabilities
//if(key.isDown(Key.CONTROL))
// when user clicks on the source area click start the drag
startDrag(this);
mc.onRelease = function(){
// stop drag when user releases the source area
stopDrag();
Source for Destination Area (Single MovieClip named destArea)
// Set a root variable to control when the error message is displayed
_root.showErrorMessage = -1;
// Use setCoords variable so we only set the destination coordinates once
var setCoords = 0;
destArea.onEnterFrame = function(){
if (setCoords == 0){
// set the destination x, y, width, and height
_root.destX = _parent._x;
_root.destY = _parent._y;
_root.destWidth = _parent._width;
_root.destHeight = _parent._height;
// destination coordinates have been set, change setCoords so it doesn't get set again
setCoords = 1;
Code for the Error Message (Single MovieClip named errorMessage)
// Don't display the error message initially
errorMessage._alpha = 0;
errorMessage.onEnterFrame = function (){
// If the drag and drop method detects a missed drop
// then show this error message by setting _alpha to 100
if (_root.showErrorMessage > 0){
errorMessage._alpha = 100;
// decrementing this variable controls the time the
// error message will be displayed
_root.showErrorMessage--;
} else {
// Don't display the error message
errorMessage._alpha = 0;use:
MovieClip(parent.parent.parent).rdcmndPause=1;
this.addEventListener(KeyboardEvent.KEY_DOWN,keydownF);
function keydownF(e:KeyboardEvent):void{
fscommand("KEYPRESSED", e.keyCode);
if(e.keyCode==32){
MovieClip(parent.parent.parent).rdcmndNextSlide=1; -
AS2 to AS3 Streaming Video Player
Ok so Im trying to convert a video play that i made in AS2 to
AS3 (I had a problem with nested movie clips and the control bar
and i want to learn AS3) and i am having troblem even connecting to
my rtmp server. With the player i made in AS2 i was able to connect
and stream video no problem. But with AS3 I am not even able to
connect to the rtmp server. Here is the AS2 code and the AS3 code:
AS3:
var video:Video = new Video(853,480);
addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://[ip of server]/sumone4life/videos");
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS,
onStatusEvent);
function onStatusEvent(stat:Object):void
trace(stat.info.code);
var meta:Object = new Object();
meta.onMetaData = function(meta:Object)
trace(meta.duration);
video.attachNetStream(ns);
ns.play("AdobeBand_640");
And I get the error:
ArgumentError: Error #2126: NetConnection object must be
connected.
at flash.net::NetStream/construct()
at flash.net::NetStream()
at videoPlayer_fla::MainTimeline/frame1()
Error #2044: Unhandled AsyncErrorEvent:. text=Error #2095:
flash.net.NetConnection was unable to invoke callback onBWDone.
error=ReferenceError: Error #1069: Property onBWDone not found on
flash.net.NetConnection and there is no default value.
at videoPlayer_fla::MainTimeline/frame1()
Flash media server 3 Administrative Panel also shows that I
am infact connected to the server but there is nothing being
streamed from the server.
AS2 Works:
//Video Loading Controls
var fileName:String = "AdobeBand_640";
var nc:NetConnection = new NetConnection();
var ns:NetStream;
nc.onStatus = function(info){
trace(info.code);
if(info.code == "NetConnection.Connect.Success"){
playVideo();
function playVideo(){
ns = new NetStream(nc);
ns.onMetaData = onMetaDataHandler;
videoObject.attachVideo(ns);
_root.createEmptyMovieClip("vSound",
_root.getNextHighestDepth());
vSound.attachAudio(ns);
ns.setBufferTime(5);
ns.onStatus = function(info){
trace(info.code);
if(info.code == "NetStream.Buffer.Full"){
bufferClip._visible = false;
if(info.code == "NetStream.Buffer.Empty"){
bufferClip._visible = true;
if(info.code == "NetStream.Play.Stop"){
ns.seek(0);
ns.play(filename);
//connects the stream
nc.connect("rtmp://[ip of server]/sumone4life/videos");
Can anyone offer any insite as to why it would be workin in
AS2 and not in AS3? Or what i am doing wrong...I have a similar problem. Did you get your to work?
-
Looking for a copy of Patrick Mineault's AS2 to AS3 converter.
Anybody have a copy of Patrick Mineault's AS2 to AS3 converter sitting around? His website closed down in May and he changed careers.
Thanks!See if this is it:
http://download.info.apple.com/Apple_Support_Area/Manuals/powerbooks/0301677CPBU G.PDF -
Plz any one convert this code from AS2 to AS3???????reoly me on [email protected]
#initclip
function Dot() {
this.color = new Color(this);
this.color.setRGB(16775372);
this._rotation = 150; /////////////////rotate of object////////////////
this._width = 30; /////////////////width of object////////////////
this._height = 30; /////////////height of object//////////////
this._x = 300+Math.random();//*8-0(X vibration type effect) /////////////X position of object//////////
this._y = 250+Math.random();//*8-0(Y vibration type effect) /////////////Y posotion of object///////////
Dot.prototype = new MovieClip();
Object.registerClass("myfirst", Dot);
Dot.prototype.onEnterFrame = move;
function move() {
this.age++;
this.relage=this.age/12;
R=255<<16;
G=(255-(this.relage*126)); if (G<0) G=0; G=G<<8;
B=(255-(this.relage*1024)); if (B<0) B=0;
this.color.setRGB(R+G+B);
this._x -= Math.random()*-2-1.25;
this._y -=Math.random()*+1.75;
this._alpha -= 3;
this._xscale -= 2;
if (this._alpha<5) {
this.removeMovieClip();
#endinitclipJust remove #initclip and #endinitclip from the code and remove all underscores, example : this._x will be this.x
Hope this helps! -
So I made this basic game a few years ago which was in AS2 and Flash 6. Now I want to convert this game from AS2 to AS3 but I have no idea where to start. The code is approximalty 4k lines long and I don't know what to change to make it work in AS3. What do you guys suggest?
Are you using external .as files and classes or are you using frame scripts directly in the timeline? Are you used to any other object oriented programming languages? Knowing more about other languages you might know would help a lot.
AS2 very informal and specialized to Flash. It relates to pretty much no other language out there, like JavaScript seldom relates. They're c-esque but only in a very distant 3rd cousin style.
AS3 is much more OOP oriented and typed versus the less formal, error-prone loose dynamic nature of AS2. While your game would benefit greatly from the speed increases and error reduction, I think you're really swinging for the fence on this one. While some classes may resemble their AS2 counterpart and the core global functions work the same, everything else is different. Starting off trying to convert 4,000 lines of code is a little steep.
As mentioned, the resources to learn AS3 are excessive and plentiful from video training to tutorials to the API reference itself. Google has it all.
I think you really should lower your target and just try some really simple, basic things. Draw a shape, add a listener, do something basic when clicked, etc. You'll get a good idea of how different things are with the new display list rather than tearing your hair out converting your as2 game. -
Hello,
i have this code
var url = _level0.video;
player.contentPath = url;
this catch a url and load on flash player.
this works fine in As2, but in As3 dont work.
i use a converter As2 to As3 but the result is it:
package {
var url = _level0.video;
player.contentPath = url;
i not a As programmer i only use video function on flash,
my question is, how to use my code on ActionScript 3 ??
Thank you !!Thanks for reply,
the variable video i get from html and php.
example:
player.swf?video=<?php echo $_GET["video"]; ?>
and the variable video i get from html
<a href="index.php?video=video.flv"></a>
ok, i discard a converter !!
to use a contentPatch source of flash ?
but i can load a external videos ??
without ActionScript ?
Thank you ! -
HTML Link -AS2 fine, AS3 weird behaviour
Hi Guys, I'm working on a project at the moment, and am
seeing weird behaviour with the way my swf handles html links
inside dynamic textboxes. When rendered as a AS2 file, the link
works on a release as expected. When its inside a AS3 file the link
will only work if the user right click and chooses 'open in new
window' was there a change in behaviour how AS3 handles these
links, or is there now an declaration needed to be made to allow
these link to have the old behaviour?
The project calls for xml data and embedded in that is a html
link. Originally I thought it might have been the way I'd formed
the xml so I tried with a hardcoded version instead (dynamic
textbox, add text -> highlight -> add link through properties
tab). But I still see the same behaviour between the as2 and as3
versions.
Any help would be greatly appreciated.
Cheers.Actually, the ''href'' attribute is supposed to direct the browser to a new URL, etc., not run a script. Instead, use the ''onclick'' event attribute:
''<a onclick = “$('.div-feedback').fadeIn();”></a>''.
Happy coding! -
Issues converting scroll bar components from AS2 to AS3
I am working on editing a document that has scroll bar components that I would like to convert from AS2 to AS3 since everytime I try to open the document it shows a WARNING and won't convert them and when I publish and look at the final document the scroll bar seems to act unusally since it is obviously still on AS2.
Here are two of the scripts I finally was able to find within it. Should I fix it and how so? This first is for the "Creative Scroll Area" and the second is for the "Creative Scrollbar"
package {
import flash.display.MovieClip;
public class Creative Scroll Area extends MovieClip {
public function Creative Scroll Area() {
// constructor code
package {
import flash.display.MovieClip;
public class Creative Scrollbar extends MovieClip {
public function Creative Scrollbar() {
// constructor codeOkay, well I know the code is making a scroll bar and a scroll area and under the "type" it says they are "compiled..." which is unusual since most of the other components I've worked with have been movie clips or bitmaps. Do I need to look up what AS3 components I need to replace the script from above? Because when I looked for that I couldn't specifically find what I needed or really understood if I was looking at the right information.
Here is something I found when trying to "debug" it:
WARNING: The component 'UIScrollBar' requires ActionScript 2.0, which is not supported in this version of Flash Professional.
WARNING: The component 'Creative Scrollbar' requires ActionScript 2.0, which is not supported in this version of Flash Professional.
WARNING: The component 'Creative Scroll Area' requires ActionScript 2.0, which is not supported in this version of Flash Professional. -
Declare new color from AS2 to AS3
Hi All,
Could you let me know how to "convert" the following code from AS2 to AS3:
var distracterBkgdColor = new Color(this.distracterBkgd_mc);
Thanks!var ct:ColorTransform = this.distracterBkgd_mc.transform.colorTransform;ct.color = 0xrrbbgg;
this.distracterBkgd_mc.transform.colorTransform=ct; -
Major gaming system Migration from AS2 to AS3
I have a major project entirely in AS2. It is made of a
Multimedia Application, which provides access to functions needed
to load games, save information, insert *.jpg files... The 50+
games each have their own graphic.swf and engine.swf, where the
graphics deal with gameplay and the engine communicates with the
Multimedia Application.
If the Multimedia Application is migrated to AS3 but the game
swf files remain the same, will the functions still be able to
communicate (call functions and send references to objects)?No, AS2 and AS3 are absolutely different animals. There are
some techniques (search for as2 as3 bridge in the net) that create
a bridge which are cumbersome in my view. -
As2 and As3 on same Flash Player
If i set AS2 codes to play in Flash Player 9, is it possible
that this swf can load an As3 swf at the same Flash Player using
As2 codes???
These swfs both play in same virtual machine which is player
version 9 but the other is coded with As2 and the other is coded
with As3. How can an AS2 load a swf coded in AS3 on same Flash
player?
Is this possible?
If yes, how? if no, why not?AS2 and AS3 swfs cannot exist in the same Flash Player
virtual machine - each Flash Player instance (version 9 and
greater) create different address spaces/virtual machines because
the requirements of AS3 and AS2 are so different. -
Hi.
I have loads of games in AS2 but a freelancer is developping games in AS3. Can I use a container movie in AS3 and load both AS2 and AS3 games in. Otherwise I would have to update all games into AS3. Would all games have to be published to the same flashplayer? ie: FS7 etc...you can use an as3 swf to load as2 swfs. if you need to communicate between the two swfs, use the localconnection class.
-
AS2 or AS3 + online Tut for beginners ?
Hi All,
Anybody can advise what is the easiest to learn for a beginner : AS2 or AS3 ?
I am trying to do a "liquid layout " in Flash and have found tuts either with AS2 or AS3. Though I am struggling to understand them and need to learn the basics either on AS2 or AS3.
If you know aswell a good website teaching the basics step by step.
Many Thanksif you invest the time in AS3 it will probably be pay off the most in the end. AS2 as mentioned earlier is a bit easier to get up and running with and for many years powered many a great flash experience, but its days are numbered.
here is a very solid overview of AS3 in short easy to understand video tutorials.
http://tv.adobe.com/show/actionscript-11-with-doug-winnie
I would urge you not to rush. take it slow. watch the videos and try to apply each concept to your own project. -
Can C++ Container Determine AS2 vs AS3
I have a C++ container of Flash Player 11 (I have also tried
Player 9 and Player 10). How can the container ask the player what
type of content it is playing (AS2 or AS3)?
If I create an event handler (ExternalInterface.addCallback)
in AS3 which returns true (depicting AS3), and call
m_FlashPlayer.CallFunction in my container, I am able to
receive/parse the ActionScript response ("<true/>").
However, if the content is "old" (i.e. AS2 which does not
have the necessary event handler) ... or if the content is AS3 and
I deliberately throw an exception (throw new Error("AS3 Error") in
my event handler) ... the C++ container has no way of
differentiating between AS2 or AS3. My container catches the
COleDispatchException, but there is no information within the
exception. Both scenarios result with an m_scError = 0x80004005
(E_FAIL).
Is there a prescribed way for a container to ask the
Shockwave player if it is playing AS2 or AS3 content?You are confusing the Shockwave Player (which runs
Director-created
content) with the Flash Player
Maybe you are looking for
-
Help required. How to print Header Text in customized PO ?
Hi experts, Please help me go forward with this. I'm using a ZMEDRUCK & standard printing program. I have put my code here. Pls go through it and help me what has to be corrected here. PROGRAM ZMEDRUCK_SUBP2. FORM fetch_table_data TABLES in_tab STRU
-
ITunes installation error message. Need help!
I am receiving the following error message when downloading iTunes 10.5 and newer. A network error occurred while attempting to read from the file c:\\windows\installer\iTunes.msi
-
L_TO_CREATE_SINGLE: RC = 0, TO number but no TO
HI, I use L_TO_CREATE_SINGLE to create one TO. RC is 0. FM export LV_TANUM containning a TO number, but no TO appears in lists such as LT23. Furthermore it seems that it works the first time when it is running on a quant and not after. We are in 4.7
-
Hello I got a new laptop and my itunes are all on the old one which is broke, ive logged in to itunes on my new laptop and none of the songs that i bought are stored in the itunes they are still on my old laptop! I thought that if i log into my itune
-
Correct way to compile packages
Hi I have been following a tutorial which requires that i create classes in a package. I can compile with the -classpath option fine However when I attempt to run the program I get an exception basically saying the class is not found. When i removed