![]() |
Математически описать объект
Добрый день.
на поле расположены объекты различные. Предположим все они прямоугольного типа. Есть некоторые объекты, которые состоят только из одного прямоугольника - такой объект легко описать, просто узнаем его координаты, длину, ширину. И все. Его можно потом нарисовать заново. А вот как быть со сложными объектами? КОторые состоят например из 3-4 прямоугольников, которые наложены друг на друга, и формируют например букву "П". (3и прямоугольника как видно). Вот как его описать? Координаты взяли, а как описать длину, высоту, изогнутости? Спасибо :) |
Описать по отдельности каждую часть
|
а если эти части слиты в едино? Т.е. он не состоит из отдельных movieClip, а это один целый объект.
|
Ну полигоном, например. В массив записать каждую вершину(x, y), идя в одном направлении по контуру.
Отрисовывать потом будет легко: Код AS3:
|
так.. немного не понял - а как определить эти вершины автоматически?
что это за переменная points? или ты предлагаешь, самому вписать в массив вершины? |
ну да, самому
|
грустно очень :).
порыскал по форуму, нашол тему, там обсуждалось такой же вопрос и предложили использовать bitmapData, но не описали ничего. Как с помошью битмап сделать это? Или действительно, только ручками все делать? |
Других путей нельзя найти? Откуда взялись эти странные объекты? Нельзя ли при их создании сразу дополнять их информацией о контурах?
|
Может быть есть решение и проще. По написанному условию я написал оптимальное решение. Видимо, я не совсем понял задачу, если вы напишите подробнее откуда берутся эти объекты и как они выглядят (из каких элементов состоят), затем опишите что вы хотите с ними сделать, может быть найдется другое решение.
|
объекты отрисованы вручную. Т.е. они не создаются динамически, а просто рисуются рукой. Поэтому дополнить инфой не получиться :(
значит ручками придеться. ну ладно. |
Есть значит объекты, а что с ними надо сделать?
|
я хочу их сделать 3д.
"вытянуть" вверх, ну сделать 3д вообщем. Юзаю движок Sandy 3d. простые объекты получилось сделать 3д, там просто координаты взял, длину, ширину - все данные легко получить. А вот со сложными объектами, не получается :(. |
Лучше иметь все таки объекты, описанные контурами. Тут недавно писали, что контур можно получить при помощи jsfl скрипта.
|
Нашол скриптик, изменил под себя его. :) спс всем.
вот итог. jsfl Код AS3:
что получается в файле Код:
Symbol 3|49.95, 82.5, 49.95, 43|80.45, 43, 110.95, 43|110.95, 82.5, 110.95, 122|80.45, 122, 49.95, 122 |
Вложений: 1
объекты
|
К вопросу о BitmapData....
Как-то возникала подобная задача у кого-то, только объекты могли быть разными... задача была разместить источник света и от объектов отбросить тень... В общем, если кому интересно - http://www.free-lance.ru/blogs/view....378777&ord=new |
какая-то невезуха :)
есть большая библиотека векторных объектов во флеш. Я специально для нее писал искал скрипт этот... Переделал под мою библеотку, чтоб по всей прошелся скрипт и все описал. Вот, запустил. Все супер, работает, писал. Работал день. Потом нужно было выключить комп. Завершил аварийно работу флеша. Выключил, ушол. Потом прихожу, запускаю - а он мне выдает теперь ошибку "TypeError: arrayContours has no properties" блиин :) ну что ему нужно? причем, я уже и на другом компе делаю новую флешку, запускаю скрипт - не катит :(. как карму поправить? :) Добавлено через 1 минуту докопался в чем проблема - если убрать с объектов текстовые поля - тогда скрипт нормально обработает объект. НО! у меня раньше и с текстовыми полями работало нормально. Шрифты вроде не слетали :) да и я на другой даже машине запускал заново.. все равно пишет эту ошибку :( |
Вот тут посмотри http://labs.boulevart.be/index.php/2...ection-in-as3/. Я так понял тебе нужно описать объект для рассчета коллизий.
|
Aerohd
спасибо, но немного не то :) разобрался в проблеме Код AS3:
Просто если в выделении существует еще и текстовое поле, тогда слоев selection получается больше. |
| Часовой пояс GMT +4, время: 05:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.