Actionscript 3.0 :: Communication Between Sibling Classes?
Apr 16, 2009
I had a question on OOP and the best practice for how to communicate between classes. If I have a class (SiblingA) where some one clicks something in it and you need to interact with another Class (SiblingB), what is the best method for doing this?
(option1) Should I have a bunch of event listeners in the Document Class that respond to these events? (I thought you wanted a document class to be as small as possible). (option2) Or should I create a separate 'Utility' class that speaks with both siblings to facilitate communication (event handling) between the two (one class with many public static methods). I have attached a diagram to try and help explain this.
Often times these events are dispatched from children of children in sibling classes (ie childOfSiblingA or even its children) Option1 Scenario: A user does something in SiblingA, that dispatches an event to the doc class which listens for it, fires its listener function which calls a (public) method in SiblingB to handle the interaction.
Option2 Scenario: A user does something in SiblingA which calls a (public static) function in Utility class which calls a (public) function in SiblingB to handle the interaction.
I think I am leaning towards option 1 but that would be a lot of dispatching events (child dispatches to parent, dispatches to its parent, dispatches to doc, doc calls child, which calls its child, which... finally does something)
View 6 Replies
Similar Posts:
Apr 1, 2010
I always have the trouble that make different classes communicate with each other.
1. using get set methods
2. eventdispatch to dispatch custom event.
Today, I am working on this confused issue again. I still can't get through it.this time what I wanna do is this: I wanna use a button (_zoom) to control a mc (_board) located in different class. Let's me give a simple structure for you:
ProjectAppear.as
|_ _board (mc)
|_ Project.as
|_ _work (mc)
|_ _zoom (mc)
My thought is I add a mouse event listener for _zoom, and then when mouse click it will dispatch a custom event..
View 2 Replies
Feb 21, 2008
Im building my first OOP project with classes in AS3, Ive done a lot of tutorials and Im grasping the concepts well. Im just having trouble with the concept of communicating between classes. Whats the best way for a class to talk back to its parent once its instantiated? It seems when your inside a class, you're kinda stuck there as far as scope goes? ie one way street. Or am i missing something? Im used to the days where I was coding on the timeline and could just use this._parent etc. But obviously those days are gone.Or should I not need worry about this If I have planned the structure/heirachy correctly?
View 14 Replies
Jul 19, 2011
I need to know how to reference variables in other classes. I have been avoiding this by referencing variables from the Main class, where they are created. But at this point I would like to be able to have the option and it would make me a better programmer.
Say I create a movieclip in the Main.as
Code:
public var Enemy_mc:Enemy = new Enemy();
addChild(Enemy_mc);
[Code].....
How do I do that^ without creating a variable in Main.as and having it check Background.as for variable updates?
Can I do something like "Main.Enemy_mc += 5;" like I can do in Main.as to variables that I have created in Main in other classes?
View 2 Replies
Jun 2, 2009
I don't know how to phrase this, but as you can see my code below I have 2 classes.
1. wp_title
2. wp_date
How can I let wp_date to get the height of wp_title's contentText? Currently I tried tracing wp_title.height from wp_date but all I get was 0, I guess it doesn't get the height after wp_title finish loaded. Currently the classes will perform an action after I resize the stage. I assume if I'm able to get the classes to communicate with each other than I could have 1 main classes to control the actions perform in other class?
Code:
package {
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageScaleMode;
import flash.events.Event;
[Code] .....
View 5 Replies
Sep 9, 2009
1. I've created a menu which works almost what I want, but after I click a button and roll over to other buttons, it would show error. It show the error at the output panel but everything still working fine
Code:
private function bgGlow(event:Object):void {
//Disable menu below
event.parent.button.visible=false;
[Code]....
View 3 Replies
Dec 14, 2010
I'm using external actionscript files located in the root of my webfolder, but I also want to communicate with another website.
How should I set my Local playback in publish settings? Access Local Only? or Access Network Only?
View 1 Replies
Jan 19, 2010
I have a reference to a XML node which is part of a bigger XML tree. Is there a way to get that elements next/previous sibling without accessing the parent and looking for it? Something like DOM's nextSibling would be what I look for. edit: Given that there is no natural way to do this with E4X, I'll just stick to the following (except that in my case, I'll store the actual index somewhere instead):
[Code]..
View 2 Replies
Jul 25, 2006
This is my first time using this forum. What an excellent site. I've learned a lot about using xml with flash through this site. I have expanded upon the example to build an xml menu using flash.The file I have created loads videos dynamically
Loads Sounds Dynamically Includes a title Class to display titles Includes a RollOver class to display on rollover events when you mouse over the titles. ut I would like to build arrows so that you can navigate among each of the individual sub menus using a forward, and back arrow button.I have tried to do this with no success, if anyone can help me, I'm attaching the fla...
View 5 Replies
Jun 17, 2010
I'm trying to get the sibling of an mxml tag similar to the way siblings are selected in javascript. Is this possible in Actionscript? For example, when I click the TextArea with id textarea1, I need it to tell me that the sibling has an id of rect1 so I can do further processing to it.
<s:Group>
<s:TextArea id="textarea1" click="getSibling(event)" />
<s:Rect id="rect1" />
</s:Group>
View 3 Replies
Oct 11, 2009
Below is the code for a simple Flex actionscript project. A sprite is partially covering a hyperlink. What's happening is that when you hover over the sprite, if you're also hovering over the hyperlink, the hyperlink is activated. I want to prevent that. I want the hyperlink to be activated only when the mouse hovers over it -- but not when the mouse hovers over the sprite which covers it.
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TextEvent;
import flash.text.Font;
[Code] .....
View 3 Replies
Dec 17, 2010
How can same be false in the following snippet?
var child1:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
var child2:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
var same:Boolean = (child1.parentDomain === child2.parentDomain);
trace(same);
View 1 Replies
Feb 26, 2012
On my stage is a MovieClip called Box and a MovieClip called InfoBox. InfoBox has a fucntion called setInfo. Box, when clicked (It is a MovieClip, not a button), wants to call the setInfo function of InfoBox.
I tried using the following code in Box:
MovieClip(this.parent).InfoBox.setInfo();
This produced the following error:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::Stage@34a8ef99 to flash.display.MovieClip.
at Box/infoBox()
What is proper way to call a function in a sibling MovieClip?
InfoBox.as looks like this:
package {
import flash.display.MovieClip;
public class InfoBox extends MovieClip {
[Code].....
View 4 Replies
Aug 14, 2006
I am trying to learn xml in flash myself and am findingit v.hard.All i am trying to do is create a little 'story' with 3 pages.I have content loading into flash but I am unable to get the next 'sibling' into an array e.g. the title. I can only get page1's title in the array but I can never get to page 2.Here is my xml:
<maincontent>
<page1>
<title>Who is he</title>[code].....
This only traces the first title, how can i get to the second and the third so i can then display them in my text box?
View 2 Replies
Oct 27, 2010
If I have two sibling canvases displayed next to each other, can I have a child Label (or any child component for that matter) in the left canvas overflow outside of that canvas and on top of the next?
Something like this:
______________ ______________
| ----------------------------- |
| | Label overflow test | |
| ----------------------------- |
| | | |
| | | |
|______________| |______________|
View 1 Replies
Jun 10, 2010
Essentially, the simplified problem is this: I have a parent sprite "PARENT" with two children: One child sprite "A" that contains a number of children which respond to mouseover/mouseout and rollover/rollout events, and a second child sprite "B" that is shown/hidden based on the events in "A".
The problem is that "B" appears over "A" on the stage and when the mouse enters "B", the children in "A" throw mouseout/rollout events. Ideally, I would be able to make "B" completely mouse transparent so that the hit testing in AS3 will "see through it" to the underlying "A" sprite, but this doesn't seem possible.
Note that "B" has mouseEnabled and mouseChildren set to false... but the problem seems to be that the AS3 hit testing engine won't look at siblings when determining mouse hit testing. (i.e. It sees "B" under the mouse, sees the mouseEnabled=false setting, and then moves on to "B"'s parent ("PARENT"), but never checks to see if "A" is under the mouse (which it is)).
I can't make "B" a child of "A", because "A" is clipped and "B" needs to extend beyond this clipping area.
At this point I'm thinking I'm going to have to do my own hit testing, which is far from ideal given that "A" contains a large number of children.
View 4 Replies
Jun 2, 2010
I have a Flex repeater that has a complex item template. When a checkbox is clicked, I need to toggle the visibility of a sibling button contained in the same repeater template. Since I can't add binding expressions to event handlers, I can't pass in the repeater item's index.
How can I access sibling components inside a repeater item?
View 1 Replies
Aug 23, 2011
Is there any way to auto-import as3 classes (internal/intrinsic Flash Player classes at least) using Emacs ?
Looked for as3-mode and actionscript-mode but nothing working was found. as3-mode can import class if it is opened in buffer (but not *.mxml files)
View 1 Replies
Jan 9, 2010
The examples I'll use don't do anything - they're classes without ANY members - no variables, methods, anything.
Let's say I extends Sprite and call it MySprite.
I save it in test.core
[code]...
Now I create another custom class called MyWindow that extends MySprite.
I save it in test.windows
[code]...
Then I create another class that extends MyWindows (the example I'll use is a document class - but that doesn't matter - I've tested using an instance too).
[code]...
Notice that I'm not even trying to instantiate the helper classes - just having them there throws the error.
If there is only a single helper class, everything runs fine.
Also note that - as far as I can tell - this only happens when extending one class from another package, then extending that class with more than one helper object.I'm pretty sure there's no namespace bumps or typographical errors, as this is a very pared-down version of the original application.
EDIT: seems the problem exists even without the crossing packages - even extending MySprite in the document class with multiple internal classes generates this error.
View 4 Replies
Feb 3, 2012
I am creating a library in AS3. Inside the library I make use of a bunch of classes/packages that need not be exposed to the end user of my lib. I want to only expose one of these classes.
I guess my questions are:
1) How are libraries commonly distributed in AS3?
2) Is there a .jar equivalent in AS3 that developers can include, but will only have access/knowledge of the classes I've declared as public?
View 2 Replies
May 6, 2011
I have an actionscript project which uses visual symbols from an SWC. I have a CheckoutButton which has the following class associated with it (compiled into the SWC in Flash CS3).
[Code]...
View 1 Replies
Feb 8, 2011
I'm trying to import a class from a class that is located in another folder. How do you move up a directory? Using./ or ../ doesn't seem to work. Essentially I want to access a TweenLite Class but not from the document class. My class is at com/myName and the class I want to access is at com/TweenLite. import ../TweenLite doesn't work... I realize I could just copy and paste the entire Tweenlite folder again, but there's got to be a less duplicative way of doing this..
View 2 Replies
Feb 4, 2009
inheritance and building classes from other classes.
I have 3 classes:
gfxRoomText - changeable colour
gfxRomInter - changeable colour - interactive
gfxRoomImg - interactive - only image / no colour
The first two incorporate the same text field and functions to change colour. The second and third incorporate another class to interactive with. What is the best way of creating these classes using inheritance and how?
View 8 Replies
Dec 21, 2005
I have to use many custom classes for a project, each class includes lots of elements(methods,properties) and I generally forget their names when coding. Is there any editor which I can enumarate the elements of my classes after pressing "." like Flash's built in classes?
View 8 Replies
Nov 30, 2009
how to pass one class that holds all my math for a betting game though all my other classes that hold the pages.
View 2 Replies
Sep 15, 2011
I am new to classes and I am just starting to follow tutorials on how to assign classes and sub classes and I am wondering when you assign a base class or class to an object(Symbol e.g movieclip) through the properties, are all instances on the stage no matter how many and what they are named influenced and is the Stage/main timeline always the parent? and just one more question, is the parents objects display list all the movieclips that are used on the stage or all the instances on the stage?
View 6 Replies
Oct 18, 2006
I am not sure how to import multiple classes into an AS3 class. Also I am bit confused on how "package" works now.[code]
View 2 Replies
Dec 3, 2009
I have a communication problem between to SWF. Here is my code, SwfA is the caller :Shared interface between the 2 Swf :public interface ItfA { // some code} In the second Swf, SwfB, the document class :
public class MainB extends MovieClip { private var a:Itfa; public function start(_a:ItfA) { a = _a; // etc }}
In the first Swf, SwfA:
public A implements ItfA { var mLoader:Loader; [...] public function startLoad() { mLoader = new Loader(); var mRequest:URLRequest = new URLRequest("B.swf"); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onprogressHandler); mLoader.load(mRequest); } public function
[code]....
When I test in the fash environment (ctrl + enter), there is no problem, but in my browser it failes and says that A is not an ItfA (TypeError: Error #1034)
View 1 Replies
Jun 19, 2011
I am doing an Actionscript 3.0 project which involves introspection. I am wondering if there is a way to get all the classes within a given package structure.
[Code]....
View 3 Replies
Aug 21, 2008
I have two swf files. And i want to send data from one swf to another. So how can i do that?
I have 4 tabs in one swf file and when i click tabs then it should send data respectively to second swf file.
View 8 Replies