Показать сообщение отдельно
Старый 11.06.2013, 13:55
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 1  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
По умолчанию добавление объекта в координаты не содержащие другой объект

Есть задача - расставить объекты на сцене так, чтобы ни один объект не налезал, не закрывал собой, другой объект. Я вроде начал писать решение и тут же застопорился. Помогите пожалуйста, подскажите как быть?
Вот, что надумал я:

Код AS3:
for (var i:int = 0; i < animalsCount; i++)
{
	animal = new Animal(nowAnimals.pop(), i);
	animal.addEventListener(AnimalEvents.ANIMAL_CHECKED, check);
	animal.addEventListener(AnimalEvents.ANIMAL_REMOVED, remCLS);
	animals.push(animal);
	addChild(animal);
	locateAnimals(animal);
}
 
private function locateAnimals(anim:Animal):void
{
 
	if (animals.length == 0)
	{
		anim.x = int( 75 + ( Math.random() * ( 600 - 75 + 1 ) ));
		anim.y = int( 75 + ( Math.random() * ( 600 - 75 + 1 ) ));
		return;
	}
	var X:int = int( 75 + ( Math.random() * ( 600 - 75 + 1 ) ));
	var Y:int = int( 75 + ( Math.random() * ( 600 - 75 + 1 ) ));
	anim.x = X;
	anim.y = Y;
	for (var i:int = 0; i < animals.length; i++)
	{
		var obj:Animal = animals[i] as Animal;
		if (anim.hitTestObject(obj))
		{
 
		}else {
			anim.x = X;
			anim.y = Y;
		}
	}
}
__________________
Не стыдно спросить, стыдно не знать !