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

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

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

Регистрация: Oct 2003
Адрес: Спб
Сообщений: 27
По умолчанию Обнаружение пересечения объектов

Здравствуйте, у меня генерируется объекты на поле

Код AS3:
function addscull (e:Event)
{	
	scull_Num = scull_Num+1;
	var menuscull = new menuskullobj();
	menuscullposition_x = Math.random()*(stage.stageWidth+stage.stageWidth/4)-stage.stageWidth/8;
	menuscullposition_y = Math.random()*(stage.stageHeight+stage.stageHeight/4)-stage.stageHeight/8;
	menuscull.x = menuscullposition_x;
	menuscull.y = menuscullposition_y;
	menuscull.ymov = Math.random()*6-3;
	menuscull.xmov = Math.random()*6-3;
	titlescreen.addChildAt (menuscull,0);
	menuscull.addEventListener (Event.ENTER_FRAME, scullmove);
	if (scull_Num == 100)
	{
		menusculltimer.stop();
		//trace ("генерация закончилась");
	}
}
 
function scullmove (e:Event)
{
	var singlescull = e.currentTarget;
	singlescull.x += singlescull.xmov;
	singlescull.y += singlescull.ymov;
	if (singlescull.y > stage.stageHeight+stage.stageHeight/8)
	{
		singlescull.ymov *= -1;
	}
	if (singlescull.x > stage.stageWidth+stage.stageWidth/8)
	{
		singlescull.xmov *= -1;
	}
	if (singlescull.y < -stage.stageHeight/8)
	{
		singlescull.ymov *= -1;
	}
	if (singlescull.x < -stage.stageWidth/8)
	{
		singlescull.xmov *= -1;
	}
}
Есть ли возможность как то придать идентификатор каждому появляющемуся объекту, чтобы потом вычислить их пересечения? Я недалек в AS3, поэтому и спрашиваю.
Чтобы получилось что то вроде:
Код AS3:
scull_Num = scull_Num+1;
var menuscull[scull_Num] = new menuskullobj();
if (singlescull[this.scull_Num].hitTestObject (menuscull[scull_Num < this.scull_Num < scull_Num])
{trace("cross")}
Я понимаю, что тут ересь написана, но смысл в том, чтобы он определял hitTestObject'ом пересечения со всеми другими, кроме себя.

Заранее спасибо.

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

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

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


 


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


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