ActionScript 3.0 :: Function Calls In Document Class?
Oct 22, 2009
I have a gallery, which has a document class and all classes below.When I load gallery.swf into main timeline currently, how do I call some functions in that document class?
How can I run function of the main document class from a class of a MovieClip? I usually just used MovieClip(parent).function(), but now my MovieClip has another parent. Or what do I have to pass to the MovieClip class when creating the MovieClip to acess the main document class?
I keep getting an "undefined property" error when I try to call an external function from within the Doc class. I added the error message to the Doc Class below so you can see where it occurs.
If I take the code from the Tooltip.as below and place it on the FLA's main timeline I can get things working fine, but I would like to move all script to classes. The document class structure looks like this:
Drag_and_Drop.as
Code: package { import Tooltip;// Import custom class public class Drag_and_Drop extends MovieClip {
[Code]....
I realize that I could just combine all the code in the Doc class to get it working, but it would be nice to separate out this particular code which has only one use.
I'm trying to have a class reference a variable within the document class and have scoured the web but can't seem to find a solution. It seems relatively simple, but is a major stumbling block for me.
I want the variable in the doc class to increment each time a draggable object is within bounds and snapped to a box in the subclass. By tracking successful snaps, the objects will be placed one under the other each time.
I have a Document class that instantiates a class named Other. I need to call a function in the Other class from the Document class.I'm getting this error: Call to a possibly undefined method OtherFunction through a reference with static type Other.I have read online that you need to use make the functions static or use a getter function but I'm unclear how to do that. I haven't been able to make it work and I feel like i'm missing something fundemental with this problem.below are simplified versions of the classes.
I have a document class called Main.as In the class constructor I have the following listener:
enter code here var listeningFORModeChangeToStudent:Sprite = new Sprite; listeningFORModeChangeToStudent.addEventListener(TellAllModeChangeToStudent.STUDENT,exp); addChild(listeningFORModeChangeToStudent);
[code]....
In a third class I make a call to the despatcher in the previous class:
enter code here var ThisTellAllModeChangeToStudent:TellAllModeChangeToStudent = new TellAllModeChangeToStudent; ThisTellAllModeChangeToStudent.tellAllModeChangeToStudent();
I have trace statements in eveything and from this I know the despatcher in TellAllModeChangeToStudent is being called.The problem is that the listener in the main.as is not calling the function exp.I cant see why and I dont know how to check if the listener is actually seeing the dispatch event?
I'm basically trying to call a function that is on document class from another document class. I have a document class called Main.as in it there is a function called tester(). I need to call this function from another document class called Step1.as.[code]Does anyone know how I can call the function? I cant seen to get it to work.
I have an instructions.as file which is trying to call a function in the document class through a mouse click event listener and am getting a 1009 error.
Here are my to actionscript files:
** this the the instructions.as** package Elements{ import flash.display.MovieClip; import flash.events.*;
- a fla file with movieClips on the timeline , this fla is linked to the Main class
- a Main class who does some randomization of the animations
- a MenuItem class which function is to give each button menu the same functionnality
the problem is that I'm trying to access to the randomNumber function inside the Main class from the MenuItem class to prevent the rewriting of the function inside this class. I've made some research on Google and apparently I have to create a Singleton class so I can access the Main class from everywhere, I've followed those instructions but it still doesn't work, when I trace the Main class from the MenuItem class it gives me a Null result!Main Class code :
have a very simple question, (Bear with me I'm still quite new to as3 and some of my terminology may not be solid) I want to access a function that is within my document class when a movie clip on the timeline has played to a specific point (being the end). I have already been able to call another function from the document class at the top/root level (it is called to initialize all clips and buttons when you click on the "enter" button on the splash screen. Problem is that I cannot call another function (in the document class) from a movie clip within a movie clip on the timeline. Is there an easy way to do this? I have considered writing a separate class for the movie clip and then adding it onto the movie clip (using the property panel). I don't really want to do it this way because I am already using a base class on that movie clip and 3 others that use a set of generic functions.
How do you access the stage from a function in a document class file? I tried a fairly simple: ActionScript Code: var main:MovieClip = new MovieClip(); addChild(main) var _stage:Stage = main.stage; trace(_stage); The result was null.
Tried to access a function in the document class by simply calling it. For exampe, the code in my frame is: Code: Select allinitButtons(); And in my document class I have the function: Code: Select allprivate function initButtons():void{ trace('anything'); } But it gives me an error. Even tried to change private to public the same.
I have a main movie with thumb movieclips that load new children and stops the main movie's animation. Within the child there is a close buttion that removes itself. I also wanted the close button to start the animation of the main movie again once it removed the child. Since I am using a document class to load everything for the main move, how can the close button from the loaded swf use a function from the main document class?
I have a function defined in my document class that I want to call on a framescript of a movieclip placed on a timeline. Of course, left to itself it's "undefined", and I can't figure out how to reference parent/root/document class.
I got a simple block of code that stops the main timeline on a certain frame, but so far I've been unable to form a code that would gotoAndPlay when mouse click happens on a button I made, and mind you I'm doing this in a document class. I've heard different instructions how to make the button, some say make it a movieclip, some say nest it in a movieclip
I have a FLA (say Main.FLA) document class with a child MovieClip on the stage: into the child MovieClip I load other swf files: each of the files contains its own Document Class (every swf is a somewhat independent application, say quizzes and so on).For some reason I must use the Main document class to store data (scores or so) from the child swfs loaded into the Main swf. HOW do I reference the Main class? I can't find a way.[code]and dispatch an Event this way from the loaded swf document class to the Main class:[code]Now, first of all I don't know if this could even work. Secondly, I tried to make it work by adding an event listener to my Main class but id did not work.
I was trying to load an external SWF (that contains the below code in its document class) with the Loader class but i keep on receiving Error #1009: Cannot access a property or method of a null object reference. So i tried to use the event listener Event.ADDED in MyDocumentClass constructor of the external SWF to let the document class be part of the display list before i invoke createRandomGraph. But when i place createRandomGraph( ) inside onStageReady, The compilation process hangs. When i leave the createRandomGraph( ) inside the constructor, it works perfectly as stand alone but will produce Error 1009 if loaded within the loader SWF
public function MyDocumentClass( ) { this.addEventListener(Event.ADDED, onStageReady);
So I had a working .fla, with a document class package in the same directory. Everything was fine, until moving both to a new directory, now the fla cannot find the document class. WTF?
im using a function that iterates through all nodes in an XML tree, and then calls itself again if any of the nodes it is looking at has a set of child nodes, so in other words it multi-dimensionally loops through the entire XML tree.[code]one question i have is - am i correct in my assumption that while variables declared within a function are not accessible anywhere but within that function, if a function calls itself, any loops within that function that use a variable such as "i" will be affected seeing as "i" is accessible within the function?if so, how do i get around that? currently my function loops through all the way down to last child node it can find along the first branch of the XML tree, but then doesnt continue looping through the other branches.
I have this button: <s:Button includeIn="MeniuPrincipal" label="Descarcare Date" click="downloadLmData(event)"/> And this click event handler: protected function downloadLmData(event:MouseEvent):void { downloadData('competenta', 'competente'); downloadData('localitate', 'localitati'); }
The downloadData function looks like this: private function downloadData(item:String, items:String):void { try { var colVar:String = 'col' + cappitalize(items); this.status = "Descarcare date in curs..."; this[colVar] = null; [Code].....
The problem is, all calls are ignored, except for the first one. Is there any "queuing" mechanism which would allow all calls to be made?
I have several custom functions that I import as .as files, but I frequently have to modify them to suit projects, which makes standardization and version tracking harder.Is there a way to pass arbitrary expressions to a function when it's called? For example, if I write the function,
Code: function foo(){ for(i=1; i<=1; i++){ trace(i); } }
would there be some way to attach an additional expression after the trace function during the function call? As in,
Code:
foo(do_stuff_here);
where the function would act as if it had said,
Code: function foo(){ for(i=1; i<=1; i++){ trace(i);
[code]....
but without modifying the original function?I realize I could add an expression to the original function within a conditional, and toggle it via an argument within the call, but since I don't know what I'll add next, or whether I'll need it next time, this would become impractical quickly.
I'm trying to call an function in flash from xml. so I used <a> tag and asfunction. But how come when it calls a built-in function in flash, it works. and when it calls a custom function, it just won't work???
If I create a function which calls someLoader.loadClip(...) many different times for different clips and files that I have created, does the system create a seperate thread for each call or does it load one by one ?
I'm making a function to be called by different buttons, and I want the function also alter the appearance of the button itself. But I don't know how to refer to the button from within the generic function.
At work we have a lot of AS3 code that conditionally performs logging or assertions like so:
[Code]...
Is there any way to do something similar in AS3, or do we have to do the conditional compilation blocks around everything? I have been looking around manuals but have found nothing useful yet.