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

发布于 2024-12-25 12:02:12 字数 586 浏览 0 评论 0原文

我有一个名为 Moneytxt 的文本字段,我想要它,所以当您单击一个框时,它有时会添加 200,有时会添加 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);
        }

i have a text field called Moneytxt and i want it so when u click on a box it somtimes adds 200 and somtimes adds 100 ( also i would like it to add up in numerical value example: if it adds 100 and it has 200 it equals 300 not 200100) . I also have penniestxt where sometimes it adds 30 and somtimes it adds 40.

this is the code (box getting added is not included or 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);
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美人迟暮 2025-01-01 12:02:12

appendText 方法的作用正如其所言——它将文本附加到文本字段中文本的末尾——这就是为什么您得到“200100”而不是“300”。

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

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

请注意,当您将其分配给文本字段文本时,您可能必须将其转换为字符串

要执行随机值,您可以使用 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);
}

The appendText method does exactly what it says--it appends text to the end of the text in the textfield--which is why you're getting "200100" instead of "300.

To have the numbers add together you need to keep the money amount stored as a Number or int.

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

Note that you'll probably have to cast the value to a String when you assign it to the text field text.

To do the random value, you can use Math.random(). It returns a number between 0 and 1. You can use that value to determine if you add 100 or 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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文