Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   помогите с циклом (http://www.flasher.ru/forum/showthread.php?t=88207)

screamge 19.11.2006 05:39

помогите с циклом
 
имеется вот такой код, над которым я промучался уже как 3 часа, эт мжет мало нодлятакого кода я думаю всёже много :(

переменная тотал число равное 11, оператором for определяю (или пытаюсь определить) промумежуток от 1 до 5, и далее идёт условие...

задача: выполнение условия else, выполняется условие if...подскажите в чём дело...

Код:

function endframe1 (){
        var total:Number = 11
        for (i = 1; i <= 5; i++){
                if (total == i){
                        _root.image.gotoAndStop(4)
                } else {
                        _root.image.gotoAndStop(1)
                }
        }
}

заранее признателен...

iNils 19.11.2006 06:03

Код верный. Подставте вместо переходов trace и посмотрите, что будет выводится.

А зачем это в цикле делать?:)

screamge 19.11.2006 06:15

основываясь на trace и утверждаю что выполняется не нужная мне часть кода.
А как ещё можно сделать промежуток от 1 до 5 не прописывая каждую цифру в ручную (если пять то не проблема, а если больше...), подскажите.

iNils 19.11.2006 06:25

Цитата:

Сообщение от screamge
основываясь на trace и утверждаю что выполняется не нужная мне часть кода.

Вероятно ошибку вызывает, что то вне данного кода. Может исходник выложите?
Цитата:

Сообщение от screamge
А как ещё можно сделать промежуток от 1 до 5 не прописывая каждую цифру в ручную (если пять то не проблема, а если больше...), подскажите.

А смысл гонять по кадрам n-ое количество раз? Все равно в результате на экране будет отображен только последний переход.

miramax 19.11.2006 06:27

Цитата:

Сообщение от screamge
основываясь на trace и утверждаю что выполняется не нужная мне часть кода.
А как ещё можно сделать промежуток от 1 до 5 не прописывая каждую цифру в ручную (если пять то не проблема, а если больше...), подскажите.

Имеешь ввиду цикл while ?
Всё равно не понятно, твой код работает верно.

miramax 19.11.2006 06:29

Кажется я понял твою цель, тебе нужно поставить break; после того как выполнилось условие . Что бы прекратить цикл. Ещё лучше - ставить флаг в цикле, а потом в зависимости от флага перенаправлять клип на нужный кадр.

iNils 19.11.2006 06:34

Цитата:

Сообщение от miramax
Кажется я понял твою цель, тебе нужно поставить break; после того как выполнилось условие . Что бы прекратить цикл. Ещё лучше - ставить флаг в цикле, а потом в зависимости от флага перенаправлять клип на нужный кадр.

О боже, какой смысл в этом?

miramax 19.11.2006 06:40

Цитата:

Сообщение от iNils
О боже, какой смысл в этом?

Цитата:

Сообщение от iNils
А смысл гонять по кадрам n-ое количество раз? Все равно в результате на экране будет отображен только последний переход.

Собственно , тоже самое я имел ввиду.

iNils 19.11.2006 06:44

Цитата:

Сообщение от miramax
Собственно , тоже самое я имел ввиду.

Да там и цикла тогда не надо. Проверить входит ли total в диапазон по которому проходит сейчас i, то есть:
Код:

function endframe1 () {
        var total:Number = 11;
        if (total >= 1 && total <= 5) {
                _root.image.gotoAndStop (4);
        } else {
                _root.image.gotoAndStop (1);
        }
}


screamge 19.11.2006 06:53

2iNils & miramax
спасибо, сильно помогли...я наконец разобрался :yahoo: и понял что цикл я вообще напрасно использовал:rolleyes: ...


Часовой пояс GMT +4, время: 18:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.