![]() |
Проблема с массивом изометрии
Вложений: 1
Всем привет!
Друзья! Столкнулся с проблемой следующего хорактера. Создал изометрическое поле, которое рисуется сверху-вниз, слева-направо. Вот как она выглядит сейчас: Вложение 28328 Так вот, я пытаюсь создать массив проходимости для данной изометрии и ничего не получается. Подскажить каким алгоритмом можно создать массив для изометрии, что бы этот массив хранил всебе данное состояние каждого тайдла изометрии. |
Может быть есть у кого нибудь какие мысли как создать массив? Я в тупике.
|
razerw, на форуме не надо "апать тему".
|
Как создавать массив написано в документации. Вообще-то хватит одномерного. Если нужен "двумерный", то создать массив массивов, в гугле по "as3 двумерный массив" всё находится.
|
массив то я создал.
только когжд я нажимаю на таидл мышкой у меня совсем не те тайдлы изменяются |
Цитата:
|
:D действительно.
Зачем нам картинка, если нужен код? Код на бочку! |
создана изометрия. хотя изометрией это сложно назвать.
тупо выставляются тайдлы в цикле. Это относительно графике, а я хочу под эту карту проходимости создать массив. тоесть я щелкаю по тайдлу и он становится не зеленым а красным. Вдальнейшем этот массив будет картой проходимости. вот мой код который создаем массив. Код AS3:
|
2560000 тайлов? удачи.
|
Я и прошу помощи как корректно построить массив карты проходимости для изометрии
|
Цитата:
|
мне эта библиотека не нравится.
Неужели ни кто не создавал макссив под изометрию? |
Ну вон сам же сделал массив. Но ведь проблема почему-то не та совсем оказалась.
Зачем про массив спрашиваешь, как поможет массив? Ну можно битмапу сделать, памяти поменьше жрать будет, но тыки оно от этого определять не научится. |
Вложений: 3
битмапу я уже сделал.
а не многоли у меня в массиве записей? 250000000 потом когда буду считать карту проходимости допустим для 5 объектов, аппонент запипикается ждать с каждого прохода по массиву по 15 секунд. я нажимаю на координаты 0, 0 потом 0,1 потом 0,2 потом 0,3 потом 0,4. Вот как отображаются тайдлы на изометрии. Вложение 28331 теперь нажимаю на координаты 1,1 пото 1,2 потом 1,3 потом 1,4 вона как отображается Вложение 28330 |
Я, если честно, не понимаю сути проблемы.
|
Как сделать так что бы при на жатии на тайдл именно он менял сое состояние а не другой.
И мне кажется уменя слишком большой массив |
Класс в руки.
Экземпляры класса ведут себя одинаково, если их не дополнить. |
Ну это зависит от косяков в коде, что двигается другой. Как так? В каком смысле двигается другой? Если на 1 больше чем надо(например не 1-й а второй при нажатии), то косяк в присваивании значений, какие-бы они ни были (я в построении изометрических карт не разбираюсь).
Koopa правильно говорит, сделать класс "тайл карты" к примеру и создать этих экземпларов на всю карту. Естественно, при нажатии на класс он же и изменится, тут косяков не будет. |
у меня массив сума сойдет ) когда я в нем буду искать карту проходимости)
|
Ну массив нужен, чтобы сохранять ссылки на каждый элемент.
А вот в классы добавлять dispatchEvent к примеру, который и пишет "steppedOnMe". К каждому элементу привязать при создании addEventListener, прослушивающий "steppedOnMe" и вытаскивающий из currentTarget к примеру созданную паблик переменную "isObstacle"(является ли препятствием). Это в тему если делать для игры, что можно пройти а что нет. Не знаю насчет производительности, но теперь никакого пересчета массива при нажатии. Лишь одно событие от одного тайла-класса. Если я все так понял. |
| Часовой пояс GMT +4, время: 06:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.