![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Здравствуйте, уважаемые.
В виду последних событий, мне придется основательно познакомиться с библиотекой SceneGraph, примеры которой можно найти здесь. Библиотека замечательная, и обладает неслабым потенциалом, к слову, ее используют SwingLabs и JavaFX. Гипотетически, я могу делиться своими маленькими примерчиками, открытиями и прочим, если это кому нибудь интересно. Не стал делать опрос, просто свое мнение высказывайте устно и ставя оценку этому посту. Это сообщение отредактировал(а) Platon - 10.4.2008, 15:03 |
|||
|
||||
cube |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 11.4.2007 Репутация: 1 Всего: 3 |
Очень интересно! Выкладывай!
|
|||
|
||||
Platon |
|
||||||||||||||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Окэй, ожидал чуть более живой реакции, видимо. понапрасну, надеюсь подтянутся в процессе.
Для начала вводная лекция. Обоснование выбора В начале графического пути я делал все вещи самостоятельно, это и программка Фигурки, Вырезание лобзиком, Танчики, Шахматы (все игрушки выложены на форуме) – вся графическая часть этого была выполнена собственноручно, со временем я стал задумываться, а неплохо было бы вращать композицию объектов одновременно + своя внутренняя система координат + здорово было бы если бы события на графических объектах обрабатывались как в компонентах Swing, AWT и т.д. По знакомству с QT, я знал, что там разработан замечательный framework (дожил, даже не знаю, как обзывать по-русски) The Graphics View Framework, Первая мысль была использовать Jambi, загвоздка заключается в том, что Jambi нужно или купить, или разрабатывать некоммерческие приложения + идея о pure java заставила отклонить этот вариант. При первой острой необходимости я стал искать подходящую библиотеку в конце поиска остановился на SceneGraph, удовлетворяла всем моим потребностям. Но, должен предостеречь, как это делают сами разработчики этой библиотеки, она пока сырая и в проекты ее включать опасно. Поработав немного, пока не вижу никаких причин не использовать, разве, что нашел один баг, но он незначительный. Основные понятия Сцена – полотно, на котором располагаются все графические элементы. Глобальные координаты – координаты относительно корневого компонента (сцены), чаще всего это JSGPanel Локальные координаты – координаты в своей внутренней системе представлений. SGNode
Попросту говоря, это кирпичик сцены, класс, от которого наследуются все графические компоненты сцены. SGGroup
Как раз тот удобный класс, который позволяет при изменении координат данного элемента изменить глобальные координаты всех дочерних элементов SGNode. SGTransform.Translate
Используется для динамического позиционирования графического объекта. SGTransform.Rotate
JSGPanel
Swing компонент, который встаивается в Swing приложение и отображает графическую композицию. Теперь ломовые лошадки, с которыми придется иметь много дел: SGShape, SGImage, SGText, говорят сами за себя. Соответственно: классы по работе с классами Java 2D Shape, с классами Image, с текстом. Hello world рисовать не буду. Я позволю себе начать с чуть более сложного. Интересные примеры можно найти на сайте разработчиков Приложение демонстрирует работу по обработке событий мыши, перетаскивания, поворота фигуры.
Теперь о том моменте, который я оставил на отдельный комментарий:
будет эквивалентен этому коду:
Библиотека версии 0.6 лежит здесь Это сообщение отредактировал(а) Platon - 18.4.2008, 10:52 |
||||||||||||||||||||||||
|
|||||||||||||||||||||||||
1024 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 5.12.2006 Репутация: 1 Всего: 1 |
у тебя есть что-то готовое посложней разноцветных шариков?
|
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Решил дополнить свой первый пример.
Пара скринов: ![]() ![]() Код с рапиды Это сообщение отредактировал(а) Platon - 18.4.2008, 10:42 |
|||
|
||||
Platon |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Попробуем оживить дискуссию. Подготовил еще 1 материальчик.
Использование модели данных управления фигурой. Сегодня я покаж, как можно прикрепить модель данных к фигуре, чтобы изменение ее координат отображались на табло, и чтобы их можно было устанавливать данные в поля ввода. ![]()
Весь Исходный код здесь. Это сообщение отредактировал(а) Platon - 18.4.2008, 10:48 |
||||||
|
|||||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Решил выложить пару скринов своей работы с помощью SceneGraph. В конструкторе аудитории это демонтрация манежного блока, который имеет внутренний радиус, внешний радиус (пропорция - их отношение), число рядов, число сидений в первом ряду, число сидений в последнем ряду + уже обсуждаемые координаты фигуры.
![]() ![]() ![]() Ссылка на рапиде. но архив запаролен, кто хочет иметь доступ к файлу, пишите в личку или на почту. Это сообщение отредактировал(а) Platon - 18.4.2008, 10:51 |
|||
|
||||
1024 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 5.12.2006 Репутация: 1 Всего: 1 |
никому не интересен твой небольшой опыт (как ты сам сказал). Тем более если надо какой-то пароль.
Если будет что-то работающее и интересное то выкладывать нужно 1. со скриншотами для тех кому лень скачивать 2.полностью работающее чтоб запускалость тыканием мышки т.е. со всеми библиотеками и настройками 3.исходный код (если есть) должен компиляться в какой либо распространённой IDE без ковыряния в настройках пример - мой сайт по JavaFX (ото родственный сценграфу проект) - http://molgav.nn.ru/ я не за себя спрашивал Когда будет что-то имеющее практическое значение то можешь связаться командой проекта, они у себя разместят. Это всяко лучше чем на рапидшаре выкладывать и фамилия твоя стоять везде будет. В статьях желательно больше картинок и описаний, так наглядней для читателей. Не нужно ожидать что многие начнут копаться в полотенце кода. |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Знать бы что стоящее еще сделать. С идеями проблемы :(
|
|||
|
||||
1024 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 5.12.2006 Репутация: 1 Всего: 1 |
думаю что из практичного но наглядного может быть какая-то программа использующая графики.
из непрактичного но наглядного можно взять какую-то классическую игрушку типа Tetris, морской бой, Inviders или Breakout |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Здравствуйте, уважаемые.
С вами снова я неугомонный любитель графических библиотек! По многочисленным просьбам я выполнил демо проект, опять же не такой сложный как тетрис, морской бой или еще что там, но имеет вполне хорошее практическое применение в эффектных демонстрациях. Карта мира. ![]() ![]() Возможности: можно щелкать по континентам для приближения/отдаления. Если будут желающие детально разберу и выложу исходники. Качайте архив, не смущайтесь, запускается с пары кликов (для видновозов). Это сообщение отредактировал(а) Platon - 6.5.2008, 05:53 Присоединённый файл ( Кол-во скачиваний: 50 ) ![]() |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Вижу пятнадцатерых скачавших и ниодного комментария.
Это сообщение отредактировал(а) Platon - 8.5.2008, 08:15 |
|||
|
||||
Gugle |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 9.12.2005 Репутация: нет Всего: нет |
16 скачиваний.
![]() Посмотрел твой пример. Просмотрел примеры на сайте. Интересно, красиво и еще много чего можно добавить... Комент собственно решил оставить после твоего примера с картой. В долгом ящике лежит куча проектов где можно было бы использовать такую графику. Вот только эти проекты специфичны. То что ты начал ковырять эту библиотеку это + тебе. В реале, лично я не видел ничего готового с такой графикой написаной на java. Только тестовые работы. Но хорошо что есть люди у которых есть не только желание и время разбираться с такими библиотеками, но и готовыми поделиться своим опытом. Надеюсь ты незабросишь изучение. |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Слава Богу, хоть 1 спасительный комментарий. Не заброшу в любом случае, я к этому неровно дышу и попытки делать такое предпринимаю давно.
|
|||
|
||||
Asal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 26.12.2006 Где: Минск Репутация: 3 Всего: 7 |
А я вот камушАк решил бросить в твой АгАрОд
![]() Не по злобе, а из абиды, что руки у меня растут не от туда от куда надо ![]() нифига не получилось у меня запустить твой примерчик с картой
люди научите меня, как запустить ![]() а еще лучше исходники в студию ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |