Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.12.2009, 21:25
veles2008 вне форума Посмотреть профиль Отправить личное сообщение для veles2008 Найти все сообщения от veles2008
  № 1  
Ответить с цитированием
veles2008
 
Аватар для veles2008

Регистрация: Sep 2008
Сообщений: 158
По умолчанию не выполняются действия в цикле

Приветствую!
Помогите разобраться. Почему то не выполняются действия в цикле
Код 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) показывает всё как надо, а выполняться не хочет

Старый 14.12.2009, 00:06
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код 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 тоже не используется).


Последний раз редактировалось mooncar; 14.12.2009 в 00:10.
Старый 14.12.2009, 00:19
veles2008 вне форума Посмотреть профиль Отправить личное сообщение для veles2008 Найти все сообщения от veles2008
  № 3  
Ответить с цитированием
veles2008
 
Аватар для veles2008

Регистрация: Sep 2008
Сообщений: 158
pow1.text это количество повторений которые должен повторяться массив course1

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

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

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

Старый 14.12.2009, 00:36
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ну проверьте, выполняется ли цикл:
Код 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);
 
	}
}


Последний раз редактировалось mooncar; 14.12.2009 в 00:38.
Старый 14.12.2009, 00:38
veles2008 вне форума Посмотреть профиль Отправить личное сообщение для veles2008 Найти все сообщения от veles2008
  № 5  
Ответить с цитированием
veles2008
 
Аватар для veles2008

Регистрация: Sep 2008
Сообщений: 158
Если я ввожу 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
Но больше ничего не работает

Старый 14.12.2009, 00:41
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Почему у вас function moveIt () определяется внутри другой функции?
Вытащите ее из moveBK.onPress

Старый 14.12.2009, 00:44
veles2008 вне форума Посмотреть профиль Отправить личное сообщение для veles2008 Найти все сообщения от veles2008
  № 7  
Ответить с цитированием
veles2008
 
Аватар для veles2008

Регистрация: Sep 2008
Сообщений: 158
Я что то всего кода не видел. При полном:
Number(pow1.text) = 5
ii = 0
ii = 1
ii = 2
ii = 3
ii = 4
объект стоит на месте

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

Старый 14.12.2009, 00:53
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Значит цикл в порядке, ошибка где-то в алгоритме.

Старый 14.12.2009, 00:56
veles2008 вне форума Посмотреть профиль Отправить личное сообщение для veles2008 Найти все сообщения от veles2008
  № 9  
Ответить с цитированием
veles2008
 
Аватар для veles2008

Регистрация: Sep 2008
Сообщений: 158
если я пишу :
Код AS1/AS2:
for (var ii:Number = 0; ii < Number(pow1.text); ii++) {
      course2.push('VPEROD');
 	}
То всё работает, но мне так не подходит ибо есть ещё пару направлений и повторение будет происходить не правильно, а вот так
Код AS1/AS2:
course2.push(course1);
не работает

Добавлено через 10 часов 6 минут
Цитата:
Сообщение от mooncar Посмотреть сообщение
Значит цикл в порядке, ошибка где-то в алгоритме.
Я же не писал что цикл не работает, я писал что действия в цикле не выполняются

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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