Actionscript 3 :: Building A New Dictionary Out Of An Old One?
Aug 31, 2010
I'm working with a large set of hierarchical taxonomic terms, where each term ("203") has a matching "term203" movie clip on the stage, and am having trouble getting a recursive function to return all of a given term's descendants.There is a main Dictionary() object with the following nested organization for each term:
{ [object Movie Clip] : { "tid":203, "parent":99, "name":"Culture", selected:false, "otherData":"etc" } }
...where the [object Movie Clip]'s instance name would be "term203". All of these object:subObjectArray items ("terms") are stored in a master taxonomy:Dictionary() object.I've been trying to make a recursive function (which is in itself already a little above my head) that takes the click.target of a movie clip and returns a new Dictionary() object with all of the children and grandchildren and great grandchildren (etc) of that term, in the same, nested organization described above.
The code below traces the right number of recursive loops, but the returned Dictionary() object only contains the first run's terms (only the immediate children of the requested term).
var taxonomy:Dictionary = new Dictionary();
// ...Term info is loaded into taxonomy from a JSON-style text file)
// ...MOUSE_OVER event listeners are added to each
[code]....
I certainly do not claim to be the most efficient AS3 programmer, so I am open to alternative configurations. However, after trying static and nested Arrays, I would prefer to continue using the Dictionary() object as my main pool.As noted, only the immediate children end up animating in the revealChildren() function. It's mystifying to me then, that in the getAllChildren() function, all of the descendants trace sequentially (well in no particular order) in the output window.Also I can't get any sort of name or property out of the subSet Object. That could be the problem.I've only tested it as far as 'two generations,' but it seems that only the first round of calling the function successfully adds those terms to the new Dictionary() object and returns it intact to the animating function.
View 1 Replies
Similar Posts:
Aug 27, 2010
The dictionary use strict equals(===) for key comparison, how to change the comparison, so I can use my standard for comparison, for example, I have a class named Student:
class Student{
var id:int;
var name:String;[code]....
I want Dictionary use id to compare if the two keys are equal, not use strict equal(===) to compare if the key is the same.
View 2 Replies
Dec 19, 2010
The great thing about dictionary: one can use objects as keys. The bad thing: compiler still believes that the keys are strings.
[code]...
View 3 Replies
Jul 29, 2010
Normally in Flex you use a collection like ArrayCollection as the dataprovider for components. I often have data stored as a dictionary whose values I would like to use as a dataprovider.
View 2 Replies
Mar 1, 2011
I'm often seeing others using a Dictionary object in their AS3 code that simply maps objects by String keys and wondering if there is any advantage at all of using a Dictionary over a simple Object if String keys are used. Anyone know any details on this? I would suppose that since an Object is more lightweight it should be faster and preferable over a Dictionary if used with String keys.
View 1 Replies
Jun 17, 2011
why the Dictionary class ignores setPropertyIsEnumerable? I found this bug at bugs.adobe, seems the prototype might be involved in some devious way.Here is some test code:
var obj:Object = {
'a': 0,
'b': 1,[code]......
Notice that the Dictionary is still enumerating the property "a" even though it was told not to.
View 1 Replies
Aug 18, 2008
What is the correct way to determine if a Dictionary contains a particular key or not?
In Java I can do:
HashMap x= new HashMap();
x.containsKey("test"); // returns true/false
Is this the correct way in AS3?
var xictionary = new Dictionary();
x["test"] == null
[Code]...
View 7 Replies
Dec 23, 2010
in Java this: dict.keySet()
View 6 Replies
Jun 3, 2011
somehow plug a dictionary into flash which can be used to verify words in a word creation game I'd like to create..
Sounds perfectly feasible but I just wouldn't know where to start in finding it... are there ones which are readily available ?? (preferably free)
View 7 Replies
Mar 5, 2010
for (var k in dictionary)
{
var key:KeyType = KeyType(k);
var value:ValType = ValType(dictionary[k]); // <-- lookup
// do stuff
}
This is what I use to loop through the entries in a dictionary. As you can see in every iteration I perform a lookup in the dictionary. Is there a more efficient way of iterating the dictionary (while keeping access to the key)?
View 1 Replies
Apr 22, 2010
As the title suggests, is it possible to use AMF to encode/decode Dictionaries (without subclassing, that is)? For example, here's a test case:
[Code]...
View 2 Replies
Jan 22, 2011
What exactly is the difference between an object and a dictionary in Actionscript?
var obj:Object = new Object();
obj.something = "something";
var dict:Dictionary = new Dictionary();
dict.something = "something";
trace(obj.something, dict.something);
The trace statement seems identical...
View 3 Replies
Aug 5, 2011
Right now I am using ArrayCollection. But I want to change that to Set as I want make sure do duplicate values come.
var addressList:ArrayCollection = new ArrayCollection();
One way is I can use Dictionary and store addresses as a key. And I can just use keys to iterate. But I am looking for Java HashSet like implementation.
View 2 Replies
Jun 9, 2010
I am writing my destructor but I am not sure how to make sure that my Dictionary object is completely dismantled.
Do I just walk the keys and 'delete' the objects? If so do I need to destroy the keys? or are they already removed when the object is removed from the Dictionary?[code]...
View 1 Replies
Mar 20, 2009
I have an ARRAY which contains single symbols and DICTIONARY in where every symbol in array is attached to unique string, what I want to do - is to merge ARRAY and DICTIONARY together, and as a result receive RESULT_ARRAY where order of elements is equal to ARRAY but elements are replaced according to a DICTIONARY.
Code:
//for example
//this is what we have -
var originalA:Array = new Array ();
originalA[0]="y";
[code]...
View 2 Replies
Nov 18, 2009
I'm trying to do something along the following:
Code:
//Loop through all items in the dictionary to update each and every one
for (var key:DisplayObjectContainer in containerDict)
[code].....
View 14 Replies
Jun 24, 2010
Has anyone tried sending a Dictionary through the arguments of ExternalInterface.call()?What happens to it when it reaches the Javascript side, because from what I understand JavaScript does not have a Dictionary implementation.
View 4 Replies
Mar 6, 2011
Is there a way for flash to get the nature of a word (noun, verb, adverb, etc.) from a dictionary somewhere?
View 1 Replies
Jul 22, 2010
Does Flex Dictionary maintain the order of its elements?
View 2 Replies
Feb 19, 2011
Does Flash Actionscript have List and Dictionary equivalents? I've only found the documentation for the Array.
View 2 Replies
Mar 8, 2011
I am using Flex dictionary to store ValueObjects with Timestamp as the 'key' for each object.
Given a timestamp, I want to iterate over the dictionary starting from the given timestamp key value.
The Docs discuss the following for dictionary iteration, but this iterates from the first key-value pair.
for (var key:Object in myDictionary)
{
trace(key, myDictionary[key]);
}
View 1 Replies
Aug 29, 2011
In my parsley container, I'm instantiating an object 'A' that contains a Dictionary (flash.utils.Dictionary).
I would like to create this Dictionary using parsley and inject it to 'A'.
This dictionary pairs structure is: key=id of object 'B', value='B'
where object 'B' is also an object which is defined and created using parsley(so basically the pairs structure is and object id as a key and the object itself as the value).
Now, I have no problem creating 'A' and 'B', but can't seem to find the right way to create this dictionary using parsley, nor injecting it to 'A'.
View 1 Replies
Nov 17, 2011
So I am writing a program which uses Dictionary to store objects. For example
var dictionary:Dictionary=new Dictionary();
var myObject = new myObject(var1, var2, var3);
dicionary["key"]=myObject;
where var1, var2, and var3 are simply means of assigning values to variables in myObject.can I access values or functions that are found in myObject? In myObject class I have some getters and setters. Can I use a getter to get the value of var1 for example.
dictionary["keys"].getVar1()?
View 1 Replies
Jan 20, 2012
This is kinda related to my other question: flex dictionary bug? The HashMap has a method getValues() which returns an array of values:
[cODE]....
the loop for (var key:* in map) iterates the keys of the dictionary map, but it seems its implementation does it in some random way. What is the best way to write a test since I don't know what the array returned by getValues method will contain? I thought I could do it by calling the sort method, and compare the values, is there a better way to do it?assertEquals(map.getValues().sort(), "value A,value B,value C,value X,value Y,value Z");
View 1 Replies
Feb 6, 2009
its for managing several buttons that load different swf'sI do not know what to do with the last else bit.I understand all of it except "places it in cache with e.currentTarget as the key"cache is meant to be a dictionary which I do not really understand.
Code:
function menuClick(e:Event):void{
if (currentlyShowing != null){
[code].....
View 6 Replies
Aug 18, 2009
I'm trying to figure out a way to clone / copy a dictionary object.
I came across some articles on cloning that offer this code.
This does not seem to work for dictionary objects. I think it only really works for basic objects.
Has anybody come across a way of cloning a dictionary before
Code:
function clone(source:Object):*
{
var myBA:ByteArray = new ByteArray();
[Code].....
View 8 Replies
Oct 28, 2009
I'm making a custom class which extends the Dictionary class. I want to access its key:value pairs like any regular Dictionary Object. i.e.:
for (var key:Object in myCustomDictionary) {
trace(key);
}
When I test the example though, trace() returns nothing.
Here is my code:
/*// TIMELINE EXAMPLE
import lachmanski.ui.LmKeys;
trace( LmKeys.keys );
*/
[Code] .....
View 1 Replies
Apr 22, 2011
I am trying to create a scenario type quiz. The student's choice at each question point will take them to a new part of the scenario. So I guess it's a custom story based on student choices.
Anyway, first I am trying to make an authoring tool for this that will allow the scenario creator to graphically map out the scenario. So file icons are created (each representing a step in the scenario) with a number of targets as children (representing the choices). The targets are how the author draws lines from choices to corresponding files. When you click on a target I need to record which choice that is (choice1, choice2, etc) and draw a line from there to the file which the choice must lead to I need to record the name of that file. So, I was thinking that I would use dictionaries since they can be indexed with objects. One dictionary for the files, and one dictionary for the choices in that file.
dict1 --> dict2 --> array
file --> targets --> choice number to next file correlation
But I am having the hardest time getting anything to work. Am I going down the right path or should I change my approach?
View 2 Replies
Oct 25, 2011
Is there a way to implement a dictionary in as3, to check the spelling of the words in the swf?I waqnt to create a notepad or something like that, and I want to check the spelling of the words in different languages.I want to know if there is a way to implement a dictionary to check the spelling of the words in the language that will be selected through a combo box (There will be different languages besides english)?
View 3 Replies
Apr 23, 2010
Why might it be useful to store an object (i.e. a Movieclip) as a key in a dictionary? Does any one have any examples of where it's used/is useful?
View 5 Replies