ActionScript 2.0 :: Function Scope With Different Levels?
May 19, 2005
I'm having a problem calling a function from a different level.I have my main movie 'Mymovie.swf' in which I add a level(with loadMovie) with this code:
loadMovie("MyNewMovie.swf", "_level1");
On a button in MyNewMovie.swf, I try to call a function in 'Mymovie.swf', by doing:
on(release){
_root.MyFunction();
// or even: _level0.MyFunction();
}
Code: function delay(pFunc:Function):Void { this.onEnterFrame = function() { pFunc(param);[code]....
It's stripped down to reproduce my issue.I want to change the scope of the event, so that when test is called, it traces "_level0 instead of "[object Object". I was thinking Delegate.create() would be the way to go, but I can't figure out how to get that to work within the scope of this function.
I have a Debug class I've written, and I'd like to include a static trace() method in there, unfortunately I have no idea how to then access global / top level trace as effectively I've blocked it with the local static scope.[code]
Specifies the value of thisObject to be used within any function that ActionScript calls. This method also specifies the parameters to be passed to any called function. Because apply() is a method of the Function class, it is also a method of every Function object in ActionScript. i don't get how "thisObject" is accessible from within the function invoked with it's apply method i'm trying to pass the scope of one class to the function of another so that the keyword "this" in the target function refers to the passed scope or am i misunderstanding the apply() method? it appears to behave differently between as2.0 and as3.0 as well, try this example code from the adobe docs
I have 2 class. Main class and a subclass (being an image loader).When the subclass has finished loading I want it to access a timer function in the mainclass.Code: Select all1)mainclass |> subClass.loadMe();2) When subclass load finished.3)Subclass |> mainclass.startTimer();This i dont know how to do.
i am quite newbie towards to actionscript 2.0 cos i am now learning on actionscript 2.0 here is the file attachment for you to check.Greetings.zipOutput cannot be worked.I am hoping to see the exact output:Greeting = Hello!Salutation = undefinedSubject: Brick Oven
I'm having some big issues with the scoping problems in my XMLConnect Class. I already found some things about the Delegate class online for setting the scope correctly, but my code still doesn't work the way it should Problem I need the XML data to be accesible in the public function Strip() because the user needs to put in some characters to strip from the strings in the xml file. Does someone known how to fix this scoping problems?
i am teaching myself how to use localToGlobal(), and i seem to be running into a scoping snag, at least i THINK it is a scoping snag. So when i use Code:
[Code].....
i get the desired effect, yippee. That is to say, the output says 299, which is what the global coordinate of the movie is. However when i try use the same code in the main time line like this
I seem to be having difficulty in using the contents of a variable whan i receive the data from the database the script places the contents in a variable called myText1This I need to access outside the function.This is part of the script below.
mypath = "http://192.168.0.100/fedpest/pestReports/" mypath1 =mypath + "exterior.php"; var sendData = new LoadVars();
I have a function, and inside of it is a LoadVars object to load a variable. The problem is that I need the outer function to return the results of the LoadVars' return.
I have made a script, and now has come the point when I need to use removechild. Whenever I try this I get an error. After looking at the problem, I think I need to learn more about scope and packages. I think if I put everything in the correct scope, I will be able to use the removechild command. I tried to make all my vars public, so that removechild would work, however I got an error that anything public needs to be in a package. I tried to add the package part to my script, but got the error that packages cant be nested. I tried some other things and still no luck, just more errors.
So, if anyone could point me to a tutorial, or recommend a book or something, that will help teach me about scope and packages, Or if you are feeling patient and generous, and you think you could explain this problem to a 5 year old, please explain it to me the way you would to said 5 year old. If you maybe think you can help me out on the script, it can be found here: [URL]
A question about the variable within the for loop it is always stuck on False -- even if the first condition gets achieved.I read that the for loop variable is treated as if it is completely seperate varibale from the one in the main even if they have the same name
I'v attached a listener to a movieclip on stage but I can access any "global" varaiables which are out side the listeners function.I lose the scope or something what can i do about it? here is some code.
PHP Code player.controlbar.muteButton.addEventListener(MouseEvent.CLICK,mute0,false,0,true); public function mute0(e:MouseEvent):void {
I have 2 methods in a actionscript class.[code]I get duplicate variable warning. Is the local variable scope not limited to the method. Can't I declare same name variable in multiple methods?
I seem to have an array scope issue. I have a global variable; var itemConnect:Array = new Array(); Which is initialized at the start. I then have a function to populate it as a 2-d array:
[code]...
It seems to have scope access to just one of each of the [i] nodes, so [1][2], [1][3], [1][4] are missing - only the last [j] element appears. What is the correct way of doing this? I also don't know the exact size of the array at the start which may be an issue.
OK, it's probably easiest now to explain my problem like this, I am able to write the name of my xml file that needs to be loaded to a dynamic textfield on the stage, however, I don't seem to be able to access it after this and strip the necessary data from it, here's my code:
var tf:TextField = new TextField(); tf.autoSize=TextFieldAutoSize.LEFT; tf.border=true; addChild(tf);
[Code]...
So all I want to do now is to be able to achieve the same thing but loading the xml with loadvars as I did before, from my traces it seems there is a scope issue, but I'm not sure why if "c1" can be referenced like it is above..?
I am creating an interface that has a few different states for the different steps. For those steps, there is data that I am pulling in from a database to fill certain fields. As of right now I am doing one db query to get all of the data back and want to fill in all of the fields at the same time but it is giving me "access to a null object reference".
It seems as though there is a scope issue when you are trying to access a text input field with actionscript when the state that the text input is in, isn't the current state.For Example (This would throw a "Null object reference" error):
We (AS3 coders) all know that one of the great things about the AS3 event model is that handlers are scoped to their containing objects. I'm writing an EventDispatcher for JavaScript, and trying to achieve the same effect.My question could be answered in a couple different ways:A: How does ActionScript 3 set scope within an event handler to the handler's container object, rather than to the event handler's caller (the IEventDispatcher on whom dispatchEvent() was invoked)?
This is suppose to be an error I overlooked, but when I saw that I have forgotten to declare weekDayLabels right below the class, shivers travel down my spine that it works.[code]
I recently changed the setup of my project from only having one SWF, to loading in my main SWF through a preloader. I'm facing a problem of scope. My old code for targeting things no longer works. This is it.
ActionScript Code: if (this.parent.contains(Credits)) { Credits.gotoAndPlay(120); CreditsText1.gotoAndPlay(120); }
What would I change this code to in order to target the exact same spot in my loaded SWF? I should add that all my code is in an external .as file, which is set as the DocumentClass for the loaded SWF. I've tried both "this.parent.parent.contains" and "this.contains" Neither worked.