![]() |
Нужен совет про рисовалку. Это даже заказ :)
Привет, наверно все видели 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. склеить с фоном если вы так и делаете, то просто посчитайте сколько миллисекунд занимает каждый шаг |
На Psykopaint кисть меняет свой вид каждый шаг, т.е. битмапка кисти учитывает данные битмапки фона. Как это делать?
Склеивать мазок с фоном это тоже затратная операция и если так делать то стирашка бы у Psykopaint не работала. Посмотрите как быстро у них работает кисть https://dl.************/u/3024809/sc...36.27%20PM.png Разве это копипиксельс? Но как тогда это делать? Если это рисование вектора на спрайте, то тоже как? |
copyPixels - довольно быстрая процедура
|
Цитата:
Цитата:
Цитата:
|
terpimost, картинки необходимо выкладывать на форум.
|
Забыл спросить, какой бюджет? :~)
|
| Часовой пояс GMT +4, время: 06:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.