I create standard AS3 flex project. In constructor goes only start();
rest of functions are basically this: private start():void { f1();} private function f1():void { f2();} private function f2():void { f1();}
And it's standard recursion. SWF either breaks or loops as many times as I tell it. One f calls the other, which calls first... I do not want that. I want f1 to do some stuff, calls f1 and closes itself. Than f2 works, calls f1 and closes. And so on. Like having 2 sets of code that loops through.
If you place a for loop in a recursive function with the function call within the loop... will the loop finnish or does it stop working untill the last recursion?
I think I have the recursion working properly, but I'm not able to get the originally requested item's property set to the right value.The goal here is to find the topmost parent (or "ancestor," depth = 0) of the nested item (a taxonomy based on Dictionary "parent" attributes), and assign that originally requested nested item's "ancestor" property accordingly.For instance, in
Apples - Red - - Empire - - - Fresh
"Fresh"'s ancestor should be set to "Apples." While I'm attempting this on an "on-demand" and individual basis, I'm open to a solution that tags all children that are related to the same ancestor in one fell swoop or for statement, since that would probably be more efficient.
REQUEST
for (var mc:Object in taxonomy) { var term = taxonomy[mc];[code]....
As you can see, while the recursion does find the root, the originally requested item still gets the default value.
im having a problem reading a xml tree in Flash MX...[code]and this Actionscript to just to view the tree.[code]meaning that when it calls itself again, that it will stop searching the next items on the same level from where it was called.how do i not let it stop searching and complete the tree.
I have this function to find occurences of misstyped varaible names (with wrong lower / upper case). I have a movieclip called "debug" where I define and call this funciton ("getCase(_level0)"). But It never finds my testttt variable - If I put the test varaible in _level0 the variable is found.
var targetsCase_ary:Object = new Object(); var targetsLower_ary:Object = new Object(); testttt = 1 testttT = 1 function getCase(clip:MovieClip, recu:Number){ if (recu==undefined) recu = 1; var n:String; for (n in clip){ var sPath:String = clip._target + "." + n; var sPathLower:String = sPath.toLowerCase (); //trace(sPathLower + " " +
I have a difficult problem with a recursive function. Essentially I need to 'slow down' a for loop within a function that repeatedly calls itself (the function); Is this possible, or do I need to somehow extract the recursive nature of the function?
function callRecursiveFuncAgain(ob:Object):void{ //do recursive stuff; for (var i:int = 0; i < 4; i++) { _nextObj=foo callRecursiveFuncAgain(_nextObj); }}
I made an app (Towers of Hanoi) and i added a "demo" button that solves the problem based on a recursive function. The button is supposed to make a move one step at the time, i mean one step at every few seconds so you can actually see how the algorithm works. The problem is i haven't really used the timer event before and i have no idea how to implement it in this particular scenario.
Code: function hanoiPlay(n:int,a:Stack,c:Stack,b:Stack):void {
I've been trying to implement a QuadTree to store a two-dimensional array representing a terrain. I generate the array first, then I use the below function to generate a QuadTree for the array.
Because it's a little hard to explain what I need.. I'll make an example.So.. I have the figure below. I mean.. that's what I'm trying to achieve. For that figure I have data stored in the folowing way._root.marc is an Array.All the paths that leave a square ... like From M0 if you choose 1 you'll get M1,From M0 through 5 you'll get to M3.. and so on.this is stored like_root.marc[0].p - the paths. If _root.marc[x].p.length is 0.. that means that Mx is the last one.. and has no paths assigned, like shown in the figure. My very big problem is that I need to position that MC's.. M3,M4.. all of them, according to the paths above them.
So, to position M2, i need to take a look at M1, and if it has any paths, more than one path, I need to move it further down. But this is not the end of it. If M1 has more paths that lead to other MC-s.. i need to take in considerations their paths too . This drove me mad for the last couple of days, and my time is slowly running out for my diploma What I've tryed till now was to build a function let's say... getNextY(m) that should return a number. A "ponder"?..like...to use it in a line like M2._y = (currIndex + getNextY(1))*dy;// here it should return 5 for instanceM3._y = (currIndex + getNextY(2))*dy;// here getNextY should return 1
meaning that when it calls itself again, that it will stop searching the next items on the same level from where it was called...how do i not let it stop searching and complete the tree..
I'm in a big big mess, trying to figure out how to do this for the last couple of days. I finaly came to the conclusion that I need a recursive function for what I'm trying to do. Because it's a little hard to explain what I need.. I'll make an example. So.. I have the figure below. I mean.. that's what I'm trying to achieve. For that figure I have data stored in the folowing way. _root.marc is an Array. All the paths that leave a square ... like From M0 if you choose 1 you'll get M1, From M0 through 5 you'll get to M3.. and so on. this is stored like _root.marc[0].p - the paths. If _root.marc[x].p.length is 0.. that means that Mx is the last one.. and has no paths assigned, like shown in the figure.
My very big problem is that I need to position that MC's.. M3,M4.. all of them, according to the paths above them. So, to position M2, i need to take a look at M1, and if it has any paths, more than one path, I need to move it further down. But this is not the end of it. If M1 has more paths that lead to other MC-s.. i need to take in considerations their paths too . This drove me mad for the last couple of days, and my time is slowly running out for my diploma What I've tryed till now was to build a function let's say... getNextY(m) that should return a number. A "ponder"?.. like...to use it in a line like M2._y = (currIndex + getNextY(1))*dy;// here it should return 5 for instance M3._y = (currIndex + getNextY(2))*dy;// here getNextY should return 1 Why 5 or one? because it needs to take into account only if the paths are greater than 1.
I have an AS3 program that calls a function multiple times. The function must return multiple variables, so I created a class for the function to declare an object containing all of these variables. For example, here's my class:
package { public class PER { [Code].....
Let's say the calling program calls the function, which returns the variables into data_set1 (where data_set1 depends on input variables arg1, arg2, arg3) using:
var data_set1:PER = function_name(arg1, arg2, arg3);
The calling program does some stuff, then calls the function again, but returns the variables into a new variable name, data_set2:
var data_set2:PER = function_name(arg4, arg5, arg6);
My intention is that data_set1 and data_set2 are different (e.g. not linked together).
My question is, given that arrays are passed by reference, will data_set1 be modified to agree with data_set2 upon the 2nd function call? Why or why not?
I have various custom component instances in my flex app. I want to loop through them recursively and get their instance Ids. The recursive part is very important to me. I have tried doing this, but it didn't do recursive:
for each (var myItem:* in this.MasterContainer.childDescriptors) { trace(myItem.id); }
I have a Flex component that is a view of a data Object that recursively has a reference to itself.
For example if you had an Employee class that references a boss field of type Person, I'd like to nest the same view for that Boss. This shouldn't be an infinite recursive relationship (e.g. I'd only be viewing the boss field of each object).
I've tried creating an MXML component that references itself but when I run it locks up (seems like it gets into a recursive loop).
Is there anything you can do like includeInLayout conditions that will make sure it doesn't even instantiate that component.
I have a Flex 3.4 app that embeds a swf with mx:SwfLoader...
That swf has a public function named "playIt". I've tried dispatching events to gettingHere.content, casting gettingHere.content as a MovieClip and other stuff...
var swfApp:MovieClip = MovieClip(gettingHere.content); if (swfApp.hasOwnProperty("playIt")) { var helloWorld:Function = (swfApp["playIt"] as Function); helloWorld(); }
And I call my itemRenderer from an application like: list_groups_modify.itemRenderer=new ClassFactory(groups.list_groups_modify_item_renderer); <mx:Label text="{data.label}" textAlign="center" maxWidth="60" toolTip="{data.label}"/>
Is it possible to call the function by using the datagrid column item?I want to call the function while the user click the particular column item in the datagrid?
Can I call a function when building an array in Flex 3?
public function gridBuilder(myArray:Array):void { var i:uint; for (i=0; i<myArray.length; i++){
[Code]....
MyArray is the result of a remote call to the database. I then prepare the array to be used in a dataGrid. I also want to call a function that provides a grade. Unfortunately, my function appears to be called only once. Is it possible to call a function when you're building an array? see the "Grade:" bit.
Is it possible to call a child function from within the parent? I know to go child > parent, you can do parentApplication.functionName(parameters);, but what about going the other way... that is parent > child?
I have a function I wrote that gets the height of the application without scrolling. Meaning the height it would need to be to not have to scroll.
[Code]...
This function works well but the problem is knowing when to call it. I planned on calling it after I add/remove any children from it. However thats still too soon because I don't get the correct height yet if I run it then. The fix I currently have is using a Timer to call the function about 300 milliseconds after a child is added/removed which seems to work well but I think this is a very risky fix. So I was wondering a better solution. I am thinking there has to be some sort of event I can listen for that will tell me when its ready for me to run this function, I just don't know what event that would be?