Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Sprite с 5000 полигонами: тормоза при наведении курсора (http://www.flasher.ru/forum/showthread.php?t=107068)

DRAGOnoid 27.01.2008 12:48

может кто пример выложит того что он там шаманит?

Ajshma 28.01.2008 10:50

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

LinuxVideo 02.02.2008 00:21

> может кто пример выложит того что он там шаманит?

unstable.servebeer.com/m/
Верхний слайдер - поворот
Нижний или колесико мыши - маштаб
Можно двигаться (драг энд дроп) с зажатым шифтом

Анимацию пришлось выкинуть нафиг, пришлось много чем пожертвовать. Получилось далеко не то, чего бы хотелось. Зато рисуется в реалтайме!
Эх, как я буду добавлять надписи и оверлеи... Снимать клики... А ведь и линии надо бы поменять на кривые безье, причем cubic, а не штатные quadratic. :(

DRAGOnoid 02.02.2008 20:40

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

в общем тебе надо превратить это всё не в спрайт с кучей полигонов а спрайт с кучей объектов... и не 5000 а 50 ;)

LinuxVideo 02.02.2008 22:35

Вложений: 1
Да, можно дома убирать, эта функция уже есть, но закомментирована. Почему? А обсчет на "выбывание" тоже прилично ресурсов кушает, да и очень странно, когда что-то появляется-исчезает. Особенно при анимации зума прикольно выглядело. При общем плане надо не только убирать мелкие объекты, но и склеивать большие полигоны, полностью их пересчитывая. Быстрого алгоритма я не знаю. Можно попробовать раздуть базу, запихав в нее все уровни, но она и так 250кб, причем сейчас там объектов то практически нет, а линии - прямые. Далее, смотрим картинку. Ширина домов - пара пикселей, промежуток между ними - субпиксельный. Зато красиво и информативно. Именно из-за информативности не охота вырезать мелкие детали.

Крутить - не сложнее, оно сейчас крутит и неплохо. А хотелось бы как Google Earth, включая и 3D-наклон. Будет и GPS, и куча всего, включая интерактивные объекты. А у меня тупая проблема с отрисовкой. Как наносить текст на кривые - не представляю.


Да, ссылку просмотрело 6 человек, а отписал только один...

DRAGOnoid 03.02.2008 17:12

мне тоже интересно просто ;)
кстати я скоро сам напишу класс карт уж очень ты меня этим заинтересовал.
ещё есть советы родились.
во первых наверно не стоит рисовать линии в объектах - сам видешь когда делаешь зум по минимум.
во вторых наложить слова просто - тебе всёравно придётся сделать базу объектов иначе теряется весь смысл.. и у объекта есть свои координаты - к им и привязываешь текст...

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

посути когда мы зумим мы обращаемся к бд которая возвращает XML объектов.

ладно я думаю всёравно не понятно что я имею ввиду )

LinuxVideo 03.02.2008 19:46

> кстати я скоро сам напишу класс карт уж очень ты меня этим заинтересовал.

Я тоже думал, что это просто. Вот через OpenGL рисовать несколько проще...


> во первых наверно не стоит рисовать линии в объектах - сам видешь когда делаешь зум по минимум.

А что делать на максимальной детализации? Выглядит не слишком красиво.
Была идея динамической смены цвета/толщины, в зависимости от зума, но... Посмотрим...


> во вторых наложить слова просто - тебе всёравно придётся сделать базу объектов иначе теряется весь смысл.. и у объекта есть свои координаты - к им и привязываешь текст...

База уже есть. Координаты тоже. Проблема в отрисовке. В быстрой отрисовке.


> у тебя один класс содержит координаты, размеры и данные типа текст с описанием объекта.
> ты размещаешь на карте куччу этих объектов в соответствии параметров..

Дык у меня один спрайт сожрал кучу ресурсов, до классов пока дело не дошло...


> посути когда мы зумим мы обращаемся к бд которая возвращает XML объектов.

XML - пожиратель трафа. И зачем каждый раз лазить, если вся база весит 250кб (она сейчас вся сразу грузится)

DRAGOnoid 03.02.2008 23:41

короче попробую написать свой класс. если что новое появится сообщю...
ещё появидась идея с зумом делать объекты прозрачным. а когда прозрачность падает до 0 вообще убирать..
но это только идея попробую посмотреть как будет на практике

LinuxVideo 04.02.2008 10:16

Когда ждать? ;)


ЗЫ: Люди, которые смотрят, вы бы тоже чего отписали :)
Сегодня кто-то под Маком зашел - не тормозило?

etc 04.02.2008 10:19

Вывалилось
Код:

TypeError: Error #1010: A term is undefined and has no properties.
        at Untitled_fla::MainTimeline/redraw1()
        at Untitled_fla::MainTimeline/tryRebuild()
        at Function/http://adobe.com/AS3/2006/builtin::apply()
        at <anonymous>()
        at SetIntervalTimer/onTimer()
        at flash.utils::Timer/_timerDispatch()
        at flash.utils::Timer/tick()

Зум работает, вроде не тормозит.


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

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