Форум 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=142675)

tanyakora 28.07.2010 10:50

Как установить прилетевший шарик на определенное место
 
Пишу игру шарики - сверху есть массив шариков, снизу вылетает еще один, после столкновения шарики одинакового цвета исчезают. Так вот проблема в том, что если нет шариков одинакового цвета в месте столкновения, то прилетевший необходимо поставить на строго определенное место в зависимости от того, с каким шариком он столкнулся (если по касательной - справа/слева, иначе 2 положения снизу). Пыталась просчитывать в зависимости от координат центров столкнувшихся шаров, но все равно сохраняется определенная погрешность и периодически шарик становится совсем не туда, куда было бы логично его поставить. Может есть более простой способ высчитывать траекторию прилета?

Alex Lexcuk 28.07.2010 11:32

Цитата:

Сообщение от tanyakora (Сообщение 925447)
но все равно сохраняется определенная погрешность и периодически шарик становится совсем не туда, куда было бы логично его поставить. Может есть более простой способ высчитывать траекторию прилета?

Противоречие какое-то, помоему ничего не связывает условия определенная погрешность и становится совсем не туда. Алгоритм надо переработать, так что-бы нарики становились как надо с логической точки зрения, добавить условий, создать массив координат с ячейками куда должны становиться шарики, и брать координаты с этого массива.

tanyakora 28.07.2010 12:08

Возможно. Мой алгоритм состоит из великого множества условий - если центры смещены по Х, по Y, если шарик прилетел практически вертикально (именно здесь задается значение отклонения от центра стоящего шарика), также учитывается занята ячейка или нет. Вообщем, мозги уже закипели, а результат все равно какой-то кривой получается.
Получается, что более очевидного способа нет, что ж, буду продолжать в том же направлении...

mry 28.07.2010 12:13

Я так понимаю это игра типа Bubles, которая на Palm'e была. Визуально вспоминаю как она работала, так вот думаю что скорее всего в тот момент когда шарик летит, он уже должен знать куда он станет, на какие ячейки, а в момент полёта просчитывать столкновения и исчезния\не исчезания.

tanyakora 28.07.2010 12:31

Да, я думала об этом, но каким образом до столкновения можно определить необходимую ячейку?

Rzer 28.07.2010 12:52

Алгоритм простой: есть центры (точки), где шарики могут остановиться; как только шарик сталкивается с другим шариком, проходим весь массив и выбираем точку с наименьшим расстоянием от центра шарика в момент столкновения.

tanyakora 28.07.2010 13:08

Ну ничего себе, как все оказалось просто!!! Именно то, что нужно. Большое спасибо!


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

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