Actionscript 3 :: Access A Var Array In A Utility Class?
Jan 25, 2011If my main class I define
var arrItems:Array=[];
and in a utility class (in a different file) I define
[Code]...
If my main class I define
var arrItems:Array=[];
and in a utility class (in a different file) I define
[Code]...
I have a web application created using Flash Pro and I want to use external ActionScript files to support it. I have a package with multiple classes. I want to be able to create utility functions to do things across classes. How do I make these functions accessible to any of the classes? I know I can create a class with these functions and then instantiate the class with a dummy variable to be able to access the methods but is there a better way?
View 4 Repliesi'm using Sephiroth XMLObject to parse Xml and it works nice (handling actions inside the Xml Onload event), but i would like to cut shorter coding writing a class calling Xml and XMLObject, it's possible?. This is an attempt but it doesn't work, or better, Xml file is parsed correctly but is not available.
This is the class:
Code:
import mx.utils.Delegate;
import XMLObject;
class XMLLoader {
private var xmlFileName:String;
[code]...
I'm just trying to make a utility function to convert an array collection into a string.
Supose my item within the array collection (named 'ac') is something like:
Code:
var ac:ArrayCollection = new ArrayCollection([{property:'foo'},{property:'bar'}]);
I can get the items property if I use a 'for' loop like:
Code:
var acToStr:String = "";
for (var item in ac)
{
[Code].....
I have a multidimensional array on the main timeline. Its name is myInst. I need to access this array from this class to build a scrolling list of swfs which the path to the swfs is in the myInst array. I have not included the entire code/class because the issue is somewhere in this part. The error is 1009, cannot access a property or method of a null object reference. This fla is not going to be the root fla, it is going to be external, so the use of root probably will not work, but I tried it anyway, to no avail.. for any help.
package {
import flash.display.MovieClip;
import flash.net.*;
import flash.events.Event;
[code]....
I was wondering if it is possible to access an array from outside the class where it's made.I have a main class, Aardbeleving, which AddsChilds to the stage, with class Eiland.Inside Aardbeleving i use an array to store data for all the childs, called: chip1.Now lets say I want to access chip1[2] from the Eiland class, how do I do that?
View 17 Repliesim doing a tower defence game and i have a problem rotating my towers towards the minions.my idea is, on the Main class e create an array with all the minions, than, on the Tower class i want it to go through the entire array and search for the closer one.the problem is, i cant access the array from the Tower class.How can i solve this, and if it isnt possible, how can i make the tower rotate?
View 2 RepliesI'm currently working on a particle system for a game that I recently started development on, but I've hit a snag: I have a class particlecontainer that tells each particle what to do on enterframe, and which contains each particle as a child. I also have a class (mischandler) which has a static array that contains all current particles, as well as another static array that is a buffer to remove particles from the particlecontainer. Whenever a particle "dies", it calls a function which adds it to the buffer array in mischandler. However, when I try to access this buffer array from the particlecontainer class it does not recognize it as having any elements. If this is unclear here's a simpler explanation:
particlecontainer tells a particle to do it's enterframe function particle calls die() and adds itself to the removebuffer inside mischandler particle container tries to access mischandler.removebuffer but removebuffer has no elements Strangely, the particle can access the removebuffer perfectly fine and sees all the elements in it.
I want to create a utility class (my first one ). Trying the package thing first I'm stuck with a "1061: Call to a possibly undefined method abc through a reference with static type Class"
I have:
1. packagetest.fla: empty except the assignment of the class in its properties: packagetest
2. packagetest.as (same directory as packagetest.fla):
Code:
package
{
import flash.display.MovieClip;
import example.*;
[Code].....
I have this code to try to acess the values of the array in the arraycollection but it does not work it actually creates a value to the end of the arraycollection. can anyone tell me what im doing wrong i basically whant to modifys the individual arrays in the arraycollection and add Login_user.
Code:
for(var i:int = 0; i< dispArray.length; ++i){
dispArray.addItemAt({"login_user":"XXX"},i);
}
If I have three classes:
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()
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:
"Access of undefined property currentState."
I have the following inheritance structure:
var environment:AvEnvironment = new AvEnvironment(...);
addChild(environment);
environment.addChild(new Terrain());
environment.addChild(new Player());
I am trying to access a public property from AvEniroments class through the Player class, however I'm getting an undefined property error (#119). I've tried the following:
this.x = AvEnvironment.xs // public property in this class
this.x = parent.xs
I've also tried something like this:
var ev:AvEnvironment = AvEnvironment(parent);
this.x = ev.xs
but I get a TypeError. Error #1009: Cannot access a property or method of a null object reference.
How to access a display object on the stage in a class which is not a document class?
I am looking for a solution that doesn't involve passing the stage as a parameter to the class.
One solution i always come across is using "TopLevel.as". Is it a good method because as far as I have heard using global variables is not recommended because it might cause some problems while working on big projects.
I was wondering how do you access the stage property from a different class that's not the principal class tied to the fla? Essentially, I have main.as which calls another class menu.as, and I can't seem to be able to use the stage.stageWidth property from menu.as. What's the proper way to be able to use the stage property from any class? Do I have to import it separately each time?
View 2 RepliesI'm just now learning the new object oriented way of scripting. It's been a wild ride, but I've finally learned how to keep script off my frames (very hard coming from as2).Here's my problem:
I have a TextField on the stage in my main .fla file named loadPercent.
I'm loading a jpg with preLoad.as and displaying the bytes loaded in loadPercent.
I can access my loadPercent TextField from my MainClass
but I can't access it from preLoad.as
the document class is MainClass.as
Code:
package
{
import flash.display.MovieClip;[code]....
I get three '#1120 access of undefined propery' errors for each time i try to access loadPercent.
a few basic questions: 1. all my files are in a folder in my documents, not in the flash directory, is this bad? I've seen people using com.whatever etc.
2. my main .fla file does not share the same name as my MainClass.as (it's not named MainClass.fla) Is that a problem?
I'm assuming these are inconsequential because my code seems to work up to a certain point.
how I can access array data inside of an mc from the main timeline.. I am hoping to get into an array called children, which is inside of an mc, which itself is inside of an array called mcs.
Here is what I am trying to get to: mcs[m].children[0];
Can I use the indexes of an array that is a child of another array?
View 2 RepliesGoing further on my app, I felt in another problem. Despite having lots of posts on the web regarding this, none of the solutions worked for me In my document class (Main.as) ve two containers. One empty and another with a star that is being imported from the library. Heres the main class:
package
{
import flash.display.*;
[code]......
My first experience is build an aquarium with a lot of fish swimming, and they can be clicked. When one of them is clicked we should receive a trace message saying ("I�m a Fish!"). To do this, I thought that the best way will be:
1- create a document class, named Main.as
2- create a base class, named Clicked.as
2- create a movie clip with a fish.
3- export the movieclip to actionscript. In the mc properties set Class as "fish" and Base Class as "Clicked".
Say you were importing flash.events.KeyboardEvent and you wanted it to extend the MovieClip class, is this possible? Where you dont have access to the class to just type "extends XXX"
View 14 Repliesi have a game that i want to put load screen on, which i created a separate class for. first the main class is initialized and in the constructor function, it does an addChild(loadScreen) which places an instance of the loadScreen MC on the stage. within the loadScreen is a "Play Button" that when a user presses this button i want it to continue startGame in the Main class. the way i tried it was Main.startGame from the loadScreen class, but that obviously does not work. is it possible to call a function from a different class.i have three files:
Main.fla
Main.as
loadScreen.as
the Main.as file:
Code:
package
{
import flash.text.*;
import flash.display.*;
[code]....
Is there any utility that indicates in a comprehensible way what is referencing and object and why it can't be garbage collected.
View 2 RepliesI have a fairy sizable class, a`nd an mx:Application that will periodically instantiate a new object of this class, which results in member functions of the class being assigned as event listeners to the application, and also other member display objects of the class being added as children to the application. When the application creates a new object of this class the old object is destroyed: to accomplish this, removeEventListener and removeChild are called on various members of the old object (to decouple them from the parent application) and then the final reference to the old object is set to null, and then finally the well known localConnection hack is called to force FP to actually free the memory.
And the thing is, the above destruction procedure always works to deallocate an object - except for the very first object allocated. it has proved impossible thus far to release the memory of the first such object created, or find out what is preventing it (i.e. find out what is still referencing it). So my question is - is there any useful utility that will tell you what is still referencing an object and keeping it from being garbage collected. Someone implied to me that the flex profiler would do this (which I do not have access to) but another 3rd party profiler I found for flex would not do this (i.e. tell you what is referencing an object and keeping it from being deleted.)
I am trying to get a handle on interfaces with AS3 and am kind of at a sticking point. Someone tried to explain them to me using legos and conceptually I get the idea of consistent interaction. Where I seem to get stuck is, I don't really see how the implementation of interfaces accomplishes this.
[Code]....
I am aware of Zinc (which was disappointing) and SWF Studio (demo didnt work for some reason, I contacted them with nor eply just yet) but there were problems with these and they simply offer more than I need. Is there a simple utility that will allow me to eliminate the users ability to maximize the player window? Something that wont force me to bundle my 50 FLV videos into the EXE making an EXE thats like 300 MB...something that will not change anything about how the projector works but allow some projector top bar modifications?
I tend to remember long ago there was a very simple 1-2 screen utility that allowed you to simply check a few boxes, export and it acted in every way like a regular projector (exe) but simply disable a few options (like maximize).
I am aware of Zinc (which was disappointing) and SWF Studio (demo didnt work for some reason, I contacted them with nor eply just yet) but there were problems with these and they simply offer more than I need. Is there a simple utility that will allow me to eliminate the users ability to maximize the player window? Something that wont force me to bundle my 50 FLV videos into the EXE making an EXE thats like 300 MB...something that will not change anything about how the projector works but allow some projector top bar modifications?I tend to remember long ago there was a very simple 1-2 screen utility that allowed you to simply check a few boxes, export and it acted in every way like a regular projector (exe) but simply disable a few options (like maximize).Anyone know of such a utility?
View 3 RepliesI am seeing fms utility time during the playback. What could be casuing it to timeout. when size around 179KB it starts to throw this error. Don't know exact size when it throws. For small sizes it is successful.
[Code]....
I have just uploaded a new swf and its packages to my server, and it works has expected. However, inside my Document Class I have two imports:
import com.utils.calendarFunctions;import com.adobe.serialization.json.JSON;
Neither of these are on my Server - believe me I've checked, repeatedly. So how is it possible that my swf still functions as if these two packages where there. Does the import actually embed these inside the swf or what?
Is there an existing javascript library for relaying key press events in the browser (or certain divs) into flash? I am hoping there might be a library kind of like this one for mousewheel events?Something like this handles javascript keyboard shortcuts great. I suppose I could just listen for those events and pass the ones I want into flash?These are great examples, however, if flash has focus, then javascript keystrokes are lost. How can you ensure that all key events go through javascript?
View 4 Replies