AS3 дочерний вопрос с утверждениями if - PullRequest
0 голосов
/ 27 марта 2011

Хорошо, может кто-нибудь объяснить, что не так с моим кодом ниже, ошибок нет, но он не делает то, что я хочу.Мне нужно, чтобы он отображал мувиклип на экране, когда переменная «randint», которая генерируется случайным образом, больше или равна 0,5.Если это не так, он не отображается.Код:

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 голосов
/ 27 марта 2011

randint устанавливается внутри оператора if.Это означает, что randint всегда является неопределенным, потому что оно должно быть >= 0.5 для установки любого значения (вид уловки 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;
            }
        }

    }
};

Тогда, конечно, вы должны добавить w1 к сцене, используя addChild(), как вы можете видеть ниже var w1:woman1 = new woman1();

надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...