
28.11.2011, 00:06
|
|
блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
|
Типа всё верно, НО.
Делаем рекурсию:
Для всех объектов которые переместились смотрим соседние и при надобности меняем индексы. Некоторые поменяются некоторые не поменяются. Для тех которые поменялись снова.
(в даный момент перерисовывается только вокруг того объекта который таскается и иногда сортируется неверно)
Так перерисуется достаточно много тайлов но по-другому никак. Как вариант то вообще всю карту перерисовывать каждый раз, при маленьком размере карты это по ресурсам дешевле получится, чем аналитика что поменялось что не поменялось. И это в плане реализации самый простой вариант.
Как еще один вариант делаем размер карты большой, размер видимой области поменьше, но больше чем экран примерно на одну-две клетки, и перерисовываем всю карту но только в пределах видимой области, это что-то среднее получится между первым и вторым вариантом, и по ресурсоемкости тоже нечто среднее и универсальное. У нас сделано так.
__________________
Кто к нам с чем для чего - тот у нас того от того.
|