Форум 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=133814)

veles2008 13.12.2009 21:25

не выполняются действия в цикле
 
Приветствую!
Помогите разобраться. Почему то не выполняются действия в цикле
Код AS1/AS2:

var course:Array = new Array()
var count:Number = 0;
var course1:Array = new Array();
var course2:Array = new Array();
sis=0;
povtoryt3.onPress = function () {
        sis =1;
}
konec.onPress = function () {
course=course.concat(course2);
trace(course);
        sis=0;
        }
powtor.onPress = function() {
// это здесь!!!!!!!!!!!
        for (var ii:Number = 0; ii<pow1.text; ii++) {
        course2.push(course1);
        }
}
moveBK.onPress = function  () {
        if (sis == 1) {
        course1.push('VPEROD');
        } else {
                course.push('VPEROD');
        }
                }
                function moveIt () {
                if (count < course.length) {
                doMove (course[count]);
                count++;
                }else {
                        clearInterval (moveNtrlv);
                count = 0;
for (i1 in  course) {
                        pusk.enabled = true;
                }
                }
                                }
function doMove (direct:String) {
        switch (direct) { 
        case 'VPEROD' :
                var ss1=Number(vp1.text);
                bk._x += 20*ss1;
            break;
        }
        }
pusk.onRelease  = function  () {
        pusk.enabled = false;
        moveNtrlv = setInterval(moveIt, 100);               
}

Добавлено через 1 час 48 минут
trace(course) показывает всё как надо, а выполняться не хочет

mooncar 14.12.2009 00:06

Код AS1/AS2:

for (var ii:Number = 0; ii < pow1.text ; ii++) {

Здесь pow1.text - это строковое значение, а вы в условии цикла используете и проверяете числа.
Попробуйте
Код AS1/AS2:

for (var ii:Number = 0; ii < Number(pow1.text); ii++) {

Остальной код и сам алгоритм не смотрел.
Хотя вызывает недоумение - зачем у вас организован цикл, если переменная цикла ii никак в его теле не используется?
(Во втором цикле i1 тоже не используется).

veles2008 14.12.2009 00:19

pow1.text это количество повторений которые должен повторяться массив course1

(другого метода не нашёл как пару раз записать course1 в массив course2)

Второй цикл удалить забыл.

Добавлено через 35 секунд
Number(pow1.text) - не помогло

mooncar 14.12.2009 00:36

Ну проверьте, выполняется ли цикл:
Код AS1/AS2:

 
powtor.onPress = function() {
 
        trace('Number(pow1.text) = ' + Number(pow1.text);
 
        for (var ii:Number = 0; ii < Number(pow1.text); ii++) {
 
        trace('ii = ' + ii);
        course2.push(course1);
 
        }
}


veles2008 14.12.2009 00:38

Если я ввожу 4 то:
ii = 0 Number(pow1.text) = 4
ii = 1 Number(pow1.text) = 4
ii = 2 Number(pow1.text) = 4
ii = 3 Number(pow1.text) = 4
Но больше ничего не работает

mooncar 14.12.2009 00:41

Почему у вас function moveIt () определяется внутри другой функции?
Вытащите ее из moveBK.onPress

veles2008 14.12.2009 00:44

Я что то всего кода не видел. При полном:
Number(pow1.text) = 5
ii = 0
ii = 1
ii = 2
ii = 3
ii = 4
объект стоит на месте

Добавлено через 2 минуты
нет, нет moveIt () отдельно

mooncar 14.12.2009 00:53

Значит цикл в порядке, ошибка где-то в алгоритме.

veles2008 14.12.2009 00:56

если я пишу :
Код AS1/AS2:

for (var ii:Number = 0; ii < Number(pow1.text); ii++) {
      course2.push('VPEROD');
        }

То всё работает, но мне так не подходит ибо есть ещё пару направлений и повторение будет происходить не правильно, а вот так
Код AS1/AS2:

course2.push(course1);

не работает

Добавлено через 10 часов 6 минут
Цитата:

Сообщение от mooncar (Сообщение 872561)
Значит цикл в порядке, ошибка где-то в алгоритме.

Я же не писал что цикл не работает, я писал что действия в цикле не выполняются


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

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