Changing Code Into AS3

I have a code that I wrote in AS2 and I am now trying to
convert it into AS3 . . . When I converted it this is what I came
up with but I can still not get it to work.
Can someone help me fix it? I used a coverter for some of it
http://www.5etdemi.com/convert/index.php
. . . does anyone know of a better one?
Thanks for any help fixing the code

:

Similar Messages

  • Dummy Guide needed for converting AS2 code into AS3

    I have to convert my existing AS2 code into AS3, but I might as well be reading chinese. I never even began to learn AS3, it was still fairly new at the time and the class ended before we had an opportunity to even touch on it. My major was not web design, it was the print side of design. I took an additional class, after I graduated, to learn web design and our teacher told us, basically, that we were designers, not coders so we won't be getting much into actionscripting, beyond the basics. At the time I was relieved, but looking back, I really wish we would have gotten more into it. Bottom line, I need to learn now.
    Is there ANYONE that can help me out? I will list my code below, buy I am way beyond lost any help that can be provided, I would be so grateful!!!!
    On the main timeline I have the basic..
    stop(); -- I found the AS3 version, but I don't know what I'm looking at. I get "not_yet_set.stop()" and there are are 8 options I can choose from. I just want the timeline to stop until I tell it where to go next. And what is "not_yet_set"
    Then I have my buttons, which are, basically...
    on (release) {
    gotoAndStop("Home");
    Or "gotoAndPlay("Whatever");"
    I also have buttons for scrolling...
    on (press) {
    play();
    on (release) {
    stop();
    AND
    on (press) {
    _root.AboutMe_Controller.gotoAndPlay(…
    on (release) {
    _root.AboutMe_Controller.gotoAndStop(…
    For the on(release) command, this is what I found as the AS3 version: not_set_yet.dispatchEvent()

    because that's really as1 code, you have steeper learning curve than going from as2 to as3.
    first, remove all code from objects, assign instance names to your buttons and you can then start on as3:
    // so, if you name your home button, home_btn:
    home_btn.addEventListener(MouseEvent.CLICK,homeF);
    function homeF(e:MouseEvent):void{
    gotoAndStop("Home");
    p.s.  the not_yet_set stuff is there because you tried to use script assist or some other actionscript shortcut.

  • Convert onEnterFrame Event Handler  AS2 code into AS3

    My code of AS2 is given below. I do not know what event handler type is used and which event handler is used in AS3.
    onEnterFrame = function(){

    this.addEventListener(Event.ENTER_FRAME,onEf);
    // "this" references the movie itself, you can also use "stage" or the instance name of an object on the stage
    // look up addEventListener in the online help. This method takes two arguments, the event that you want to "listen" for and the name of the function to execute when the event occurs.
    // the function that will be called when the event occurs. It takes one argument that corresponds with the first argument of the addEventListener method.
    function onEf(event:Event):void {

  • Change as2 code to as3

    I used a tutorial http://www.flash-game-design.com/flash-tutorials/funky-flash-website-tutorial-5.html to make a menu for my application, I've tried following tips on how to change AS2 code to AS3, but it just doesn't work.
    menu = ["bulls", "about", "roster", "schedule"];
    var current = menu[0];
    for (var i = 0; i<menu.length; i++) {
    var b = menu[i];
    this[b+"_btn"].stars._visible = false;
    this[b+"_btn"].txt = b;
    this[b+"_btn"].onPress = function() {
    _root.site[current+"_btn"].stars._visible = false;
    _root.site[this.txt+"_btn"].stars._visible = true;
    current = this.txt;
    _root.site.content.gotoAndStop(this.txt)
    this[current+"btn"].stars._visible = true;
    this.onEnterFrame = function() {
    this[current+"_btn"].stars.s1._rotation += 1;
    this[current+"_btn"].stars.s2._rotation += 0.5;
    Thank you,
    Glenn

    Just a note. Function declarations in a loop is an EXTREMELY bad practice that will lead to many problems if it doesn't have some already. So, the following lines:
    for (var i:int = 0; i<menu.length; i++) {
        var b:String = menu[i];
        this[b+"_btn"].stars.visible = false;
        this[b+"_btn"].addEventListener(MouseEvent.CLICK,fn);
        this[b+"_btn"].txt=b;
        function fn(e:MouseEvent):void{
            this[current].stars.visible = false;
            var nam:String=e.target.parent.name;
            this[nam].stars.visible = true;
            current = nam;
            //MovieClip(root).site.content.gotoAndStop(this.txt)
    should be:
    for (var i:int = 0; i < menu.length; i++) {
         var b:String = menu[i];
         this[b+"_btn"].stars.visible = false;
         this[b+"_btn"].addEventListener(MouseEvent.CLICK,fn);
         this[b+"_btn"].txt=b;
    function fn(e:MouseEvent):void {
         this[current].stars.visible = false;
         var nam:String=e.target.parent.name;
         this[nam].stars.visible = true;
         current = nam;
         //MovieClip(root).site.content.gotoAndStop(this.txt)

  • Change some code from as3 to as2

    Hi, I want to use as2 because it compatible with my website.
    I want to change some code from as3 to as2
    /////////////////////////////image1//////////////////////////////// if(MovieClip(this.parent).imagetxt.text == "a") {     var imgurl:String = "C:/Users/Thái/Desktop/ls/cotton-1.jpg";     var myrequest:URL = new URL(imgurl);     myloader.scaleContent = true;     myloader.load(myrequest); } /////////////////////////////image2//////////////////////////////// else if(MovieClip(this.parent).imagetxt.text == "b") {     var imgurl2:String = "http://aloflash.com/images/upload/3.jpg";     var myrequest2:URLRequest = new URLRequest(imgurl2);     myloader.scaleContent = true;     myloader.load(myrequest2); }thank you for your support.

    use:
    var myloader:MovieClip=this.createEmptyMovieClip("loader_mc",this.getNextHighestDepth());
    if (MovieClip(this._parent).imagetxt.text == "a") {
        var imgurl:String = "C:/Users/Thái/Desktop/ls/cotton-1.jpg";
        myloader.load(imgurl);
    } else if (MovieClip(this._parent).imagetxt.text == "b") {
        var imgurl2:String = "http://aloflash.com/images/upload/3.jpg
        myloader.load(imgurl2);

  • Help! Convert simple Flash AS2 code to AS3

    Hi everyone,
    I'm a Flash beginner and followed a tutorial: http://www.webwasp.co.uk/tutorials/018/tutorial.php ... to learn how to make a "live paint/draw" effect. I didn't realize  that if I made something in AS2, I wouldn't be able to embed it (and  have it work) into my root AS3 file, where I've got a bunch of other  stuff going on. I've tried following tips on how to change AS2 code to  AS3, but it just doesn't work. I know it's simple code, and that some  genius out there can figure it out, but I'm at a loss. Please help!
    Here's the AS2 code:
    _root.createEmptyMovieClip("myLine", 0);
    _root.onMouseDown = function() {
       myLine.moveTo(_xmouse, _ymouse);
       ranWidth = Math.round((Math.random() * 10)+2);
       myLine.lineStyle(ranWidth, 0xff0000, 100);
       _root.onMouseMove = function() {
          myLine.lineTo(_xmouse, _ymouse);
    _root.onMouseUp = function() {
       _root.onMouseMove = noLine;
    Thanks in advance!
    Signed,
    Nicolle
    Flash Desperado

    Considering the code is on timeline:
    var myLine:Sprite = new Sprite();
    addChild(myLine);
    var g:Graphics = myLine.graphics;
    addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
    function onMouseDown(e:MouseEvent):void {
         var ranWidth:Number = Math.round((Math.random() * 10) + 2);
         g.clear();
         g.lineStyle(ranWidth, 0xFF0000, 1);
         addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
         addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
    function onMouseMove(e:MouseEvent):void {
         g.lineTo(mouseX, mouseY);
    function onMouseUp(e:MouseEvent):void {
         removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
         removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);

  • Adding full screen code into Captivate 5's basic Button Widget

    Hi everyone!
    I was able to create a full screen button in Flash that works with Captivate 5 projects, however, I want to be able to active the full screen feature for every button created using the basic 'button' widget that comes with the Captivate program.  I am not a AS3 programmer so I think my issue is that I am confused as  to where to place the full screen code into the existing 'button widget'  code. Below is the code ...
    Thanks in advance!!
    edlearner
    HERE IS THE FULLSCREEN CODE THAT I USE
    button_name.addEventListener(MouseEvent.CLICK, fullScreen_action);
    function fullScreen_action(event:MouseEvent):void {
    stage.displayState=StageDisplayState.FULL_SCREEN;
    stop();
    HERE IS THE BASIC CODE FOR THE BUTTON WIDGET IN CAPTIVATE 5
    //..........................Template for Static Widget(AS3)....................
    //flash construct to use external interface : This is needed to use flash functionality for communication between two swfs
    import flash.external.ExternalInterface;
    import fl.controls.ComboBox;
    var widgetMode:String = '';
    var widgetParam:String = '';
    var varHand:Object = null;
    var movieHandle:Object = null;
    XML.prettyIndent = 0;
    XML.prettyPrinting = false;
    XML.ignoreWhitespace = true;
    var checkUpdatedXML = false;
    var playedByButton = false;
    var pauseFrame = 0;
    var addednoskipframe = false
    var myXML:XML;
    var myData:String = '<element1><textProperties><font face="Trebuchet MS" style="" size="12"/><textDecoration bold="true" underline="false" italic="false"/><color textColor="0x000000" highlightRequired="false" highlightColor="0xffffff"/></textProperties><captions style="BUTTON_1" themeLabel="0" backColor="0xffffcc" eventAssign="" eventParam="" txtXPos="9" txtYPos="4" imgXPos="190" imgYPos="40" a="1" b="0" c="0" d="1" tx="0" ty="0" bgSelected="false" borderColor="0xff9933" borderSelected="false" containerXPos="" containerYPos=""><text visible="true" width="42" height="20" a="1" b="0" c="0" d="1" tx="18" ty="4">Button</text><image visible="false" width="22" height="18" a="1" b="0" c="0" d="1" tx="NaN" ty="NaN"></image></captions></element1>';
    var xmlConfig:String = '<configs><styles label="Ivory" movieclip="BUTTON_1" backColor=""/><styles label="Frosted" movieclip="BUTTON_8" backColor=""/><styles label="Grey Space" movieclip="BUTTON_9" backColor=""/><styles label="Honey Comb" movieclip="BUTTON_10" backColor=""/><styles label="Mountain Blue" movieclip="BUTTON_11" backColor=""/><styles label="Aero" movieclip="BUTTON_12" backColor=""/><styles label="Gradient" movieclip="BUTTON_13" backColor=""/><styles label="Vivid 1" movieclip="BUTTON_14" backColor=""/><styles label="Vivid 2" movieclip="BUTTON_15" backColor=""/><styles label="Aqua" movieclip="BUTTON_16" backColor=""/><styles label="Glitter" movieclip="BUTTON_17" backColor=""/></configs>';
    //var xmlConfig:String = '<configs><styles label="Button 1" movieclip="BUTTON_1" backColor=""/><styles label="Button 2" movieclip="BUTTON_2" backColor=""/><styles label="Button 1" movieclip="BUTTON_1" backColor=""/><styles label="Button 2" movieclip="BUTTON_2" backColor=""/><styles label="Button 3" movieclip="BUTTON_3" backColor=""/><styles label="Button 4" movieclip="BUTTON_4" backColor=""/></configs>';
    var myConfig:XML = new XML(xmlConfig);
    var myWM = "";
    var mc:MovieClip;
    CaptionMc.visible = false;
    textFormatterMc.visible = false;
    //update ();
    var objName;
    function fnHandleButtonEvent (evt:MouseEvent)
        if (varHand != null)
            switch (Number(myXML.captions.@eventAssign))
                case 1 :
                    varHand.rdcmndResume = 1;
                    break;
                case 2 :
                    varHand.rdcmndPrevious = 1;
                    break;
                case 3 :
                    varHand.rdcmndNextSlide = 1;
                    break;
                case 4 :
                    varHand.cpCmndGotoSlide = varHand.cpInfoLastVisitedSlide;
                    varHand.rdcmndResume = 1;
                    break;
                case 5 :
                    if(varHand.rdinfoCurrentSlide != (Number(myXML.captions.@eventParam) - 1)){
                        varHand.cpCmndGotoSlide = Number(myXML.captions.@eventParam) - 1;
                        varHand.rdcmndResume = 1;
                    break;
                case 6 :
                    navigateToURL (new URLRequest(myXML.captions.@eventParam), "_blank");
                    break;
                case 7 :
                    navigateToURL (new URLRequest("mailto:"+myXML.captions.@eventParam), "_blank");
                    break;
            playedByButton = true;
    function update ()
        myXML = new XML(myData);
        if (myWM == "Edit")
            textFormatterMc.setData (myXML.textProperties);//strCaptivateXML:String
            textFormatterMc.init ();
            CaptionMc.setData (myXML.captions, textFormatterMc);
            CaptionMc.setConfig (myConfig.styles);
            CaptionMc.init ();
            CaptionMc.visible = true;
            textFormatterMc.visible = true;
            var arr = [textFormatterMc.sizeSelectorMc];
            initCursor(arr);
        else
            CaptionMc.visible = false;
            textFormatterMc.visible = false;
            if(mc != null){
                removeAllChildren(mc);
            }else{
                mc = new MovieClip();
                addChild (mc);
            var xmlRef = myXML.captions;
            var textMatrix:Matrix = new Matrix(xmlRef.text.@a, xmlRef.text.@b, xmlRef.text.@c, xmlRef.text.@d, xmlRef.text.@tx, xmlRef.text.@ty)
            var txt:TextField = new TextField();
            objName = txt;
            txt.name = "txt";
            txt.mouseEnabled = false;
            txt.selectable = false;
            txt.multiline = true;
            txt.wordWrap = true;
            mc.addChild (txt);
            txt.text = xmlRef.text;
            txt.mouseEnabled = false;
            txt.width = Number(xmlRef.text.@width);
            txt.height = Number(xmlRef.text.@height);
            //txt.x = Number(xmlRef.text.@tx);
            //txt.y = Number(xmlRef.text.@ty);
            txt.transform.matrix = textMatrix;
            var txtProp = myXML.textProperties;
            var tf = new TextFormat(txtProp.font. @ face,txtProp.font. @ size,txtProp.color. @ textColor,getBool(txtProp.textDecoration. @ bold),getBool(txtProp.textDecoration. @ italic),getBool(txtProp.textDecoration. @ underline));
            txt.setTextFormat (tf);
            if (txtProp.color. @ highlightRequired == "true")
                txt.background = true;
                txt.backgroundColor = uint(txtProp.color. @ highlightColor);
            txt.visible = getBool(xmlRef.text. @visible)
            var mcCaption = new MovieClip();
            var mcCaptionMatrix = new Matrix(xmlRef.@a, xmlRef.@b, xmlRef.@c, xmlRef.@d, xmlRef.@tx, xmlRef.@ty);
            var ClassName:Class = getDefinitionByName(xmlRef.@style) as Class;
            var objHolder = new ClassName();
            objHolder.buttonMode = true;
            objHolder.addEventListener (MouseEvent.CLICK, fnHandleButtonEvent);
            mcCaption.addChild (objHolder);
            objHolder.transform.matrix = mcCaptionMatrix;
            if (SimpleButton(objHolder.getChildByName("btn")) != null && xmlRef.@bgSelected == "true")
                var tempColorStr = [email protected]();
                if (tempColorStr.length > 0)
                    var objColorTransform = new ColorTransform();
                    objColorTransform.color = uint(tempColorStr);
                    SimpleButton(objHolder.getChildByName("btn")).transform.colorTransform = objColorTransform;
            if (MovieClip(objHolder.getChildByName("mcBorder")) != null && xmlRef.@borderSelected == "true")
                var borderColorStr = [email protected]();
                if (borderColorStr.length > 0)
                    var borderColorTransform = new ColorTransform();
                    borderColorTransform.color = uint(borderColorStr);
                    MovieClip(objHolder.getChildByName("mcBorder")).transform.colorTransform = borderColorTransform;
            mcCaption.addChild (objHolder);
            mc.addChildAt (mcCaption, 0);
            var mcIconMatrix = new Matrix(xmlRef.image.@a, xmlRef.image.@b, xmlRef.image.@c, xmlRef.image.@d, xmlRef.image.@tx, xmlRef.image.@ty)
            var mcIcon = new Loader();//IconMovie();
            mcIcon.contentLoaderInfo.addEventListener (Event.COMPLETE, imageLoaded);
            if (xmlRef.image != ""){
                mcIcon.load (new URLRequest(String(xmlRef.image)));
            mcIcon.name = "mcIcon";
            mcIcon.transform.matrix = mcIconMatrix;
            mcIcon.visible = getBool(xmlRef.image. @visible)
            mc.addChild (mcIcon);
    var cursor;
    var otherCursor;
    var downState = false;
    function initCursor(arr:Array){
        cursor = new Cursor();
        cursor.mouseEnabled = false
        cursor.visible = false;
        addChild(cursor);
        otherCursor = new StretchCursor();
        otherCursor.mouseEnabled = false
        otherCursor.visible = false;
        addChild(otherCursor);
        for(var i=0 ; i< arr.length; i++){
            arr[i].addEventListener(MouseEvent.ROLL_OVER, showCursor)
            arr[i].addEventListener(MouseEvent.ROLL_OUT, hideCursor)
            arr[i].addEventListener(MouseEvent.MOUSE_DOWN, showOtherCursor)
            arr[i].addEventListener(MouseEvent.MOUSE_UP, hideOtherCursor)
        this.addEventListener(MouseEvent.MOUSE_UP, hideOtherCursor);
        this.addEventListener(MouseEvent.ROLL_OUT, hideOtherCursor);
    function showCursor(e:MouseEvent){
        var txt = MovieClip(e.target).sizeTxt;
        if(!downState && txt.type == "dynamic"){
            cursor.visible = true;
            cursor.startDrag(true)
            Mouse.hide();
    function hideCursor(e:MouseEvent){
        if(!downState){
            cursor.stopDrag()
            cursor.visible = false;
            Mouse.show();
    function showOtherCursor(e:MouseEvent){
        var txt = MovieClip(e.currentTarget).sizeTxt;
        if(txt.type == "dynamic"){
            hideCursor(e);
            downState = true
            otherCursor.startDrag(true)
            otherCursor.visible = true;
            Mouse.hide();
    function hideOtherCursor(e:MouseEvent){
        downState = false;
        otherCursor.stopDrag()
        otherCursor.visible = false;
        Mouse.show();
    function removeAllChildren(mcRef:MovieClip){
        for(var i=(mcRef.numChildren-1); i>=0; i--){
            mcRef.removeChildAt(i);
    function imageLoaded (e:Event)
        var mc = e.target.content;
        mc.width = Number(myXML.captions.image. @ width);
        mc.height = Number(myXML.captions.image. @ height);
    function getBool (str:String):Boolean
        var ret:Boolean;
        if (str == "true")
            ret = true;
        else
            ret = false;
        return ret;
    function getModifiedXML ():String
        return myXML.toString();
    //to register enter frame function
    this.addEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
    //Captivate App will not recognize a Static Widget unless this function is implemented and returns true
    function isStatic ():Boolean
        return true;//denotes that this is indeed a Captivate Interactive Learning Object
    //a object needs to be created and values filled in . This is taken by captivate and stored as //xml string. This is the mean to pass values between captivate and widget swf.
    function getInspectorParameters ():Object
        //dev//Apply
        //set the data in _parameters fields. This is called by captivate to get the values of widget swf
        var _parameters: Object = new Object();
        _parameters.dataXML = getModifiedXML();
        return _parameters;
    // whenever widget is inserted the widget swf is passed on the parameters stored inside captivate so that it is drawn in updated stage.
    function setInspectorParameters (inParam:Object):void
        //Dev//on Double click //edit window
        myData = inParam.dataXML;
        myWM = widgetMode;
        update ();
    //is called whenever widget needs to be drawn as per the changed
    //parameters like OK to widget dialog and stage swf is updated with the current values.
    function setParameters (inParam:Object):void
        if (inParam.dataXML != null)
            //redraw the widget as parameters has changed
            //dev//OK button
            myData = inParam.dataXML;
            myWM = widgetMode;
            update ();
    //this function is called to set the variable on player
    function cpSetValue (variable:String, val):void
        if (variable == 'movieHandle')
            movieHandle = val;
            varHand = movieHandle.getMovieProps().variablesHandle;
            //using varHand the variables can be accessed for eg. varHand.rdcmndPause = 1;
        if (variable == 'widgetMode')
            widgetMode = val;
            //dev//set mode
    function getEditModeWidth ( ):int
        return 411;// return required width of widget properties dialog here
    function getEditModeHeight ( ):int
        return 480;// return required height of widget properties dialog here
    //Register all the functions with ExternalInterface
    if (ExternalInterface.available == true)
        ExternalInterface.addCallback ("isStatic",isStatic);
        ExternalInterface.addCallback ("getInspectorParameters",getInspectorParameters);
        ExternalInterface.addCallback ("setInspectorParameters",setInspectorParameters);
        ExternalInterface.addCallback ("setParameters",setParameters);
        ExternalInterface.addCallback ("cpSetValue", cpSetValue);
        ExternalInterface.addCallback ( "getEditModeWidth", getEditModeWidth);
        ExternalInterface.addCallback ( "getEditModeHeight", getEditModeHeight);
    //take care of optimised drawing inside this function. Check the widgetMode , widgetParams  and draw accordingly
    function onEnterEveryFrame (aevent:Event):void
        var wm:String = widgetMode;//this variable will be provided by Captivate App or Captivate Movie
        if (wm == null)
            wm = widgetMode;
        if (wm == null)
            wm = 'Stage';
            this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
        else if (wm == 'Edit')
            //Property inspection inside Captivate app
            myWM = wm;
            update ();
            this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
        else if (wm == 'Preview')
            //The code here is used for previewing the widget in the preview window of widget panel
            myWM = wm;
            update ();
            this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
        else
            //On stage scrubbing/live preview inside Captivate app (OR) at runtime inside Captivate movie.
            if(!checkUpdatedXML){
                if (movieHandle != null)
                    widgetParam = movieHandle.widgetParams();
                if (widgetParam != "")
                    var myXml:XML = new XML(widgetParam);
                    myData = myXml.property.(@id == "dataXML").string;
                    wm = "Runtime";
                    myWM = wm;
                    update ();
                    checkUpdatedXML = true
            if (movieHandle != null)
                if (movieHandle.isWidgetEnabled() == true)
                    if(addednoskipframe == false)
                        var slidestart = movieHandle.getSlideProps().startFrame;
                        var slideend = movieHandle.getSlideProps().endFrame;
                        pauseFrame = Math.ceil((slidestart  + slideend)/2);
                        var SlidePauseFrame = pauseFrame - slidestart + 1;
                        movieHandle.getSlideProps().slideHandle.AddNoSkipFrame(SlidePauseFrame);
                        addednoskipframe = true;
                    if(movieHandle.isWidgetEnabled()  && varHand.rdinfoCurrentFrame == pauseFrame && playedByButton == false)
                        varHand.rdcmndPause = 1;
                        this.removeEventListener (Event.ENTER_FRAME,onEnterEveryFrame);
    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;

    Hi again,
    I just added a virtual keyboard widget, so that you can enter text even in Fullscreen Mode
    http://www.m-gd.com/virtual-keyboard-captivate-widget-en/

  • Getting into AS3

    Hi
    I am new here and would like advice.
    I am designer mainly animation and effects. I do not like programing but Flash does force it on you in some cases of interactivity like buttons, sounds and movie clips. I come from AS1 and never worked with AS2. I would like to jump straight into AS3 but I am confused where to start.
    I would like to work on how to do the following using AS3 language;
    Introduction to AS3 language and new meanings
    start and stop sound
    loop sound
    interaction between movie clips
    contact form
    mouse effects, interactivity
    Text effects
    Preloader and advanced preloaders
    loading swf, unloading them and targeting specific areas in those swf
    So, you can see most of my list is for visual experience and interaction rather then an application. Those are the areas I am mostly interested in with AS3
    Thanks.

    Your best bet might be to start by reading the Flash help documentation.  I don't know what your chances are of finding an AS1 to AS3 differences listing, but in the help documents if you search on Migration you should get a search result that presents a table listing what changes from AS2, alot of which would also involve AS1 coding.  I believe there may be some tutorial-type lessons in the help documents to get you started as well.
    You may want to consider signing up at lynda.com for a month or so and make use of the various tutorials there.  Aloso, for any specific topics you'd like to pursue a Google search using "AS3 topic tutorial" will very often get you useful results.  There are a number of tutorial sites, one of which that has a variety of popular topics is gotoandlearn.com.
    If you're the learn by doing type, then if you run into something that won't work you can always ask questions here, presenting the code that isn't working, and someone will sually help resolve the problem... the more info you offer and the more it appears you've actually tried something, the more likely someone will help.  Those who come with no more than a "show me how" request for something involving more than a few lines of coding are more apt to leave empty-handed or get a Googl search suggestion.
    I have always taken a self-learning approach with Flash, and have found that between the search engines (Google, these days) and the Flash help doocumentation I can find answers to anything I've needed to solve.
    Other folks will probably have additional suggestions on resources to offer.

  • How to restructure this code into separate classes?

    I have C# code that initializes a force feedback joystick and plays an effect file(vibrates the joystick). I have turn the console application into library
    code to make a dll so that I can use it in LabVIEW. 
    Right now all the code is written under one class, so went I put the dll in LabVIEW I can only select that one class. labVIEW guy told me that I need to
    restructure my C# code into separate classes. Each class that I want to access from LabVIEW needs to marked as public. Then I can instantiate that class in LabVIEW using a constructor, and call methods and set properties of that class using invoke nodes and
    property nodes.
    How can I do this correctly? I tried changing some of them into classes but doesn't work. Can you guys take a look at the code to see if it is even possible
    to break the code into separate classes? Also, if it is possible can you guide me, suggest some reading/video, etc.
    Thank you
    using System;
    using System.Drawing;
    using System.Collections;
    using System.Windows.Forms;
    using Microsoft.DirectX.DirectInput;
    namespace JoystickProject
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    private System.Windows.Forms.Label label1;
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.Container components = null;
    private Device device = null;
    private bool running = true;
    private ArrayList effectList = new ArrayList();
    private string joyState = "";
    public bool InitializeInput()
    // Create our joystick device
    foreach(DeviceInstance di in Manager.GetDevices(DeviceClass.GameControl,
    EnumDevicesFlags.AttachedOnly | EnumDevicesFlags.ForceFeeback))
    // Pick the first attached joystick we see
    device = new Device(di.InstanceGuid);
    break;
    if (device == null) // We couldn't find a joystick
    return false;
    device.SetDataFormat(DeviceDataFormat.Joystick);
    device.SetCooperativeLevel(this, CooperativeLevelFlags.Exclusive | CooperativeLevelFlags.Background);
    device.Properties.AxisModeAbsolute = true;
    device.Properties.AutoCenter = false;
    device.Acquire();
    // Enumerate any axes
    foreach(DeviceObjectInstance doi in device.Objects)
    if ((doi.ObjectId & (int)DeviceObjectTypeFlags.Axis) != 0)
    // We found an axis, set the range to a max of 10,000
    device.Properties.SetRange(ParameterHow.ById,
    doi.ObjectId, new InputRange(-5000, 5000));
    // Load our feedback file
    EffectList effects = null;
    effects = device.GetEffects(@"C:\MyEffectFile.ffe",
    FileEffectsFlags.ModifyIfNeeded);
    foreach(FileEffect fe in effects)
    EffectObject myEffect = new EffectObject(fe.EffectGuid, fe.EffectStruct,
    device);
    myEffect.Download();
    effectList.Add(myEffect);
    while(running)
    UpdateInputState();
    Application.DoEvents();
    return true;
    public void PlayEffects()
    // See if our effects are playing.
    foreach(EffectObject myEffect in effectList)
    //if (button0pressed == true)
    //MessageBox.Show("Button Pressed.");
    // myEffect.Start(1, EffectStartFlags.NoDownload);
    if (!myEffect.EffectStatus.Playing)
    // If not, play them
    myEffect.Start(1, EffectStartFlags.NoDownload);
    //button0pressed = true;
    protected override void OnClosed(EventArgs e)
    running = false;
    private void UpdateInputState()
    PlayEffects();
    // Check the joystick state
    JoystickState state = device.CurrentJoystickState;
    device.Poll();
    joyState = "Using JoystickState: \r\n";
    joyState += device.Properties.ProductName;
    joyState += "\n";
    joyState += device.ForceFeedbackState;
    joyState += "\n";
    joyState += state.ToString();
    byte[] buttons = state.GetButtons();
    for(int i = 0; i < buttons.Length; i++)
    joyState += string.Format("Button {0} {1}\r\n", i, buttons[i] != 0 ? "Pressed" : "Not Pressed");
    label1.Text = joyState;
    //if(buttons[0] != 0)
    //button0pressed = true;
    public Form1()
    // Required for Windows Form Designer support
    InitializeComponent();
    // TODO: Add any constructor code after InitializeComponent call
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    protected override void Dispose( bool disposing )
    if( disposing )
    if (components != null)
    components.Dispose();
    base.Dispose( disposing );
    #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    public void InitializeComponent()
    this.label1 = new System.Windows.Forms.Label();
    this.SuspendLayout();
    // label1
    this.label1.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
    this.label1.Location = new System.Drawing.Point(8, 8);
    this.label1.Name = "label1";
    this.label1.Size = new System.Drawing.Size(272, 488);
    this.label1.TabIndex = 0;
    // Form1
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.BackColor = System.Drawing.SystemColors.ControlText;
    this.ClientSize = new System.Drawing.Size(288, 502);
    this.Controls.AddRange(new System.Windows.Forms.Control[] {
    this.label1});
    this.Name = "Form1";
    this.Text = "Joystick Stuff";
    this.ResumeLayout(false);
    #endregion
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    using (Form1 frm = new Form1())
    frm.Show();
    if (!frm.InitializeInput())
    MessageBox.Show("Couldn't find a joystick.");

    Imho he means the following.
    Your class has performs two tasks:
    Controlling the joystick.
    Managing the joystick with a form.
    So I would recommend, that you separate the WinForm from the joystick code. E.g.
    namespace JoystickCtlLib
    public class JoystickControl
    private Device device = null;
    private bool running = true;
    private ArrayList effectList = new ArrayList();
    private string joyState = "";
    public string State { get { return this.joyState; } }
    public bool InitializeInput() { return true; }
    public void PlayEffects() { }
    private void UpdateInputState() { }
    So that your joystick class does not reference or uses any winform or button.
    btw, there is a thing which is more important than that: Your polling the device in the main thread of your application. This will block your main application. Imho this should be a job for a thread like background worker.

  • HOW TO MAKE MY JAVA APPLICATION CODE INTO A EXE?

    I JUST FINISH WRITING A JAVA APPICATION code USING JCreator.
    there is no error in the program.
    Can someone provide me the steps to change it into a exe so that i can use the application in any computer. THANK YOU!

    You could use Google. I know, it means you need to do some research yourself. But an exe will only work on a Windows platform. Try looking for a tutorial on jar files instead.

  • Migrate existing code of AS3 to AS2 - URLRequest, URLLoader

    Hi,
    I have written code to read an XML file by using URLRequest and URLLoader in ActionScript 3.0. Code is pasted below. This runs well in AS3.  Problem I am facing is because I wrote this in AS3, I am not able to use the DateChooser component in another part of the flash module because it seems like DateChooser component is not supported in AS3. So I want to migrate my below AS3 code back to AS2.
    **** Code in AS3 (I need help in writing equivalent code in AS2) :-
    var xmlText:XML ;
    var xmlReq:URLRequest = new URLRequest("myFile.xml");
    var xmlLoader:URLLoader = new URLLoader();
    xmlLoader.load(xmlReq);
    xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
    function xmlLoaded(event:Event):void
        xmlText = new XML(xmlLoader.data);  
        info_txt.htmlText = xmlText.someTag ;
    **** I cannot use the above as is because, when I change the publish settings from AS3 to AS2, I get following errors -
    The class or interface 'URLRequest' could not be loaded.
    The class or interface 'URLLoader' could not be loaded.
    The class or interface 'Event' could not be loaded.
    Same works well in AS3. What should I do to make this work in AS2 or can anyone direct me in writing an equivalent in AS2.
    Please assist.
    Thanks in advance.
    MG

    parsing is done using the xmlnode methods and properties.  how you parse an xml file (in as2) depends on its structure.  but generally, you use firstChild, nextSibling, childNodes and nodeValue in the appropriate sequence to extact data.  the flash help files have sample code.  for tutorials, check google.
    if you're trying to load a cross-domain xml file, you'll have a cross-domain security issue to deal with.

  • Loading AS2 mc's into AS3 movies

    Hi. Using the following code to import AS2 mcs into AS3.
    var contenedor = new Loader();
    contenedor.load(new URLRequest("animal_catch2.swf"));
    addChild(contenedor);
    contenedor.x = 100
    contenedor.y=0
    BUT doesn't work too well. Games don't work but and the image is displaced. Would appreciate any help.
    Thanks in advance.

    Sorry, excuse me. The displacement was becuase I cut and pasted the and I've just seen x = 100.
    Anyway, the game still doesn't work.
    Also, even if mcs are imprted and have different sizes than the container, can't they fill the container anyway - with fullscreen or something.

  • As2 code to As3 conversion please

    Hey, could someone help me converting the following code to AS3. Thanks for any help..
    id=_root.id;
    if(this._y<>_root.txk){
    this._y=_root.txk;
    _root.txk+=60;
    this._x=_root.txx;
    textyazı="";
    onEnterFrame=function(){
    this._name=namet.text;
    if(_root.txk==360){
    _root.txx+=60;
    _root.txk=60;
    this.onPress=function(){
    if(_root["t"+namet.text].txtn.text<>namet.text){
    _root.attachMovie("txt_dd","t"+namet.text,_root.derinlik);
    _root["t"+namet.text]._x=100;
    _root["t"+namet.text]._y=100;
    _root["t"+namet.text].txtyname.text=namet.text;
    _root["t"+namet.text].txtn.text=namet.text;
    _root["t"+namet.text].txtyazılar.text=textyazı;
    _root.derinlik++;
    txtac = SharedObject.getLocal(id);
    setInterval(function(){
    if(txtac.data.namet<>"" && txtac.data.id>0){
    namet.text=txtac.data.namet;
    textyazı=txtac.data.textyazı;
    id=txtac.data.id;
    }else{
    namet.text=_name;
    if(namet.text=="undefined"){
              namet.text=_name;
    if(textyazı==undefined){
              textyazı="";
    },50);
    this.useHandCursor=false;

    1.download flashdevelop (Flash has bad code hinting and error descriptions)
    2.start with deleting underscores in _root,_x,_y
    3.work your way up from there
    4.Lines like:
    this.onPress=function
    are probably attached directly to a button or MovieClip: This is not possible in as3 anymore. You have to take the code out of the button and put it on the timeline of the button, if it is a MovieClip.
    5.The Event Model has changed considerably:
    onEnterFrame=function(){
    // do stuff here
    is now
    addEventListener(ENTER_FRAME, enterFrameHandler);
    function enterFrameHandler(e:Event):void{
    //do stuff here

  • In general, how do I put code into a loop?

    I have access to a procedure that takes a parameter and spits out a single result. I need to figure out how to use that procedure and spit out many results. This example should clear things up.
    VARIABLE enum NUMBER;
    EXEC :enum := 7566;
    -- my procedure. Cannot change code here.
    -- Prints out a formatted name and job, given an empno stored in :enum
    SELECT ename || ' (' || job || ')' AS "myrow"
    FROM scott.emp
    WHERE empno = :enum;
    -- end of my procedureHere, I can't change anything from the SELECT to the semi-colon. Now I would like to put this into a PL/SQL LOOP, but I can't figure it out. Let's say I want to print out all of the employees with a job of manager. Somehow I will need enum to take the value of the current iteration from within the loop.
    something like this:
    BEGIN
    -- first get the list of employees
    CURSOR e_cur IS
    SELECT empno
    FROM scott.emp
    WHERE job="MANAGER';
    END;
    BEGIN
    FOR r_cur IN e_cur LOOP
    :enum = r_cur.empno
    -- my procedure. Cannot change code here.
    -- Prints out a formatted name and job, given an empno stored in :enum
    SELECT ename || ' (' || job || ')' AS "myrow"
    FROM scott.emp
    WHERE empno = :enum;
    -- end of my procedure
    END LOOP;
    END;
    {code}
    of course, this code does not work, and I don't know what else to try.
    Thanks in advance for any help!
    Skip                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Oh boy, do I owe you guys an apology. Absolutely no excuse, but I screwed up big time yesterday. I am working on a couple of projects and got some wires crossed. I would like to start over. Forget everything I asked yesterday. I wouldn't be surprised if no one answered, but I could still use some help. I am embarrassed because I am usually pretty good at these things, and again, I humbly apologize.
    Still with me? Here we go:
    I have a SQL script that is quite long. It has 25 select statements, 4 unions, 7 minus'es, lots of joins, sub-queries, etc. The script expects two bind variables to be set before running. The code was written to execute once (like a report). But the code does exactly what I need, but I need to run it on a much larger set. So I would like to wrap it in a loop. Now, I am pretty good at other programming languages (I know, hard to believe given yesterday's exchange). If I have some java code that I want to wrap in a FOR-NEXT loop, often all I need to do is put one line at the top of the code and one line at the bottom. Then I make sure the variables that need t be updated through each iteration are properly updated. Bada-bing, bada-boom, it's done.
    It doesn't seem as easy here. I know that I will have to convert my SQL script to PL/SQL. But I am wrestling with the DECLAREs, BEGINs and LOOPs, and changes to the existing code to ensure the bind variables are updated each iteration. I have tried all of what I thought would be the simple solutions as I described with my java example above, but it has not worked. So, as my subject line indicates, I was wondering if there was a general methodology to LOOP-ifying existing code. I know this is a pretty nebulous question, and I probably blew it yesterday, but I really do need some help. Even if it is "read this and that website/book/etc". That's really it. sigh All that stuff yesterday about "unmodifiable code"--forget about that. I should never have said that. Anything goes.
    Maybe there isn't a simple solution here. SQL isn't Java. And that's OK. At least then I will know I will need to look for a different solution or I will have to get a LOT smarter with SQL and PL/SQL. I thought my super-simple example yesterday was a good enough substitute for what I am faced with, but maybe that isn't a good assumption.

  • Fluid grid for Wordpress: insert PHP code into DW or DW code into Wordpress?

    This may be a stupid question but it's a dilemma for me. Here's the problem. I want to create a mobile first, fluid grid Wordpress website in Dreamweaver CS6 based on an existing Wordpress theme. I can see two ways of doing that:
    1) Create a fluid grid layout in DW, then insert the Wordpress PHP code into the right places in DW
    Pro: the fluid grid layout is set up by DW and therefore can be easily edited with DW (I imagine)
    Con: It is beyond my coding skills to make a fully functional WP template
    2) Take an existing responsive Wordpress template with media queries and edit that in Dreamweaver
    Pro: I start with a fully functional WP template and only have to make changes (mostly in CSS) to customise it
    Con: When I start with an existing template (like Skeleton) I run into trouble using DW
    For example: I click a navigation button to get at the CSS but it's not clear to me from DW's interface in which media query I have to make changes. I did a tutorial on creating a fluid grid layout with DW so I can do that. But DW doesn't work the same way with an existing WP template like Skeleton. I searched the web but all I can find is help on creating a fluid layout with DW, not editing an existing one.
    By the way, I am experienced with HTML/CSS but not PHP and I have a local Wordpress server running on my Mac so I can work in Dreamweaver's Live View.
    The problem may be that I am only just starting with responsive web design and need some more experience with media queries, css rules and DW CS6. Could anyone comment on this problem or point me towards more information on the subject?
    TIA!

    You can certainly use DW to customize a 3rd party WP Theme.  However, you must be throughly familliar with how WordPress Themes work and have a good working knowledge of  HTML, CSS and PHP code.  Design View will not be much help to you. 
    WP Themes are a sum of their various parts:  header.php, footer,php, sidebar.php, page.php, index.php, archive.php, etc...  The web server parses code from the various parts and creates whole pages on the fly.  Once WP is deployed on your server, you cannot use DW to edit content.  You must use the WP Admin Panel (CMS) to manage content, Themes, plugins and backup data.
    For simple static sites, the FluidGrid Layout feature in DW is a nice starting point.  But these layouts have definite  limitations which, IMO would not be a good fit with WordPress.
    Nancy O.

Maybe you are looking for