PDA

Просмотр полной версии : помогите с циклом


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
основываясь на trace и утверждаю что выполняется не нужная мне часть кода.
Вероятно ошибку вызывает, что то вне данного кода. Может исходник выложите?

А как ещё можно сделать промежуток от 1 до 5 не прописывая каждую цифру в ручную (если пять то не проблема, а если больше...), подскажите.
А смысл гонять по кадрам n-ое количество раз? Все равно в результате на экране будет отображен только последний переход.

miramax
19.11.2006, 06:27
основываясь на trace и утверждаю что выполняется не нужная мне часть кода.
А как ещё можно сделать промежуток от 1 до 5 не прописывая каждую цифру в ручную (если пять то не проблема, а если больше...), подскажите.
Имеешь ввиду цикл while ?
Всё равно не понятно, твой код работает верно.

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

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

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

iNils
19.11.2006, 06:44
Собственно , тоже самое я имел ввиду.Да там и цикла тогда не надо. Проверить входит ли 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: ...