在as3中随机添加文本到动态文本字段

时间:2012-01-09 00:18:15

标签: actionscript-3 flash-cs4

我有一个名为Moneytxt的文本字段,我想要它,所以当你点击一个框时它会增加200并且somtimes增加100(我也希望它在数值示例中加起来:如果它增加100并且它有200它等于300而不是200100)。我也有penniestxt,有时它会增加30,有时会增加40。

这是代码(不包括添加的框或addeventlistener)

public function boxclick(event:MouseEvent):void {
            var _box:Box=event.currentTarget as Box;
            logtxt.appendText(" You collected the box");
            Moneytxt.random.appendText("100")
            Moneytxt.random.appendText("200")
            penniestxt.random.appendText("40")


            boxAmount--;

            removeChild(_box);
        }

1 个答案:

答案 0 :(得分:1)

appendText方法正如它所说的那样 - 它将文本附加到文本字段的文本末尾 - 这就是为什么你得到的是“200100”而不是“300”。

要将数字加在一起,您需要将金额存储为数字或整数。

var money:int = 0;
money += 100;
money += 200;
Moneytxt.text = String(money);

请注意,在将值分配给文本字段文本时,您可能必须将值强制转换为String。

要执行随机值,您可以使用Math.random()。它返回0到1之间的数字。您可以使用该值来确定是否添加100或200。

var money:int = 0;
public function boxclick(event:MouseEvent):void {
    var randVal:Number = Math.random();
    if(randVal >= 0.5){
        money += 100;
    } else {
        money += 200;
    }

   Moneytxt.text = String(money);
}