Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   добавление объекта в координаты не содержащие другой объект (http://www.flasher.ru/forum/showthread.php?t=201100)

mihael_p 11.06.2013 13:55

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

Код 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;
                }
        }
}


GBee 11.06.2013 15:39

Где то вроде в блогах забивали круг кружками без пересечений случайно.

mihael_p 11.06.2013 16:54

Хм... что то я не могу найти, по крайней мере поиск не выдал темы где говорилось бы об этом:(

GBee 11.06.2013 17:21

http://www.flasher.ru/forum/blog.php?b=613 Помню же, что Дарк писал.

mihael_p 11.06.2013 18:09

А кроме спирали варианты есть?

Hauts 11.06.2013 18:27

Если animal хорошо вписывается в окружность, можно очень легко решить.

mihael_p 11.06.2013 18:48

Плохо вписывается, там размеры от: 30 * 60 до 80 * 125 разбросаны.

maincode 11.06.2013 20:10

Покажите как выглядит Animals(контур) ?

mihael_p 11.06.2013 22:07

Цитата:

Сообщение от maincode (Сообщение 1137624)
Покажите как выглядит Animals(контур) ?

Простите, а зачем? Какая разница, что позиционировать, главное, чтобы результат был нужным.

Wolsh 11.06.2013 23:33

Вложений: 1
Цитата:

Какая разница, что позиционировать
Может, такая? Не все же мыслят только квадратами.
Вложение 29685


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

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