Local Connection Actionscript – Communicate between seperate Flash files | Tutorial

Overview:

Local Connection
Communication between two separate flash files placed on the same page (or even running simultaneously on one machine) is a nice way to spread a project out. You can send variable, call functions, pretty much do anything in one swf from another. Easiest case use would be a navigation menu set up in one flash file to control the other one containing the content. I’ve made an example here showing how to send text from one to another. I’ve done it both directions here. Send text from the red swf to the blue swf, and from mr. Blue you send to the red flash file. I have named the flash functions in actionscript accordingly (or tried to, now I notice a few places I misspelled receive, ‘i’ before ‘e’, right? oh yea, except after ‘c’)…
Anyways, try out the example here, I made it a little easier by putting a keyListener on ‘Enter’, so you don’t have to actually press the send button. Didn’t realize it before, but this is like a chat app built in flash! So go ahead and chat with yourself to prove that it works!

Execute actionscript in one swf from another! Inter-swf communication.

Example:

Type here to send Red text to Blue flash file

Get Adobe Flash player

And see it received here, and go ahead and send some back to Red.

Get Adobe Flash player

Actionscript:

Red:

// Receiving
//create a local connection for reciept of text
var receiving_lc:LocalConnection = new LocalConnection();
//function called from other swf
receiving_lc.recieveBlueText = function(textRecieved:String) {
feedback.text += textRecieved+"\n";
};
//receive connection of specified name
receiving_lc.connect("fromBlue");

//Sending
sendButton.onRelease = function() {
//create local connection for sending text
var sending_lc:LocalConnection = new LocalConnection();
//put text from input into a var
var textToSend = inputText.text;
//send through specified connection, call specified method, send specified parameter
sending_lc.send("fromRed", "recieveRedText", textToSend);
//set the input empty
inputText.text = "";
}

Blue:

// Receiving
var receiving_lc:LocalConnection = new LocalConnection();
receiving_lc.recieveRedText = function(textRecieved:String) {
feedback.text += textRecieved+"\n";
};
receiving_lc.connect("fromRed");

//Sending
sendButton.onRelease = function() {
var sending_lc:LocalConnection = new LocalConnection();
var textToSend = inputText.text;
sending_lc.send("fromBlue", "recieveBlueText", textToSend);
inputText.text = "";
}

And the code to listen to the ‘enter’ key(this is in both files):

//Enter button to send
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if (Key.getCode() == "13") {
sendButton.onRelease();
}
};
Key.addListener(keyListener);

Download Source:

localConnectionRedBlue.zip

This entry was posted in tutorial and tagged , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

20 Comments

  1. 4dplane
    Posted April 8, 2008 at 10:19 pm | Permalink

    Hi, and thanks for this example. I have converted this into AS3 and put the code in .as files it works but in a strange way – here is a link to the problem if you are intersted.

    http://www.kirupa.com/forum/showthread.php?p=2310148#post2310148

    thanks again,
    4dplane

  2. Rajesh
    Posted May 16, 2008 at 6:23 am | Permalink

    I have a doubt.. Can we create local connection between three swf files.. Can u please clarify my doubt…

  3. Posted May 16, 2008 at 2:47 pm | Permalink

    Theoretically this is supported. Sorry, I haven’t tested it before, so I can’t say for sure of have an example, I’ll add it to my list though. =)

  4. Posted June 24, 2008 at 5:31 pm | Permalink

    Thanks so much! I’m glad that they’re helpful.

  5. Taylor Dodds
    Posted June 25, 2008 at 11:10 am | Permalink

    Is it possible to add this script to multiple buttons in a pamenu and call multiple flash vido files with it?

  6. Taylor Dodds
    Posted June 25, 2008 at 11:11 am | Permalink

    menu*

  7. julian
    Posted August 28, 2008 at 2:10 am | Permalink

    good job,, thanks for this tutorial…

  8. motu
    Posted September 25, 2008 at 1:27 pm | Permalink

    I too am interested to control a Flash video player from a separate Flash file (with buttons or menus sending the controls)…

    BTW, here’s an example with 4 Flash files communicating on one html page:
    http://home5.inet.tele.dk/nyboe/flash/localconnectiontest.html

    Thanks!!
    motu

  9. ruchi
    Posted November 1, 2008 at 7:58 am | Permalink

    its a good example ,easy to learn,understand……….

  10. Posted November 26, 2008 at 10:48 am | Permalink

    Well on Firefox for Mac your exemple does not work, weird….

  11. Posted November 29, 2008 at 4:43 pm | Permalink

    With ff3 on my mac it works for me ;)

  12. ameer
    Posted April 29, 2009 at 1:07 am | Permalink

    hey can any body help
    it is not working in ie6…plz help

  13. Posted April 30, 2009 at 7:16 pm | Permalink

    This example works great but what can be done about someone who has two browser events open at the same time. The connection will only address the first page that is opened.

  14. Vance
    Posted November 25, 2009 at 12:49 pm | Permalink

    you may want to check the code and solve for the problem that when someone opens your website up in two separate tabs, the local connection object fails. you did catch the error correctly however you didn’t give a second or third one to try when they fail. i’ve had this problem before and it saved me to have a second connection name to try if the first one failed. also if the user was at a website that used the same code you have, more specifically the same local connection name you used, one of the connections would fail.

    just something to think about when doing this. i’ve found the local connection is a real pain.

  15. Tim
    Posted January 20, 2010 at 6:05 pm | Permalink

    This code isn’t working for me on OS 10.5, Firefox 3.5.6, Safari 4.0.4, Flash Player 10,0,32,18. Not sure why.

    Works fine via Parrallels / Windowx XP Pro 2002, IE 6.

    Is this Flash Player Mac bug?

    • Posted January 21, 2010 at 11:55 am | Permalink

      Well this is almost 2 years old, so I wouldn’t be too surprised it new browser updates may have borked it. i’d try some as3 by now to do it. That may help as well

      • WE
        Posted March 5, 2010 at 12:49 pm | Permalink

        That’s the conclusion I’m starting to come to. I’ve been searching around for a working version of a flash localConnection tutorial for hours. I have yet to find a functioning example. Unfortunately, I’m also unable to find any verification that this is due to some new security feature, or other known issue (aside from the very common multiple open browser issue). Seems that this is a problem that has slipped through the cracks and isn’t being addressed anymore. Is there some new way to communicate between flash files on an HTML page?

  16. Matt D.
    Posted April 21, 2010 at 2:32 pm | Permalink

    Hi,
    I’m just starting to learn ActionScript & 3.0 and am working on a project that uses a set of 4 navigation buttons (swf1) that on user click need to play their respective content menu swf’s (swf 1-4) in the same html page. (basically the case that you describe in your overview above).
    Can you provide an example of how to code one of the 4 movie clips in swf1 to call it’s swf content menu and play it from frame 2?
    Any help would be greatly appreciated.
    Thanks in advance.
    Matt

  17. Posted October 20, 2010 at 2:14 am | Permalink

    hi do u have example with 3 swf and localconnection
    thanks

  18. Lou Parker
    Posted August 16, 2011 at 9:15 pm | Permalink

    The example does not work in FF6 or IE9. Any idea why that is?

One Trackback

  1. By Flash LocalConnection Tutorials | tutorials blogs on November 14, 2010 at 12:01 pm

    [...] Local Connection Actionscript – Communicate between seperate Flash files | Tutorial [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Recent Posts

    WordCamp Presentation Slides: From Photoshop PSD to WordPress Theme

    Here are my slides for my WordCamp Atlanta presentation, From PSD to WordPress Theme: Under the skin: PSD to WP on Prezi Tweet

    wordpress_wordcamp_atlanta_2012_feb_2_3

    Speaker at WordCamp Atlanta 2012

    I’m proud to announce that I’ve been asked to speak at WordCamp Atlanta this year! WordCamp will be held this weekend and hosted at SCAD Atlanta! My session is titled: From PSD to WordPress Theme: Under the skin. Obviously, I’ll be focusing on themes. We’ll look at what they are, what they can do, how [...]

    Adobe-like Arrow Headers | CSS-Tricks

    Zero images is something that always gets me excited, I really like these arrow button styles! I like the css used more and the hover/active states too, nice css3 transitions. via Adobe-like Arrow Headers | CSS-Tricks. Tweet

    snow

    Snow via Javascript & Canvas – Tis the Season

    After playing with the settings in my experiments I found a few settings I liked and wanted to develop further. The first was snow! An added bonus I was able to work on a project just for the holidays and used much of this code in it! I looked around the web and saw a [...]

  • Recent Shares

    bio

    An Event Apart Notes: Ethan Marcotte, Responsive Web Design

    Ethan Marcotte has become the father of Responsive Web Design and spent this whole day focused on principles, techniques, gotchas, examples, … all about building and how to build responsive sites. With a sprinkle of mobile first. For Ethan, it all started with this article: http://www.alistapart.com/articles/dao/ Think of architecture, the whole design phase is established [...]

    sammyj

    An Event Apart Notes: Ethan Marcotte, Rolling Up Our Responsive Sleeves

    Henry Adams (Descendant of 2 presidents: great-grandson to John Adams and grandson to John Quincy Adams). He lived between the civil war and world war 1. He witnessed the industrial revolution. Chaos was the law of nature, Order was the dream of man Samuel Johnson – funniest man in the 17th Century… Responsive Design: 1. [...]

    Webcomm_Montreal

    An Event Apart Notes: Jared Spool, The Curious Properties of Intuitive Web Pages

    Senseless waste of asterisks… Avis used an asterisk to denote optional fields. This means that there is a lot of baggage that comes with an asterixk. Somewhere this symbol got meaning, it’s not in the bible! We can control when something goes from unintuitive to intuitive. A design is intuitive (although technically and grammatically speaking [...]

    untitled-158-2

    An Event Apart Notes: Marco Arment, Bridging the App Gap

    The iPhone changed our industry in 2007: first mobile to have a desktop class web browser and it made people start using their mobile phones as computers! All apps other than apple provided ones were web browser apps. Most of the first apps were branded web browsers. No real difference between using mobile site or [...]

  • Recent Comments

    Lori Newman

    Lori Newman

    Just wanted to thank you for your presentation. It was extremely informative and just what I...
    Karl

    Karl

    I have been using for some time this nice Banner, from developer FX. They have a really nice Live...
    Karl

    Karl

    Thank you for this wonderful link… recommend it! Fast, simple, easy… :-)
    Gabriel

    Gabriel

    Hi Valerie, I don’t know if you are still following this post, but I tried seeing if it is...
    avinash

    avinash

    Hi Evan, I am using the same code and trying it on chrome/firefox it is not working on neither...
    Matt

    Matt

    I needed to store url variables from advertising tracking servers – this method works like a...