ActionScript 3.0 :: Communicate From A Class To The Root?
Feb 4, 2011
How do I communicate from a class to the root? I've got a class that does some different things including communicating with a webserver. When it does its thing, I want it to communicate that back to the main part of the program. I'm thinking that an eventdispatcher could do it, but I haven't been able to get it working right. When all is said and done in my class, I tried including:
Say i need to send some data from AS 3.0 to a server-side script for it to do some actions. Can I do this in a sub-class called some where in a document class or should we always do it in a document class?
i have recently started a project that would require writing a set of classes and a small API.i know some basics of inheritance and extending classes but i still have some questions.
1) how should sub-class refer/communicate with super class.i think that dispatching events is the way to go but i have no experience on that. i have previously done it by having a parent set up a reference to itself in a subclass e.g
//i know that there is already a "parent" keyword in flash objects if i extend one but is that a decent way to communicate with super class
e.g SubClass.myParent.removeChild(this);//sounds a bad call
//but is it better if i dispatched an event that calls the removeChild() in the parent.i have is about dispatching events in a class that is likely going to be extended.
ActionScript Code: public class Button { //add event listeners[code]....
//now if i extend the Button class into another class, let say ControllerButton and want that button to dispatch different event. e.g ControllerEvent, i am forced to override and rewrite all the common stuff in the handler functions.how to avoid having to override allot of common stuff.
For example: how to get public var value in document class from another class in another package.
i know two ways but i need to know what if i am in the right side or not:
1- public static var Root:Main = this; and then call Main.Root.PublicVarName from another class.
2- make instance from the class ( var classInstance:ClassName = new ClassName() ) then to call function or var ... ( classInstance.PublicVarName ) but in this case i can't call the Main ( Document class ) as i got an error when try to create instance from Document class.
In Flash Player 10.1 and later, the ScriptBridge class provides another way to communicate from JavaScript running in a browser to ActionScript (but not from ActionScript to JavaScript). The ScriptBridge class offers significantly better performance than the ExternalInterface class, and provides access to the entire ActionScript 3.0 API from JavaScript. By contrast, the ExternalInterface class provides access only to callback functions in ActionScript.If you need to call JavaScript from ActionScript, or need to communicate between ActionScript and any other programming language
you must use the ExternalInterface API. If you need to call ActionScript from JavaScript, the ScriptBridge class is recommended. The rest of the section describes the ExternalInterface class.my research makes me believe that this new Flash Player plugin API is most likely resulting from implementing recent changes in the Netscape Plugin API. Hopefully it should be as simple as having the player script NPObject properties and functions to use to access objects, packages and classes of the flash application.
I have a document class .as file and I'm trying to communicate an object to another class with a getter. But it's nested inside another movie clip. The compiler says the movie clip it's nested in is undefined. Also, the moviecllip it's nested in is on the stage, dragged manually from the FLA LIbrary and has the instance name, gamelevel1 in the instance name box. I referred to it when I put the _player movie clip, which I'm trying to communicate with the getter, on the stage via and addChild method. Anyway here's the friggin' document class script:
I have an app with a setup page that requires the user to select a scenario for a quiz. Their choice determines the content that's loaded next.
With as2 I would have used a global variable to indicate the users choice but of course that's not longer an option, and I don't think I can send an event because the next page isn't loaded yet.
So how do I communicate with a class belonging to a dynamically loaded swf that isn't loaded yet?
I am within a class, "Enemy". This class has a function "collision". How can I communicate with the amount of lives a player has left from within this class?
I have a class called shapeC that only creates a rectangle and then addChild(rectangle);. That class is instantiated on the main timeline. Currently, the only way you can see that rectangle is to add the instantiated class to the stage via addChild(shapeC);. My question is, is there a way that the shapeC class can add the rectangle to the root stage without requireing the instantiated class to be added to the stage?
I have a variable on the root timeline that I would like to check for in a class of one of my movieclips. The movieclip get added to the display list via addChild. If I check for the var, I get this error message:1120: Access of undefined property myVar How can I be able to see that var?
I made this class and I put it in the same package of Timeline.as (the Document Class):
package { import flash.utils.Timer; import flash.events.TimerEvent; public class Counter2 extends Timer { public function Counter2(delay:Number, repeatCount:int=0) {
I'm trying to do a simple game like tetris.I have a class "tile" that have got timer event, and every 50ms move my tile.y+=1. So every time I call for a new tile, it will go down until reach bottom of a stage. And the thing is, when the tile will hit another tile, he is still going down until bottom, becouse I dont know how to myTimer.stop(); in the tile class from the root.
h1. I have a Class (let's call it "Button") that is linked to a library item (a movieclip) which I have on the stage
2. Now this Button class, when clicked will produce an alert in the form of another class (let's call it "Alert").
3. There are two critical things in the way I want this to work:
A) I want Alert to be a child of the main stage, not the Button class
B) I want Alert to take care of adding itself to the display list, not have Button add it.
So in a nutshell, I want to call Alert like this:new Alert("Hello, Kirupa Forums!");
The Alert class needs to draw the shape (check), add the text (check), add itself to the display list (how? if I try to access "stage" I get a null reference, though I don't know why), and destroy itself (I'll burn that bridge when I get to it).
This is probably ueber basic, but I don't know how to do it. I am importing tweenlite on the root timeline like this: import gs.TweenLite;
I now want animate things in other MCs. I tried something like this, but it did not seem to work.parent.TweenLite.to(text1, 3, {_alpha:100, overwrite:0});
Anyways, I've been trying to figure this out for quite some time.Let's say I have my document class. I'm guessing the document class can correspond to the first thing that gets run? (such as the "main" function in most C++/low level languages).If I set a variable in it:var myNumber:Number = 10;how would Iaccess: "myNumber" from other objects in my stage?Like a movieclip on my stage for example.If I go inside that movieclip into the movieclip's first frame, how would I say:trace(TheDocumentClass.myNumber);Another similar question is, what about the actual stage frame?If I click on frame 1 of my stage, set a variable:var aNumber:Number = 5;how would I access it from other objects?In my movieclip's first frame, what would I put?trace(root.aNumber); ?trace(stage.aNumber); ?
I've been trying to switch from AS2 to AS3 by forcing myself to use AS3 on every project and never revert to AS2 no matter what the problem may be. Doing this, I've learned a lot so far, and it has shown me that AS3 has the potential to be much more logical and easier to manage, but every once in a while I run into a problem in which research doesn't prevail.
At the moment I'm working on a project that uses the Union Platform. My goal is to make all control over User1's "Reactor" API managed by a single class.
Anyways, I've ran into a very limiting problem that I can't seem to get by. I can't figure out a way to call the root object and be able to call it's functions from a class!
Here's one of the methods that I've tried (No errors were reported, but it did not work) -
As you can see, I tried to pass "this" as a MovieClip in hopes that I would be able to use the MovieClip's class functions. (Which is most likely very nooby and completely wrong since it's probably not considered a MovieClip reference, but what do I know?) Everything is fine, except the swf does not go to frame 2 when readyListener() is called. No errors are outputted either.
So I have a MovieClip symbol created in the Flash IDE with a baseClass of flash.display.MovieClip and Class name of "Square". I have placed it on the timeline of my fla at frame 30 and given it an instance name of "square". How can I control that MovieClip from my DocumentClass? I have an ENTER_FRAME listener listening for the arrival of frame 30. At that time I want to simply do something to the "square" MovieClip. But I keep getting a compile-time error of "1119: Access of possibly undefined property square through a reference with static type flash.displayisplayObject.".
I'm using a PreLoader as a parent SWF that loads the actual website as a child SWF. In the website SWF, the child SWF, will MovieClip(root) still work and refer to it's own root, or the PreLoader's root? And would I still access the websitite's document class (the child's document class), through MovieClip(root)? What if both files have a document class?So my main question is how do document classes and MovieClip(root) behave in the scenario when you have:
Im having whta I think is a quite common problem. I recently started migrating form AS2 to AS3 and Im buidling a home made template for all AS3 projects..
I have just loaded portfolio.swf on top of main.sfw. The buttons on portfolio.swf share the same class as the buttons on main.swf
Why does FlexBuilder insist on a main class in the root of the source folder? By insist I mean that if I create an Actionscript project called MainTest. A file called MainTest.as will be placed in the root of the src folder. if I now create a package/folder called some/package and place the MainTest.as in it (and adjust the package statement accordingly), I cannot select the project to use this as the application class in Properties/Actionscript Applications as the package is empty as far as Flexbulider is concerned.
So there is a restriction that a main/application class cannot have a package other than the root package. The mxmlc compiler and FDT do not enforce this restriction so why does Flex Builder?
i have a class .as file which extends MovieClip. inside the .as file there is a public function and when called upon it needs to change the value of a property that is on the maintimeline
Code: package { import flash.display.*[code]....
problem is this error 1119: Access of possibly undefined property gear_num through a reference with static type flash.displayisplayObjectContainer.
How do I import a class that resides outside the root folder of a fla file?
From root I should go back two folders to get the classes I want, which by the way is TweenMax. I don't want to copy these classes to every website's folder.