Просмотр полной версии : Продвинутая рисовалка, как?
hronodon
01.05.2009, 03:20
Уважаемые флешеры, давно не открывал флеша, но теперь стало это необходимо. Какова задача.
1. Написать рисовалку продвинутую. Которая не просто позволит рисовать кистью, но и добавлять ноды, соединять их и т.д. Как это все реализовать я знаю. Вопрос в следующем.
Мне нужно чтобы пользователь, открыв рисовалку, нарисовав то что необходимо, мог выложить на форум. Загвоздка в том, что нужно еще сделать так, чтобы другие пользователи могли открывать как бы этот файл, добавлять или изменять содержимое.
Мысли:
1. Сделать 1 swf файл, с панелькой. Как тока пользователь нажал на отправить, панелька прячется и swf файл выкладывается на форуме. Проблемы: Еси обновить рисовалку, старые рисунки не обновятся.
2. Все что будет изображено на рисовалке, кодировать в свой формат и потом все это дело подгружать. Проблемы: ваще непонятная идея.
3. Кодировка в png. Проблемы. Незя открыть чужую работку и переделать.
Что делать? как реализовать? подкиньте идею. Какова бы не была сложная реализация, главное чтобы все это работало. Изучу все что забыл и т.д.
Что необходимо от вас:
Подкинуть идею
Подкинуть материал для изучения для реализации затеи
Выражу огромную благодарность тому кто поможет + добавлю фамилию в строке авторов. Тулза будет работать на оч известном в будущем сайте 3д графики. Спс всем за внимание.
Если вы сами видите, что только второй вариант отвечает вашим требованиям, то зачем спрашиваете? Непонятного ничего нет - надо запоминать последовательность действий, выполненную пользователем. Например, можно запомнить все движения и клики мышью, при загрузке повторять их.
"панелька прячется и swf файл выкладывается на форуме" я аж прослезился)))
Вариант 2, безусловно. Как еще Вы сможете обеспечить редактируемость? Да никак. Ваша флэшка должна представлять из себя редактор-вьюер Ваших данных, которые можно сохранять как в xml (пример - Adobe Illustrator .AI формат), так и шифровать для уменьшения веса.
++ речь не о повторении (дешевый трюк) а о редактируемости.
hronodon
01.05.2009, 03:56
так вот, значит, мне нужно запоминать действия пользователя + кодировать в xml. Можно ли поподробнее этот объяснить?
Т.е. мне делать полностью 1 swf который будет все делать? или все же делать отдельно редактор? отдельно вьювер? еси делать отдельно все, значит необходимо знать клиент - сервер? И как лучше организовать обновляемость тулзы?
Т.е. версия 1. - будет тупо рисовать. вточности как в контакте - графити.
Потом я решу добавить редактируемость, т.е. добавлять ноды, соединять их, давать им название и т.д.
как лучше?
Добавлено через 2 минуты
п.с. вот пример запоминания, я так накидал это примерно, конечно во флеш это все будет по другому написано, я про синтаксис, но так чтобы было понятно.
class Node(inputs[],outputs[]){
name = "Default"
///bla bla bla
}
function serelise(nodeList){
foreach node in nodeList{
output += node.name.toString
/// bla bla bla
}
}
main(){
nodeList[] = new Node()
nodeList[] = new Node()
nodeList[] = new Node()
string = serelise(node)
}
string будет содержать к примеру вот такую строку
[curve1,{input1-null},{output1-rails}]-[rails,{input1-curve1,input1-curve2},{output1-null}]-[curve2,{input1-null},{output1-rails}]
Ну давайте подумаем. Прежде всего надо определить набор уникальных элементов. Допустим, это прямая, кривая, полигон и овал. У всех есть свой набор свойств - вершины (в направлении обхода), цвет обводки (линии) и цвет заливки. И прозрачность конечно. Следовательно Вам надо записывать что-то типа такого xml:
<picture id="" username="" lasteditor="" creationdate="" modifieddate="">
<line think="" color="" alpha="">
<point x="" y=""/>
<point x="" y=""/>
</line>
<poly color="" alpha="">
<line think="" color="" alpha="">
<point x="" y=""/>
<point x="" y=""/>
<point x="" y=""/>
<point x="" y=""/>
</line>
</poly>
</picture>
hronodon
01.05.2009, 13:22
оч даже интереный подход.
1. ненужен овал.
2. нужен не полигон, а нужна форма ноды, т.е. полигон, сверху и снизу маленькие полигнчики, для входа и выхода линии.
Давайте сначала организуем так сказать версию 1.0 ПРосто рисование + редактирование.
Что мы имеем. Нуэто чтобы пользователь нарисовал что нить, выложил, а потом смог отредактировать то что нарисовал
Что я думаю, может не давать возможности пользователю рисовать как графити? может предаставить ему типа выделение области, добавление текста.
Идея тулзы - наглядное объяснение нодовой системы гудини. Т.е. на форуме возник вопрос, кто то открыл тулзу, в качестве объяснения собрал блок схему для наглядности. выложил, тот кто задавал вопрос например не понял что делает определенная нода, зашел в редактор, добавил например красную окружность в то место где непонятно, либо кто то другой открыл в редакторе, изменил все ноды, т.е. по другому соединил.
К чему я это говорю, к тому что еси делать возможноть рисования как графити, то как запомнить? Еси это возможно, то конечно лучше сделать так. Т.е. нарисовал что хочешь, всякую кляксу, отправил, потом взял на редактирование, подтер что не надо, заного выложил и т.д.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.