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

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

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

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

Приветствую, подскажите как можно провести операцию с двумя циклами так чтобы к каждому элементу первого массива применялись действия 2х элементов второго массива... если трейсить двойной цикл в такой форме:
Код AS3:
for (var q:int=0; q<massiveOne.length; q++)
{
	for (var w:int=0; w<massiveTwo.length; w++)
	{					
		trace(q, w);						
	}
}
В данном случае выводит к каждому эл-ту 1 массива применяется все элементы 2го массива
а нужно вот такое:
0 0
0 1
1 2
1 3
2 4
2 5

Пробовал w++ менять на Math.floor(w+=0,5) и все в таком духе.. программа зависала.
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.

Старый 05.09.2012, 01:19
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Код AS3:
var secondIndex:int = 0;
for (var q:int = 0; q < massiveOne.length; q++)
{
	for (var w:int = 0; w < 2 && secondIndex < massiveTwo.length; w++, secondIndex++)
	{					
		trace(q, secondIndex);						
	}
}

Старый 05.09.2012, 18:30
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 3  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Спасибо большое, это очень поможет и в будущем.
Не подскажите, а почему при использовании двойного цикла статический массив(другого класса) ссылающийся на положение объектов на сцене перестает отслеживать положение этих объектов?
Вот в такой форме:
Код AS3:
var secondIndex:int = 0;
for (var q:int = 0; q < massiveOne.length; q++)
{
	trace(massiveOne[q].x); //Отслеживает
        for (var w:int = 0; w < 2 && secondIndex < massiveTwo.length; w++, secondIndex++)
	{					
		trace(massiveOne[q].x); //Не отслеживает				
	}
}
Т.е. я не беру в счет через сколько позиций проскакивает массив, главное что отслеживание не ведется.
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.

Старый 05.09.2012, 19:24
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 4  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Могу предположить, что второй трейс не вызывается по причине того, что secondIndex в какой-то момент становится равным massiveTwo.length, и с этого момента тело внутреннего цикла перестает выполняться вовсе.

Старый 05.09.2012, 20:42
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 5  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
Вы оказались правы, спасибо за информацию при много вам благодарен.
Вот таким образом выкрутился:
Код AS3:
for (var q:int = 0; q < massiveOne.length; q++)
{
	if(secondIndex==massiveTwo.length)
	{
		secondIndex=0;
	}
	for (var w:int = 0; w < 2 && secondIndex < massiveTwo.length; w++, secondIndex++)
	{					
		trace(secondIndex, q);
	}
}
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.

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

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

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


 


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


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