![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 2
|
Привет, наверно все видели http://www.psykopaint.com/
Кто-то у нас даже делал клон psykopaint (http://flasher.ru/forum/showthread.php?p=966877), но этот человек мне не ответил. Я тоже делаю одну простую рисовалку и захотелость сделать рисование какой-нибудь кистью (png изображение), но bitmapdata.draw() вызывать слишком часто работает очень медленно. Идея по каждому mouseMove рисовать точку или линии состояющую из PNG изображения кисти и находу проводить какие-то монипуляции. Ребята, короче как сделана то Psykopaint? Я пробовал делать через PixelBender: По каждому MouseMove отдаем в PB Bitmapdata c фоном, экземпляр кисти, координаты центра кисти и масштаб кисти, а PB возвращает нам BitmapData на которой уже что-то нарисовано — получается очень медленно и с зависаниями. Возможно потому что PB необходимо туда сюда отдать битмапку всю... Какие вообще тут варианты есть? Наверняка copyPixels тут не подойдет. Экземпляр кисти меняет цвет на кажой координате учитывая цвет фона. У кого какие идеи? Я пока думаю что PB может отрисовывать прямую линию, тогда между MouseMove будет рисовать прямые линии. Но каким образом добится эффекта как в Psykopaint? Если кто-то может сделать клон Psykopaint с точки зрения работы (интерфейс и прочие шняги не нужны), нужен только код ну и простенький пример с одной кистью, то я купил бы. Очень жду ответа. |
|
|||||
|
Без примера кода никто не сможет сказать где именно у вас узкое место.
copyPixels сама по себе достаточно быстрая операция скорее всего проблема не в ней. Я представляю себе работу кисточки так: эти три шага повторять каждые 50-100мс 1. узнать траекторию курсора (+ можно интерполировать, для плавности) 2. нарисовать мазок в отдельном спрайте или битмапе 3. склеить с фоном если вы так и делаете, то просто посчитайте сколько миллисекунд занимает каждый шаг
__________________
Хороший отдых - половина работы. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 2
|
На Psykopaint кисть меняет свой вид каждый шаг, т.е. битмапка кисти учитывает данные битмапки фона. Как это делать?
Склеивать мазок с фоном это тоже затратная операция и если так делать то стирашка бы у Psykopaint не работала. Посмотрите как быстро у них работает кисть https://dl.************/u/3024809/sc...36.27%20PM.png Разве это копипиксельс? Но как тогда это делать? Если это рисование вектора на спрайте, то тоже как? |
|
|||||
|
Цитата:
Цитата:
Цитата:
__________________
Хороший отдых - половина работы. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
terpimost, картинки необходимо выкладывать на форум.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:06. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| draw , paint , perfomance , PixelBender |
|
|