Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Trying to create dynamic text from a formula

Community Beginner ,
Mar 22, 2018 Mar 22, 2018

I have a number of dynamic text windows in which I want to display some text that is generated from string variables containing the desired text. I want the text to be displayed when a button is clicked. The following code shows what I am trying to do.

The variables containing text are:

var 101:String = ("TEXT FOR VARIABLE 101");

var 201:String = ("TEXT FOR VARIABLE 201");

var 301:String = ("TEXT FOR VARIABLE 301");

This is the button that makes it happen.

buttonA1_btn.addEventListener(MouseEvent.CLICK,button1_btnClick);

function button1_btnClick(event:MouseEvent):void

{

    selectA1_txt.text = (1 + youAreHere_txt.text + ("1"));

    selectA2_txt.text = (2 + youAreHere_txt.text + ("1"));

    selectA3_txt.text = (3 + youAreHere_txt.text + ("1"));

}

In the above equations the value of youAreHere_txt.text is 0 for the initial case, hence the values of the three statements are 101,201 and 301.

But I don't want to see those values. I want to see the text that those values represent, ie TEXT FOR VARIABLE 101 etc.

Is there a way of doing what I am looking for? Your help would be much appreciated.

TOPICS
ActionScript
384
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Beginner , Mar 23, 2018 Mar 23, 2018

Thanks for your answer. I think you have set me on the path to success with this program.

You correctly pointed out that variables cannot start with a number and you fixed that by preceding the number with an underscore.

I do need to get the concatenated values to form the variable names. Your suggestion worked after I moved some code so that the concatenated statement preceded the statements containing the values that are used in the concatenated formula. I ended up with the following code.

functi

...
Translate
Community Expert ,
Mar 23, 2018 Mar 23, 2018

Hi.

There are some things that need to be clarified:

- You can't start a variable name with numbers. You can only start a variable name with letters, _ and $.

- You are trying to concatenate values to form your variable names while what I guess you really want/need is just to assign the strings that your three variables hold to the text property of your text fields;

Try this:

var _101:String = "TEXT FOR VARIABLE 101";

var _201:String = "TEXT FOR VARIABLE 201";

var _301:String = "TEXT FOR VARIABLE 301";

function button1_btnClick(event:MouseEvent):void

{

    selectA1_txt.text = _101;

    selectA2_txt.text = _201;

    selectA3_txt.text = _301;

   

    // but if you really want to get the values forming the variable names, uncomment the following lines and comment out the previous ones.

    //selectA1_txt.text = this["_1" + youAreHere_txt.text + "1"];

    //selectA2_txt.text = this["_2" + youAreHere_txt.text + "1"];

    //selectA3_txt.text = this["_3" + youAreHere_txt.text + "1"];

}

buttonA1_btn.addEventListener(MouseEvent.CLICK, button1_btnClick);

I hope it helps.

Regards,

JC

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 23, 2018 Mar 23, 2018
LATEST

Thanks for your answer. I think you have set me on the path to success with this program.

You correctly pointed out that variables cannot start with a number and you fixed that by preceding the number with an underscore.

I do need to get the concatenated values to form the variable names. Your suggestion worked after I moved some code so that the concatenated statement preceded the statements containing the values that are used in the concatenated formula. I ended up with the following code.

function button1_btnClick(event:MouseEvent):void

{

    selectA1_txt.text = this["_1" + youAreHere_txt.text + "1"];

    selectA2_txt.text = this["_2" + youAreHere_txt.text + "1"];

    selectA3_txt.text = this["_3" + youAreHere_txt.text + "1"];

}

var _101:String = "TEXT FOR VARIABLE _101";

var _201:String = "TEXT FOR VARIABLE _201";

var _301:String = "TEXT FOR VARIABLE _301";

So, thanks again for your answer. It was very helpful.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines