Adobe Animate中的AS3 CC
问题描述:
场景1,图层'层1',帧1,线2,列12 1067:将String类型的值隐式强制为不相关的类型Number。Adobe 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);
答
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
谢谢。当我选择嵌入字体时使用:数字 –
谢谢,但我的意图是减去数字1 例如,100-1 = 99不是10。 –
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)'.. –
@AbedHadada我发布的例子从你的文本字段中减去1 (假设其内容是可解析的数字)。它不会截断你的文本。 – quantomworks