lwilis 27.03.2012 20:21
Я рекомендую — Программируемый 2D редактор Nodebox с Python-driven интерфейсом
Знакомимся с Nodebox
Как это, рисовать при помощи прямого программирования? Затем выяснилось, что обойтись можно чисто визуальным программированием, создавая связи между различными блоками.На приведенной картинке обратим внимание на 4 секции, составляющих рабочую среду Nodebox. Перед тем, как перейти к описанию, небольшой дисклэймер:
Редактор или среда Nodebox легко устанавливается под Mac OS X, Windows и не очень легко под Gnu/Linux. Проект Nodebox есть на гитхаб, можно ознакомиться со способом установки его под Linux. Что же внутри?
Секция Network
Сюда мы добавляем новые узлы (node), каждый узел обладает индивидуальными свойствами: создание объектов, преобразование объектов, взаимодействие одного объекта с другим etc. После добавления узла мы можем присоединить его выход ко входу другого узла. Таким образом мы создаем заготовку для нашего результата. Ничего не напоминает? Пользуясь случаем, передаю привет линуксовым пайпам.Parameters
Предназначена для задания собственных параметров каждого узла, добавленного в секции Network. Здесь следует определять цвета, координаты и другие параметры объектов.Viewer
Помогает качественно оценить текущий результат.Source
Позволяет посмотреть непосредственно программный код, не возбраняется "залезть в кишки" и напрямую изменить свойства того или иного узла.К практике
Зайдем в меню "New Node" (оно подсвечивается после создания нового проекта) и создадим узел (node) "TextPath" и в секции Parameters в форме "Text" напечатаем букву "W". То есть это такой текст, который может использоваться как Path. Объекты типа Path задают направление и ориентацию для прикрепленных к ним объектов. А прикрепим мы текст "linux", который будет содержаться в объекте типа "TextonPath". Тут можно поиграть с размерами шрифта и другими параметрами. Теперь соединим два наших узла связью
и увидим в секции Viewer что-то такое:
Когда я начал разбираться с Nodebox, то сразу предполагал поделиться своим опытом с сообществом Welinux, поэтому неудивительно, что для наполнения демки выбрано нечто, символизирующее наш ресурс.
Осваиваем объединение
По аналогии реализуем следующую цепочку:
Узел Compound служит для объединения объектов в одной логическое целое. Теперь нам осталось также объединить компаундом первую цепочку со второй целиком и в результате будет нечто такое:
Я подобрал цвет заливки и контура, задал дополнительные параметры. И вы поиграйте с ними. Это весело.
А вообще, Nodebox уже настолько крут, что с помощью него можно сделать анимацию. надо только задать параметр в виде некой формулы, а не фиксированного значения. Таким образом у нас может меняться во времени что угодно: координаты объектов, их цвета и форма. Когда я искал, где же лучше расположить текст "linux" на поверхности буквы "W", мне и пришло в голову анимировать статическую картинку:
я хз, несколько раз создавал заново пост, логинился по новой. Обрезает все равно.
Я конечно извиняюсь, но что должно было продемонстрировать видео? :)
То был коммент для сбора пиздолизов. В твоем самочувствии я и не сомневался.
я очень старался, но попробуй сам подбери годный аналог слову писдолис
проект выкладывай, балбес, не смутное видео результата, а исходник. пускай он говорит за тебя, так как лев толстой из тебя не получился.
Наверное баг.