使用if语句的AS3子问题

时间:2011-03-27 17:46:34

标签: actionscript-3

好吧,有人可以解释下面我的代码有什么问题,没有错误,但它没有做我想做的事情。当一个名为“randint”的变量(由random生成)大于或等于0.5时,我需要它在屏幕上显示一个movieclip。如果不是那么它就不会显示出来。代码:

addEventListener(Event.ENTER_FRAME, char_coll);
function char_coll(ev : Event) : void
{
    if(currentFrame==2)
    {
        if (randint >= 0.5){
            var w1:woman1 = new woman1();
            randint = Math.random();
            if(w1.hitTestObject(stand)){
                w1.gotoAndPlay(1);
                cash1 = cash1 + 1;
        }
        }

    }
};

1 个答案:

答案 0 :(得分:0)

在if语句中设置了

randint。这意味着randint始终是不可取的,因为必须将>= 0.5设置为任何值(类型为catch 22)。

此代码应该有效:

addEventListener(Event.ENTER_FRAME, char_coll);
function char_coll(ev : Event) : void
{
    if(currentFrame==2)
    {
        var randint:Number = Math.random();
        if (randint >= 0.5){
            var w1:woman1 = new woman1();
            stage.addChild(w1);
            if(w1.hitTestObject(stand)){
                w1.gotoAndPlay(1);
                cash1 = cash1 + 1;
            }
        }

    }
};

当然,您必须使用w1addChild()添加到舞台,因为您可以在var w1:woman1 = new woman1();下面

希望它有所帮助!