Adob​​e Animate中的AS3 CC

Adob​​e Animate中的AS3 CC

问题描述:

场景1,图层'层1',帧1,线2,列12 1067:将String类型的值隐式强制为不相关的类型Number。Adob​​e Animate中的AS3 CC

在舞台动态文本的名称:“benzin_txt”

benzin_txt.text -= 1; 

设置一个文本框的文本需要一个字符串。你试图给它一个数字。

如果您想要将TextField的值解释为数字,然后将其内容减1,则必须首先解析该字符串。然后把它变回一个字符串。

var origionalText:String = benzin_txt.text; 
    var asNumber:Number = parseInt(origionalText); 
    asNumber--; 
    benzin_txt.text = asNumber.toString(); 

    //or 

    benzin_txt.text = String(int(benzin_txt.text) - 1); 
+0

谢谢,但我的意图是减去数字1 例如,100-1 = 99不是10。 –

+1

PS:@AbedHadada ...更新的'benzin_txt.text = String(int(benzin_txt.text) - 1);'为你工作?如果你用一个**数字**变量,就像用于算术计算的'Number'或'int'类型,那么'textfield'只显示结果数值(比如'numVar - = 1'和' benzin_txt.text = String(numVar)')...另外看看'as3类型铸造'如果你需要知道为什么'.text = String(Number)'.. –

+0

@AbedHadada我发布的例子从你的文本字段中减去1 (假设其内容是可解析的数字)。它不会截断你的文本。 – quantomworks

textField的内容是“String”而不是“Number”。所以你不能对它进行数字操作。首先,你必须将其转换为数字或相关类型:

number = benzin_txt.text as Number; 

number = Number(benzin_txt.text); 

然后将其重新转换为字符串,所以你可以使用它作为文本的文本框:

benzin_txt.text = String(number); 

benzin_txt.text = number.toString(); 

简单:

benzin_txt.text = String(Number(benzin_txt.text)-1); 

问候。

+0

谢谢。当我选择嵌入字体时使用:数字 –