ActionScript 3.0 :: Using String To Call A Variable?
Sep 26, 2010How do i go about this,
Lets say i have a variable _a:Number=5 and _b:String="_a"
I want to call a variable whose name is contained in _b
How do i go about this,
Lets say i have a variable _a:Number=5 and _b:String="_a"
I want to call a variable whose name is contained in _b
If i have an ASP page that is returning variables (and I can see them in the debugger) how do i consentrate a string to call that variable?
ie:
variables being returned are named:
"res1", "res2", "res3"...etc
for (var i = 0; i < 10; i++) {
[Code]...
It is possible to call variables using this[ "stringname" ] for instance, to refer to a variable called "stringname".
However, when referencing a static variable by the name "stringname", the "this" attribute no longer works if applied.
Is it possible to use this technique with statics?
I need to call an object or function name with string variable.[code]it's working but, if I do something like below its not working [code]
View 2 Repliesf you know PHP...then you know that you can create a string variable...and then use the value of that variable to declare another variable. like this:
PHP Code:
<?php$foo = "haha";$i{$foo} = "success";print $i{haha};?>
and it would display "success"...or like this:
PHP Code:
<?php$foo = "haha";$$foo = "success";print $haha;?>
and it would also display "success".
I have a String variable in my flex (flash builder 4) application containing CSV data. I need to allow the user to download this data to a local file. For example, giving them a "csv" button to click and it might present them with a save file dialog (and I would be sending the contents of my string variable).Is this possible / how ?I am using the ResuableFX component for the datagrid to csv. This the code I ended up with that works to save the string to a text file for the user (in a web browser):
var dg2CSV:DataGrid2CSV = new DataGrid2CSV();
dg2CSV.includeHeader=true;
dg2CSV.target=adgEncounters;
[code]......
Trying to replace a portion of a string with a "-" if it matches a string variable in AS3.
var re:RegExp = new RegExp(imageArray[j][1],"gi"); trace(imageArray[jTemp][2].replace(re,"-"));
imageArray[jTemp][2] is a string imageArray[j][1] is a string as well I'm not getting the result I expect. I would like trace above to return 'permanentContainer-' Here are the traces for the above variables
permanentContainer-temporaryContainer- temporaryContainer
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 want to monitor a variable. Whenever the variable value changes I want to call a function. In actionscript 2 I can use "watch" but in as3 what can do ?
View 1 Repliesi'm getting a value from a class that gives me e.g "icon1" as data. i want to use this within a function to control the visibility of an item nested in a movieclip on the stage. the nested movie has the same name as the data being sent.
// here's what i want it to do:
mymenu.icon1.visible = true;
// but i cant append the 2 together as flash will see it as a string not read it as path.
[Code]....
I have been banging my head against a brick wall regarding the following problem which must be very simple to fix, just can't see the answer.I have a class assigned to a movieclip called canvas. The class is called drawClass. I have called the instance of canvas on the stage 'drawingCanvas'.When I trace "drawingCanvas" I get object drawClass] which is fine. Tracing drawingCanvas.name gets me the instance name 'drawingCanvas'.This is a String variable.Basically what I am trying to do is pass the MovieClip name to another class. In my example the class 'toolBar', which can then interact with the MovieClip.
The problem is passing 'drawingCanvas.name' results in a String, so I get an error saying :TypeError: Error #1034: Type Coercion failed: cannot convert "canvasArea" to flash.display.MovieClip.I can't for love or money find a way to convert a String variable to a MovieClip variable! I have the name of the MovieClip, I just need to tell the toolbar class. But I can't find a way of doing this as the instance on stage is an object of drawingClass, not a MovieClip (unless MovieClips with attached classes are not treated as standard MovieClips?).
This is sort of difficult to explain but I'll do my best. I've got 6 score variables that go up over time.
[Code]...
Each corresponds to a different color of "Monster" class I reated. "GreenMonster", "BlueMonster", etc. are all custom classes. Each class has a string property called "MonsterColor". So "Blue1.MonsterColor = "Blue".
To save lines of code, and learn, I'm trying to use a local string variable to take the place of whichever of these 6 int variables I need. So inside a for loop, I've created a variable called "colorscore".
[Code]...
I would like to dinamically create array variables, depending on a XML file. The problem I have is that I don't know how to create them dinamically using a name I have constructed into a string variable. What I would like is something like this:
var strVarName;
...
strVarName = "Var" + i;
var strVarName = new Array();
...
So I would have n arrays called Var1, Var2, ... Varn.
Is it possible to call a function from a string? such as if I passed the name of a function to this function, is there a command to convert the string to a function call? :
function CallSpecific(passedFunctionName:String)
I used String, but it was just a guess...
I'm wondering how do u call a variable that has a variable name.
[AS]
max = 10;
For (i=1; i<=max; i++)
{
[Code].....
how can i do that? how do i address a variable name which is variable?
I have a class that has a timer function built into it. When this timed function is called, I would like to be able to call another function when the timer is finished (which I would do in the TIMER_COMPLETE handler).
If I pass the name of the function to my class function, could I use that string(?) to call the function at the end of my timer?
I am having an issue using a string as a key in an external call. Here's what's going down.I recieve an XML document, which gives me a list of ID's that refer to other objects in the database. When I pass that ID in as URLVariable, the backend doesn't recognize it and returns nothing.Say the ID was 124. I tried passing the string "124" as the key, and it worked, returning the proper resource. Confused, i do the following
Code:
trace(xml.id__ == "124"); // returns true
getResource(xml.id__); // returns nothing
getResource("124"); // returns correct resource
I know there are issues with using == as a comparator, but since it's returning true I figured it sees them both as the string "124" -- but why would it not work? I also tried String(xml.id__), Number(xml.id__), and some other stuff.
Basically, I would like to expose the interface of some Flash code via a textField. I can easily tokenize the string and get the method name and use eval to call the method. I am having trouble collecting the parameters and handing them to the method.[code]...
View 1 RepliesI just want to ask if is it possible to call a movieclip using the String Class together with it's instance name to use gotoAndPlay() method.
I know how to use the instance name and the method but then what if I want to use a string together with the instance name and the gotoAndPlay.
on the mainTimeline if have a movieclip. inside this movieclip i have a script that loads text from database. what important note is: var myPageText: String
now if i place inside this movieclip a other label further in the time, and create a action to call out myPageText like: my_input_text.htmlText = myPageText; this works fine
now i want this to work inside a other movielip in other scene. is it possible to call myPageText???
I've got different functions in actionscript 3, one function generates random numbers each time there's a button click. But with another button I want to call the random number which is generated at that moment. I have to call the random number from another function then, but these are two different functions so it just considers it as an undefined property.
[Code]...
But I can't call randomnummer1 because it's inside another function. So I get the property undefined error.
I just want to ask if is it possible to call a movieclip using the String Class together with it's instance name to use gotoAndPlay() method.I know how to use the instance name and the method but then what if I want to use a string together with the instance name and the gotoAndPlay.
View 2 RepliesI'm wondering if its possible in flash to be able to call a static class function via its name as a string. I know for you're usual case you can do this to call the function 'func'
Code:
this["func"]();
func():void
{
trace("I'm a function");
}
However I'm wanting to do this from another static function and in a static function you obviously can't use the 'this' keyword. I've tried just omitting it, or replacing it with the class name but neither work.
I'm using the Gaia Framework to develop a website, I'm still getting used to it but it's been great so far. There's a part in a page class where I want to call certain functions to initialize some effects on every deeplink. I'm doing good, but I need to call a function through concatenating some strings. Please have a look at some code of my class and read the comments for a better understanding:
Code:
private function FUNC_que():Void{
SEC_que.b1._width = 0
stringTyper(SEC_que.t1, st1, 15, 8)
var ts2 = new TextShuffle(SEC_que.t2, st2,SEC_que.b1);
[code]....
I have:
Code:
var tweenType:String = "None.easeNone";
and I'd like to use it as a function (from fl.transitions.easing) in:
[code]....
I worked out a way to call a function whose name is in a String variable. That is:
function myFunction()
{
trace("Hello!");
}
[Code]....
I'm trying to do a test on the length of a string and then call a function depending on the result. This is the pertinent excerpt from the fla file:
Code:
_loc4._comment = candles[_loc3].comment;
// I want to find out the length of _comment and call differently depending
_loc4.onRollOver = function () {
if (_loc4._comment.length > 0 && _loc4._comment.length < 60) {
show_comment(this._comment, this._x + this._parent._x, this._parent._parent._y - 50);
} else {
show_comment(this._comment, this._x + this._parent._x, this._parent._parent._y - 100);
}};
Basically I want to check the length (in characters) of _loc4.comment and if its under 60 call with an offset of 50 and if its not call with an offset of 100.
I'm getting the following error message when I try to run the AS code below:
1180: Call to a possibly undefined method string.
The error occurs at every instance of:
min = string(min % 60);
I think CS3 doesn't like this "string" format and that it probably different from that of CS2 in which the code was derived from.
this.onEnterFrame = function() {
var todayate = new Date();
var currentYear = today.fullYear();
[Code]....
I am working on my open source project Downloadify, and up until now it simply handles returning Strings in response to ExternalInterface.call commands.
I am trying to put together a test case using JSZip and Downloadify together, the end result being that a Zip file is created dynamically in the browser, then saved to the disk using FileReference.save. However, this is my problem:
The JSZip library can return either a base64 encoded string of the Zip, or the raw byte string. The problem is, if I return that byte string in response to the ExternalInterface.call command, I get this error:
Error #1085: The element type "string" must be terminated by the matching end-tag "</string>"
ActionScript 3:
var theData:* = ExternalInterface.call('Downloadify.getTextForSave',queue_name);
Where queue_name is just a string used to identify the correct instance in JS.
JavaScript:
var zip = new JSZip();
zip.add("test.txt", "Hello world!
");
var content = zip.generate(true);
return content;
If I instead return a normal string instead of the byte string, the call works correctly.I would like to avoid using base64 as I would have to include a base64 decoder in my swf which will increase its size.
Finally: I am not looking for a AS3 Zip generator. It is imperative to my project to have that part run in JavaScript
I just want to ask if is it possible to call a movieclip using the String Class together with it's instance name to use gotoAndPlay() method. I know how to use the instance name and the method but then what if I want to use a string together with the instance name and the gotoAndPlay.
View 1 Replies