The ProgrammersTalk Community
Forum Register Search Today's Posts Mark Forums Read
Register

Go Back   The ProgrammersTalk Community > Graphic & Game Programming > Flash ActionScript


Welcome to the The ProgrammersTalk Community forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.
Tags: , , , , ,

Reply
 
LinkBack Thread Tools    Display Modes   
  #1 (permalink)  
Old 12-19-2007, 09:04 PM
ccoonen ccoonen is offline
PT Staff
Awards Showcase
Quality Tutorial Quality Tutorial Quality Tutorial Quality Tutorial 
Total Awards: 4
Join Date: Jun 2007
Location: Wisconsin
Posts: 308
iTrader: (0)
ccoonen is on a distinguished roadccoonen is on a distinguished roadccoonen is on a distinguished roadccoonen is on a distinguished road
Icon11 AS3 Custom Events

Any object that inherits (extends) DisplayObject such as a Sprite, MovieClip, TextField, etc... can dispatch events. One helpful trick, is to setup your own static constant variables to be used when Dispatching an event and listening to an event... this way No Typo's and it's intellisensed In this example, we are dispatching a custom event, and also listening for it using the const "TEXTBOX_ADDED" which we also made as the Event String Name to use.

Code:
package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextField;
    
    public class Gallery extends Sprite {
        private var _textBox:TextField;
        public static const TEXTBOX_ADDED:String = "textBoxAdded";
        
        public function Gallery() {
            addEventListener(TEXTBOX_ADDED, onTextBoxEvent);
            _textBox = new TextField();
            _textBox.text = "Hello world";
            addChild(_textBox);
            dispatchEvent(new Event(TEXTBOX_ADDED));
        }
        
        private function onTextBoxEvent(e:Event):void {
            trace("textfield just got added!");
        }
    }
}
You can also setup the event to "bubble" up which means it can keep transfering up the chain of objects, so your bottom-level element (a child within a child within a child) can fire/dispatch an event, and the top-level can hear it. The second optional parameter is a boolean for bubbles (if it should bubble or not):

Code:
dispatchEvent(new Event(TEXTBOX_ADDED, true));
The last parameter is cancelable - another boolean value - incase you would like you would like the event to be cancelable. So if your child wants to stop the bubbling to the top event, it can be cancelled before the top-level sees it... which is a nice addon

Code:
dispatchEvent(new Event(TEXTBOX_ADDED, true, true));
Events can also be setup to occur in a certain priority - as in X needs happen before Y which hppens after Z. Lots of nice additions with events in AS3 (Just another reason to switch from AS2)... Happy coding!
Reply With Quote
Reply


Thread Tools
Display Modes

   Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 10:46 PM. Powered by vBulletin
Copyright © 2000 - 2007, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO © 2007 ProgrammersTalk Sedo - Buy and Sell Domain Names and Websites project info: programmerstalk.net Statistics for project programmerstalk.net etracker® web controlling instead of log file analysis


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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50