![]() |
Сортировка объектов со случайным индексом.
Сразу извинюсь за столь непонятное название темы.
Для того чтобы долго не описывать что мне надо просто приведу пример. Игра Zuma, надо сделать чтобы шарики откатывались назад, когда пользователь выпустил шар и цвета шаров совпали. Дело в том, что когда я выстреливаю шаром, я добавляю его в конец массива, а визуально он может стать на любое место в цепочке. Поэтому я не могу просто пробежаться по всему массиву и сказать той части шариков, которые до разрыва - стоять на месте, а той что после - двигаться назад! Как думаете, лучше всё таки менять индекс шара в массиве на тот который по счету визуально или что-то другое можно предпринять? |
Можно хранить в каждом шарике указатели на его соседей. Это даст возможность перебирать шарики в том порядке, в котором они идут в цепочке.
|
получается вы предлагаете в шарике создать
Код AS3:
Но что делать потом, как разделить эти шары на те которые должны двигаться назад и те которые должны стоять на месте? |
А я бы не добавлял в конец массива. Или, сортировал массив шариков по другому параметру (условным координатам к примеру)
|
Я бы предложил сделать разные массивы для разных цветов пузырьков. И перебором проверять на hitTestObject() только внутри одного массива, не трогая другие цвета.
|
Цитата:
|
А если так:
- проверяете на столкновение с шарами, - анализируете положение в массиве шаров с которыми произошло столкновение, цвет там и т.д. - принимаете решение о том, что дальше происходит (убираются шарики, теснятся чтобы впустить этот...), - потом splice-ете новый шар в нужную позицию. Хотя порядок следования в массиве ведь не имеет значения, да? Имеют значение текущие координаты каждого из шаров? |
Я предлагаю примерно следующее
Код AS3:
|
Цитата:
|
| Часовой пояс GMT +4, время: 20:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.