ActionScript 3.0 :: Changing Variable From Inside Of Function?
Jan 9, 2010
I have a code, it is below. And i have two vars: coordx and coordy they both are 0 but when up button is pressed, coordx should change into 1 x remain 0 just like map scrolling and if pressed down it should return to default position, but instead of that variables keeps reseting and it starts from beggining. Here is the code:
ActionScript Code:
var coordx:Number = 0;
var coordy:Number = 0;[code].......
I am trying to create a dialogue system for a game that references lines of dialogue to be displayed from an array.Example:
var myArray:Array = new Array("My name is David.","I am a noob at actionscript.");
This all works fine, but what I really want to do is have the name "David" be a variable so that the user can change. The issue is that the array seems to convert any string variables into their string value so when they are referenced they only appear as the initial value of the variable.
Example: var myName:String = "Empty"; var myArray:Array = new Array("My name is "+myName+".","I am a noob at actionscript."); //user does something to change the variable myName
[code]....
Output: My name is Empty.,I am a noob at actionscript.When what I want is for it to say: My name is Jones.
I need to pass a variable to a function inside a function. However this parameter (i) seems not to be passed (to function ...onRollOver). This is required to attach a textfield to a movieclip (reading the adress and showing it as a tooltip).
ActionScript Code: for (i=0; i<array_BE_ElecCities.length; i++) { var attachElecCity = mc_map.mc_places.attachMovie("Plant",
I want to create a vector, then call a function that populates that vector with arrays. Fine. The only catch is the function itself will declare new array variables to put into the vector, but are these new array variables private to the function only?e.g. something like this
ActionScript Code: public var vec:Vector.<Array> = new Vector.<Array>(); private function populateVec():void {
[code]....
Is this "kosher"? a was declared in the private function but added to something outside the function..?
I have some buttons in the scene (inside the .fla) that change a variable "counter" after being clicked. In a separate class there is a function "showPage" that loads a xml-file according to the value of the variable "counter". My problem is, that I dont get the variable "counter" from the fla-file into the function of the .as-class.
Here is my code:
Inside mcMain.as
Code: class mcMain extends MovieClip { //public var counter:Number = 1; //Das hier soll durch den Button getan werden :(
How to get variable value from inside event function. Variable was declared outside event function. var StringVar="sample"; myButton.addEventListener(MouseEvent.CLICK, myClickReaction); function myClickReaction (e:MouseEvent):void{ StringVar="other sample"; } trace(StringVar); /*
It gives me "sample" value and I would get "other sample" value */. That strange because if that would be normal function trace would give me good result. var StringVar="sample"; function myClickReaction():void{ StringVar="other sample"; } myClickReaction(); trace(StringVar); /* it gives me result as I wanted to have - "other sample" value */
I know also method of passing arguments into event fuction but it not works for me as I would like to var StringVar="sample"; myButton.addEventListener(MouseEvent.CLICK, function(e:MouseEvent){ myClickReaction(e, StringVar) },false, 0, true); function myClickReaction (e:MouseEvent, StrVar:String):void{ StrVar="other sample"; } trace(StringVar); /* it also gives me "sample" value and I would get "other sample" value */ How to do that correctly?
I'm trying to pass a variable through a function, but I'm getting it's value 0. Here's my code:
thumbLoader.addEventListener(MouseEvent.CLICK, goToCategory); function goToCategory(e:MouseEvent) { trace(c);[code]....
this trace gives me value of 0. Normally I would do goToCategory(c) and inside that category I would get it's value, but in this case I'm calling this function with an event, how can that be done?
var c is declared globally, so I'm using it above this code in different place... is there smth like global $c like in PHP.. or there's some other way to do it?!
How can you change a variabele in as3 that you have declared OUTSIDE a function and change it inside the function.My function seems not be able to change the variabele?
ActionScript Code: function Filter2switch(event:MouseEvent) { if(filter2 == false){
How do I get the for-loop's i variable to be available inside the onLoadInit function????
Code: for (var i = 0; i<nTotalPics; i++) { main.createEmptyMovieClip("container"+i,i); var container:MovieClip = main["container"+i];[code]....
This has been bugging me for about 2 months now. Maybe I'm looking at it the wrong way, but I need to create more things in the onLoadInit function using a for-loop.
The variable currentIndex is declared globally and initialized with a certain value say '0'. How do I hold the value of currentIndex which is incremented every time the function is called? In the given code, every time the function is called, the value is reinitialized.
I have a primary function that calls upon other functions, which call upon other functions, etc, each one creating different objects. I need to delete everything eventually and was thinking the easiest way to do this would be to have a global array to push() each object into. It would be easy to just put garbageArray.push(thisCreatedObject); into the for() loops of every function to grab all the objects so a deleteFunction() could just cycle through garbageArray to remove and null everything cleanly.
What I want to do:I could easily just create a global array to do this (code example 1), but I would prefer to be able to recreate this global array and delete it every time this primary function is called (code example 3) since it will be called upon a lot. It would be cleaner code to have it created from within the function as opposed to outside of it because I will have a lot of primary functions doing similar things that would require a global array like this.
I also know I could create one and simply pass it as an argument to every function (code example 2), but I would have to pass it to every single function. There are a lot of functions and a lot of calls to them, so this would require rewriting a lot of code and would be more work than it's worth. Making a global array outside of the function would be easier than doing this if it came down to it.
ActionScript Code: //example 1 of global array. No passing as argument from //primary to secondary functions. Multiple global arrays //required for multiple primary functions in the future.
I wonder what the most common reasons for memory leaks in AS3 are.First thing what I am not sure about is: is it better to have a variable reference inside a function or outside it. Will the variable be null-d automaticly inside a function or when do I have to null it and when not?I have massive problems with my game with memory leaks. I noticed I reference some of the clips of the timeline even inside my debugging clip to display propertys and this was causing collecting huge amount of memory.But even before I go into the game with bigger objects the System.memory is slowly growing and growing.I just have a socket connection and some interval loops and enter_frame events.
I have done this same thing in ActionScript 3, but am not familiar with ActionScript 2, which I am forced to use for this project. I am loading products into a SWF via XML and attempting to add a click event to each dynamically-created movieclip. Simply tracing the text from a node in XML will do for now. I'd like to assign a property called "desc" or "description" to each movieclip and have it trace that property's value when clicked. Here is the relevant portion of my code as it stands:
ActionScript Code: var iXML:XML = new XML(); iXML.ignoreWhite = true;
I am having trouble changing the text I've created inside a movieClip.Wha I do below is place a movieCLip from the library onto the stageI add an eventListenerThen I create a text field inside the movieClip and add some text from an arrayThen, when the user clicks the button I want to change the text colour but it keeps giving me an TypeError: Error #1010: A term is undefined and has no properties. (Where I commented the code with // ########)I can adjust the movieClip's position but I don't seem to be able to access anything inside it.
Code: var createButtonArray:Array=new Array("BUT1","BUT2"); var len:Number=createButtonArray.length;
i really can't belive i'm asking this, but i've been about an hour trying to look after a solution for this but I couldnt find nothing. i'm trying to change a movieclip's alpha when the swf loads and when I press an existing button. the problem is that that movieclip is inside a button and as3 has a problem with it.
this is what i am trying to do in the first frame of the first scene.
I have a textField inside a mc. When you roll over an event is triggered. In the fuction I can do this: Code: event.currentTarget.getChildAt(0).text="fred"; And the text changes - so its being targeted. I want to change the format of the text so I thought. Code: event.currentTarget.getChildAt(0).defaultTextFormat=mTitle_fmt; But, its doesn't work.
It says "ReferenceError: Error #1037: Cannot assign to a method setTextFormat on flash.text.TextField. at index001_fla::MainTimeline/overHandler()"
I want to be able to change the dynamic text inside a button in as3, but this does not work.trying to change the text like so: movieclip1. clip1. inner1.btn1.dyntext1.text="hello" ;would result in the following error:ReferenceError: Error #1069: Property dyntext1 not found on flash. display. SimpleButton and there is no default value.I know that this method works perfectly well if the dynamic text is inside a movieclip, but not a simplebutton.So how do you get around this limitation? surely there is a way to create dynamic text buttons in flash as3?
I have an array filled with several pre-existing variables. I want to loop through this array and update each of these variables that way, so that I don't have to do it line by line. My issue is that when I edit the variable inside the array, it is not changing the actual variable that was assigned to it. See Below for example.
Actionscript Code: var myVar1:uint = 1; var myVar2:uint = 2;var myVar3:uint = 3; var myArr:Array = new Array(myVar1, myVar2, myVar3); for(var a:uint = 0; a<myArr.length; a++){ if(a == 0){ myArr[a] = 9; }}trace(myVar1); // Still traces "1" instead of "9"
would result in the following error: ReferenceError: Error #1069: Property dyntext1 not found on flash.display.SimpleButton and there is no default value. I know that this method works perfectly well if the dynamic text is inside a movieclip, but not a simplebutton.
So how do you get around this limitation? surely there is a way to create dynamic text buttons in flash as3?
I was wondering if it's possible to change the frame of a movieclip (present on the stage) by going on a certain frame or clicking a button in the main movie, if you get what I mean. Let's just say I want to go to frame 2 in movieclip "Symbol". Also, would it be possible to do the opposite and go to a frame in the main movie from a movieclip?
I have several instances of a movieclip which I placed on stage dynamically out of the library. Inside these movieclips I have a textfield. Is there a way that I can change the text of each instance independently?
Code: var backing1:mcBacking = new mcBacking ; backing1.x = 94;
I have an AS3 function that loads and audio file and then plays it. I have the pre-loader for the first audio file working - now I need to run the pre-load function before the 2nd audio file starts.
how you would target a function's local variable through a concatenated variable string.For example:
var txt = "Hello World"; function testing(msg) { var test1 = msg;[code].........
I'd expect the trace to be "Hello World" but rather is given "undefined". So if variables created outside functions are created on the main timeline, where are local function variables created and how would you access them?
I'm trying to combine PHP/SQL and Flash. I've got a problem now. I want to load a variable that contains an url to an image. so the variable is like this: [URL] Now I want flash to load the image, not the text. The variable is called 'img1' but the loadmovie function doesn't work when I put it in.