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

alatar 27.12.2010 18:17

Цитата:

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

Добавлено через 2 минуты
GBee, такой способ годится только для таких простеньких игр. Для карты более-менее приличного размера это все будет очень весело тормозить.

mikhailk 27.12.2010 18:25

Цитата:

Кто накосячит? Это надо рассчитывать в движке при отрисовке уровня.
Накосячит - значит поставит объект за краем экрана.
Но, в общем-то, это лирика. ))

alatar 27.12.2010 18:31

Цитата:

Накосячит - значит поставит объект за краем экрана.
Ну мы же программеры. Главное подобрать нужный алгоритм:
Сходите в травматологию. Приплатите человеку с перелом рук, что бы он согласился проехаться с вами на работу. Приведите его к дизам и скажите, что так будет с каждым, кто воткнет объект в неположенное место. Не забудьте поблагодарить человека с переломом за оказанное содействие. :)

mikhailk 27.12.2010 18:33

Красиво :D

Rzer 27.12.2010 18:51

Я вот только не понимаю в чём трудность создания такого редактора?

Да и второе: AIR -> Object -> AMF -> ByteArray -> Файл. Ноу xml.

mikhailk 27.12.2010 19:24

нет, ни в чем
тем более, что я уже один раз это делал

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


насчет "no xml" - не совсем понятно, что я выигрываю
размер?
Или речь идет о сериализации карты целиком?

terbooter 27.12.2010 21:42

Только вчера как раз задумался над этим вопросом опять!
Читаю книжку Flash-Multiplayer-Virtual-Worlds.pdf
У них там ось Х смотри вправо вниз
ось Y влево вниз
Код AS3:

                private function isometric2screen(ix:int, iy:int):Point {
 
                        var sx:Number = (iy + ix) * h / 2;
                        var sy:Number = (iy - ix) * w / 2;
 
                        return new Point(sx, sy);
                }


iflamberg 27.12.2010 21:45

Это у Джоба Макара так исторически сложилось, с самой первой книги. Какая разница по большому счёту? В моём изо-движке ось z - высота.

mikhailk 28.12.2010 12:31

Кстати, вот еще вопрос в ту же тему.

Фоновые тайлы я соберу в спрайте backgroundSprite, объекты, которым требуется упорядочение по глубине - в спрайте objectsSprite. Потом мне все равно, по идее, потребуется перевести backgroundSprite в растр в целях повышения производительности. Соответственно, непосредственно тайлы как объекты я со сцены уберу, а вместе с ними уйдут и их свойства. Т.е., я не смогу ткнуть в ромбик на локации и получить от него информацию, walkable он или нет.

Как разумнее решить?
Выложить еще один слой walkable-тайлов (напр., прозрачных и в слое walkableSprite, размещенном между backgroundSprite и objectsSprite) или снимать координату с мышки и искать соответствующий тайл в массиве тайлов-объектов (на сцене их нет, но по жизни-то они есть)?

Или может быть вообще забыть о событиях на самих объектах, а всегда снимать координату мышки с экрана и искать соответствующий объект сначала среди объектов, а потом среди фоновых тайлов? В статье, ссылка на которую была выше, предлагается именно такой подход, если я правильно понял.

alatar 28.12.2010 12:48

Цитата:

Или может быть вообще забыть о событиях на самих объектах, а всегда снимать координату мышки с экрана и искать соответствующий объект сначала среди объектов, а потом среди фоновых тайлов? В статье, ссылка на которую была выше, предлагается именно такой подход, если я правильно понял.
Правильно. В принципе, объекты мира могут вообще не наследоваться от отображаемых объектов.


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

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