Actionscript 3 :: Singleton Class Vs LocalConnection Class
Aug 14, 2010
I have a Main class loading 2 SWF (loader and viewer, also with document classes). They need to share a double buffer with content, of course, filled by loader and showed by viewer I was thinking to use the LocalConnection class but after a suggestion from PatrickS now I'm evaluating the possibility of a Singleton Class. I've never used this pattern in AS and must confess I'm rather biased against it.
But in this particular case I guess it'll be useful. By the way, a little bit surprised reading in the gskinner blog 2 implementations examples. So, knowing this subject is an endless war like the Mac vs PC one Take into account:
1. AIR desktop application running 24x7 during some months in a high-end Windows PC. No user interaction
2. High performance code is a must because content loaded are full HD images My other concern is about memory leaks
In the Singleton design pattern you can throw a runtime error if the instance has already been created. But this doesn't work when your singleton class extends another class and has to call super() in its constructor, because (for some reason) you cannot call super() if you've already called throw(), or in fact, you cannot compile code that has a potential call to throw() (for example, in an IF statement) that comes BEFORE that call to super().
I'm trying to load swf from 127.0.0.1 into my main.swf with Flash Pro
Both swfs have Singlenton class
How to make it that loaded swf use Singlenton of main.swf ?
I did ActionScript Code: var lc:LoaderContext = new LoaderContext(); lc.applicationDomain = ApplicationDomain.currentDomain; myLoader.load( new URLRequest("http/127.0.0.1/loaded.swf"),lc);
anyway I have 2 different Singlenton classes one comes with loaded.swf another in main.swf and variables not shared
I know actionscript does not allowed private contstructor at any time and But if i want to write a sinlgleton class in action script So how to implement it in actionscript.
Can anyone provide an sample example of a singleton pattern in actionscript?
I know actionscript does not allowed private contstructor at any time and But if i want to write a sinlgleton class in action script So how to implement it in actionscript.
Can anyone provide an sample example of a singleton pattern in actionscript?
this is a working singleton class for Tooltips. I want to add a timer in order to delay the tooltips since the way they're instantly popping up is bothering me.
This is the fla:
Code: //Import and Initialise the ToolTip class import ToolTip; ToolTip.show();
I am not able to understand, why a static class cannot replace a Singleton design pattern .
Cannot a static class, can be used to ensure, the class is never/once only, instantiated. Because that is the facility "static" key words provide , however it doesnot allow instantiation, but that is much similar to the limitation of instantiation once only.
Basically I'm trying to use localConnection to determine if two or more instances of the same swf are running. If I set this code up on the main timeline of the fla it works:
ActionScript Code: var conn:LocalConnection = new LocalConnection(); conn.client = this; try {
I'm making a class that manages all of my updates with a single ENTER_FRAME. I think I should be getting the OnUpdate trace but it doesn't seem to work?[code]
I am gonna connect two swf file on the same domain. I actually want to connect button1 on swf1 to frame1 on swf2 and then the same like that button2 to frame2... I think localconnection class is usable for that I am open to other ideas, it's very simple I guess but I am novice at this and this is my first job.
I'm having some problems importing a class, the message that Flash gives me is this; The class being compiled, 'ImageLoader', does not match the class that was imported, '[URL]'. The only line of code in my flash movie is this: import com.martijndevisser.*; And yes, the class is in that folder The class is from here: [URL] I've used the class before and it works fine, I just dont know what to do?
The first one (FLEX application) sends a message on a dedicated LocalConnection to a second one (Flash application). The Flash then answers by sending a message on another dedicated LocalConnection. This message is not directly received by the FLEX and the delay is at least 30s, up to 1 or 2 minutes! It seems the issue only occurs with Flash Player >= 10 and it never occurs with Chrome.
I didn't find anything on the web concerning a similar issue nor something in Flash Player release notes. Did someone already have this kind of problem?
By the way, is there any tool that can be used to sniffer LocalConnection communications?
Additional information:
swf are located in different frames swf are embed with swfobject I tried to delay the Flash sending, I tried to create another LocalConnection dedicated to this call but I always had same result: for all calls, the FLEX method is called after the same delay. I also put a timer in FLEX to periodically log to see if there is no background process delaying the method processing but everything seems fine
I'm new to Flash AS3. I started making a game and I am a bit confused. Let's assume that I want to create a game that has multiple levels/modes, how can I do this in an object orientated way?
When i create games in other languages e.g. XNA C#, i create a separate class then create an object of that class within the main class and run the game based on a simple statement.
I have two classes. The Main class calls a function, which is defined in a Second class.I'm getting the following error:Error 1120: Access of undefined property myFunctionBasically, I am creating buttons in the Main class that will add a corresponding Child to an Object in the Second class (if you click one button, child x1 will be added, if you click another button, child x2 will be added, and so forth).Here's the relevant code for the Main.as file:
public class Example { public function Example () { }[code]............
You can see that the two last classes extend the first one, and both have the 'variable' property. In case that I have an instance of Example and I am sure it is also an ExtendedExample OR AnotherExtendedExample instance, is there some way to access the 'variable' property? Something like
function functionThatReceivesAnExtendedExample (ex:Example):void { if(some condition that I may need) { ex.func()
package{ public class Character{ protected var _hp:uint = 50; //Character Health Points protected var _power:uint = 5; //Damage dealt
[Code].....
I`m instancing a Character and a Player in the Main Timeline, all in frame 1. When I use: ""player.attack(character)"" it works fine by itself.
So I added the if (defender._hp <= 0) this.win() which gives me the following error:
1061: Call to a possibly undefined method win through a reference with static type Character.
"defender" is a Character instance, "this" is a Player instance and "win()" is a Player method. I try to call the Player method inside a Character method using the Player instance adding the "." and his method name
Do I really need to define the win() function in the Character class? Is there a bypass to use a subclass method in a parent class method if it`s called from an instance of the subclass?
I have question regarding removing instantiated objects. Let's say i have a main class in which i instantiate a custom video player (or whatever) class:
Code: ... var videoPlayer = new VideoPlayer(...); addChild(videoPlayer); ...
And inside VideoPlayer class i have of course dozens of objects (movie clips, sprites representing different parts of VideoPlayer) and dozens of event listeners attached to them. My question is, if i want to remove this VideoPlayer class from my main class is it enough to just do:
i) Create a symbol called SimpleSquare. This should consist of a simple red square graphic
ii) Create a class file to define a class called SimpleSquare. This should be linked to the SimpleSquare symbol. SimpleSquare ashould have the following functionality: When the instance is placed on the Stage, it should start to disappear by decreasing its alpha at 0.01 in every frame (hint: alpha)
Assume I know practically nothing about AS3! I'm using Flash Pro CS5. I'm trying to reassociate a flash file I've been given with its external assets and classes. In the library I have a movieclip with linkage to a class called 'StaticMap' using the base class 'flash.display.MovieClip'. am I missing a custom class file called 'StaticMap.as' that was originally located in the same folder as the fla, or is this a generic class accessible to all movieClips from within Flash?
I have a initApp.as which instantiates a class which needs to access the "currentState" property and the States array as well. However we cannot get this to work as we cannot see how we can access this information.
Within initApp.as currentState is accessed via "this.currentState". This does not work in the class which is instatiated within initApp.as. The following error is thrown:
I created an flv video player using Flash Builder 4. This "BasicVideoPlayer" project is compiled into a SWC that will be eventually be used to create other video players that extend the functionality. One of the features is a view that appears when the video has finished playing that displays a "Play Again" button. This "Play Again" view has its own class, "BasicPlayAgain", that accepts a graphic asset that is exported from a .fla file that contains all of the graphic/UI assets.
In my new project, "EnhancedVideoPlayer", I'm using the BasicVideoPlayer SWC as a library to create a new video player that will add more functionality to the "Play Again" view; specifically it will add more buttons to that view.The EnhancedVideoPlayer uses a default class that extends the BasicVideoPlayer class. The BasicVideoPlayer class has a member called "playAgainScreen" whose type is BasicPlayAgain. The EnhancedVideoPlayer needs to override the playAgain member and recast it as EnhancedPlayAgain so it can control the new buttons properly.
Is there a way to generate an instance of a class that implements an interface based on the name of the class?
I am trying:
var ClassReference:Object = getDefinitionByName("movement.OuterSpaceMovement") as IMovement; var m:IMovement = new ClassReference as IMovement; trace("startup..." + m);
-But I am getting an error message ReferenceError: Error #1065 (OuterSpaceMovement) not defined.
I have several classes that implement the same interface (IMovement) but I need to be able to generate new instances of these classes and then pass these instances as a datatype (IMovement datatype) to other classes...
So then I tried:
var ClassReference:Class = getDefinitionByName("OuterSpaceMovement") as Class; var m:IMovement = new ClassReference() as IMovement; and this doesn't seem to work...but the following var m:IMovement = new OuterSpaceMovement();
Using Flash CS5 Professional I have created a symbol, dragged it onto the stage, and given it an instance name of GreenLight1. If I want to make this visible from the document class, I can simply do the GreenLight1.visible=true; and poof it's good to go when I test the file. As long as I stay in the document class I am good to go, but now I'm trying to move to another class and hitting ALL kinds of trouble just trying to get Flash to allow me to access this simple object. All I am looking to do is have this GreenLight1 go invisible (visible=false) when a certain condition occurs in this new class and Flash just won't let me access GreenLight1 at all. Things I've tried thus far:
stage is passed to the class and is referenced by _stage and is working just fine when I do _stage.addchild or anything like that. So I have tried "_stage.GreenLight1.visible=false;" and I get "ReferenceError: Error #1069: Property GreenLight1 not found on flash.display.Stage and there is no default value." My document class extends Sprite, so I figured I'd try the root function. So I tried "Sprite(root).GreenLight1.visible=false;" and I get "1119: Access of possibly undefined property GreenLight1 through a reference with static type flash.display:Sprite." I tried to create the Resource class as described therein. To which I came across the same problem that I started with in that it doesn't know what GreenLight1 is to begin with so I got "1120: Access of undefined property GreenLight1." Here is my code for Resource.as (am I supposed to pass something to this class from the document class?)