Using getDefinitionByName I am consistently getting the error saying it is not defined (as the title says). The particular code I am using is
var tileID:String = String(getDefinitionByName("evt.target.data."+mapData[i][j]))
mapData is already populated by a character in each position. The plan is that I can use the value of whatever mapData is as the variable name for the conversion of the single character to the full linkage name of a tile. These properties come from another external .txt file that is setup for variables (this is the external file the code line links to).
The variables in the external file look something like &N=exampleTile.
So when it comes to setting tileID it should end up being exampleTile. (Assuming mapData[i][j] = "N").
But it doesn’t. I have read around at other solutions saying that the file may not have loaded or anything, but I can’t make sense of or apply any of those fixes.
As Florian points out,
getDefinitionByNameis specifically for getting a Class reference. Something like “flash.net.URLLoader” would give you a reference to the URLLoader class for example. It’s not used for getting regular variables by their names (so “evt.target.data.N” wouldn’t return anything even if “N” was a property ofdata).It sounds like your
evt.target.datais a long string along the lines of “A=tileA&B=tileB&C=tileC“. If so, you need to parse that string out to separate variables first. You should be able to use URLVariables with that data format (flash.net.URLVariables), then you can read the parsed variables using the [ ] array access operator:urlVariablesObject["variableName"]. So you might do something like this: