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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.11.2008, 23:53
Slayer333 вне форума Посмотреть профиль Отправить личное сообщение для Slayer333 Найти все сообщения от Slayer333
  № 1  
Ответить с цитированием
Slayer333
[+2 06.05.08]

Регистрация: Nov 2007
Сообщений: 24
Cool Работа с массивами

Я создал массив из хотически разбросанных мувиков "ball". И хочу найти любые пересечения этих мувиков. То есть мне нужно перебрать все элементы массива, сравнивая их между собой. В коде что-то неправильно.
Код:
var n:Number = 0;
var radius = 15;
var mol:Array = [];
for ( i = 0; i<4; i++) {
		mol[i]= attachMovie("ball", "ball"+n, n++);
		mol[i]._x = 200*Math.random();	
		mol[i]._y = 200*Math.random();
		t1=mol[i]._x
		t=mol[i-1]._x
		r1=mol[i]._y
		r=mol[i-1]._y
		rast1=Math.abs(t1-t)
		trace(rast1)
		trace(rast2)
		rast2=Math.abs(r1-r)
				if(rast1<30 and rast2<30) {trace(radius)} 
		}

Старый 01.11.2008, 23:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Для оформления своего кода надо использовать теги [code][/code].
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.11.2008, 05:28
RAlfDog вне форума Посмотреть профиль Отправить личное сообщение для RAlfDog Найти все сообщения от RAlfDog
  № 3  
Ответить с цитированием
RAlfDog
 
Аватар для RAlfDog

Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
Какие значения по вашему должны принимать вот эти переменные, при i=0
Код:
t=mol[i-1]._x
r=mol[i-1]._y
И как вы рассчитываете просмотреть значение вот этой переменной, до её вычисления
Код:
trace(rast2)
rast2=Math.abs(r1-r)

Старый 02.11.2008, 13:07
Slayer333 вне форума Посмотреть профиль Отправить личное сообщение для Slayer333 Найти все сообщения от Slayer333
  № 4  
Ответить с цитированием
Slayer333
[+2 06.05.08]

Регистрация: Nov 2007
Сообщений: 24
Ralfdog я понимаю что значения при i=0 будут undefined. Но я же поэтому и спрашиваю, каким образом можно сравнить каждый элемент массива с остальными, просто я, то этого не понимаю.

Старый 02.11.2008, 13:20
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
var n:Number = 0;
var radius:Number = 15;
var mol:Array = [];
for (var i:Number = 0; i < 4; i++) {
	var mc:MovieClip = attachMovie ("ball", "ball" + n, n++);
	mc._x = 200 * Math.random ();
	mc._y = 200 * Math.random ();
	mol.push (mc);
	if (i > 0) {
		for (var j:Number = 0; j < i; j++) {
			var x:Number = mol[j]._x;
			var y:Number = mol[j]._y;
			var dx:Number = mc._x - x;
			var dy:Number = mc._y - y;
			var dist:Number = Math.sqrt (dx * dx + dy * dy);
			if (dist < radius * 2) {
				trace (dist);
			}
		}
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.11.2008, 14:44
Slayer333 вне форума Посмотреть профиль Отправить личное сообщение для Slayer333 Найти все сообщения от Slayer333
  № 6  
Ответить с цитированием
Slayer333
[+2 06.05.08]

Регистрация: Nov 2007
Сообщений: 24
Спасибо iNils! Код работает, буду разбиратся!

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

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

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


 


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


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