Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Простейшайя рисовалка (http://www.flasher.ru/forum/showthread.php?t=139677)

HotIceCream 07.05.2010 21:07

Простейшайя рисовалка
 
Вложений: 2
Открыл тут от нечего делать flash, перетащил на сцену Picker, и в итоге экспериментов пришел к какому то подобию рисовалки:
http://vkontakte.ru/app1834387 (не знаю, откроется или нет)
fla во вложении.
Как видно все очень убого - событие MOUSE_MOVE срабатывает почему то редко, и получаются отрывистые кружочки.
И еще не понятно как ограничить размер Sprite - вот сейчас можно закрасить весь экран=\ Может не его использовать тут?
Уважаемые форумчане, какие можете дать советы?)

Zebestov 07.05.2010 21:35

я думал и вправду редко прям. да приемлемо. просто не кружочками все это делай, а толстыми линиями =)
clear вываливает в fullscreen 0о

HotIceCream 08.05.2010 00:11

линиями... мм .. ну вот щас появилась идея как это сделать. Попробую, спасибо.
а насчет фулскрина - да, эт я тестил, только у меня почему то не работало оО =)

zurkis 08.05.2010 00:27

а сохранить то что нарисовал, можно?

HotIceCream 08.05.2010 01:10

добился неприрывных линий)

Цитата:

Сообщение от zurkis (Сообщение 906765)
а сохранить то что нарисовал, можно?

Честно сказать даже не представляю как это сделать. У спрайта нет вроде никаких методов преобразования в bitmap, да и сохранить на компьютере из web приложения вроде нельзя.

Alex Lexcuk 08.05.2010 01:42

Вложений: 1
в 10 плеере есть метод файлреференса save, фоткаете спрайт в битмап, битмап при помощи jpg енкодера преобразуете в байт-аррай для сохранения файлрефернсем.
Однако заковыка файл референс чето стал сохранять файлы без расширения, поэтому надо попросить пользователя дописать расширение ручками. Я тож сделал рисовалку, :rolleyes:но векторную, можете заценить, надо при сохранении дописать расширение swf, однако ниче хорошего не получилось, тк. большинство пользователей векторами рисовать не умеют, в основном. кроме виндовского Паинта и фотошопа ничем не рисовали и надо делать целый тутор по тому как рисовать в моем редакторе, так что обилие кнопок только пугают пользователя.
По поводу ограничения, сделайте просто маска на спрайт на котором рисуется контент или скроллрект.

HotIceCream 08.05.2010 15:18

Цитата:

Сообщение от Alex Lexcuk (Сообщение 906785)
в 10 плеере есть метод файлреференса save, фоткаете спрайт в битмап, битмап при помощи jpg енкодера преобразуете в байт-аррай для сохранения файлрефернсем.

так и сделал)

Код AS3:

private function onSave(e:MouseEvent):void
{
          var temp:BitmapData = new BitmapData(imageWidth, imageHeight);
        temp.draw(easel);
        image = new Bitmap(temp);
        var jpgimage:JPGEncoder = new JPGEncoder(100);
        var ba:ByteArray = jpgimage.encode(image.bitmapData);
        var save:FileReference = new FileReference();
        save.save(ba, "image.jpg");       
}

теперь сохраняет.

Цитата:

Сообщение от Alex Lexcuk (Сообщение 906785)
По поводу ограничения, сделайте просто маска на спрайт на котором рисуется контент или скроллрект.

Спасибо. С маской работает хорошо.

ps Распрощался с flash ide - переписал все в flash develop
http://vkontakte.ru/app1834387

to Alex Lexcuk Занятное приложение. Но все же если не тутариал, то хотя бы всплывающие названия кнопок при наведении были бы не лишними)
Как у тебя реализован карандаш? даже при очень быстрых движениях мыши - он ставит точки на одинаковом расстоянии ...

Zebestov 08.05.2010 16:13

хм... а стыки линий отрисованы точечками =)
если не ошибаюсь BlendMode.LAYER поможет. но тогда, в самом простом случае, нужно будет при смене "Жесткости" (лучше назвать "Прозрачность", бо "Жесткость" — это немного не это) заводить новый спрайт, кидать его на холст, делать ему BlendMode.LAYER и alpha соответственно жесткости. и рисовать все новые линии в нем. до следующей смены жесткости.

HotIceCream 08.05.2010 21:54

Zebestov Понял.Спасибо. Вообще думаю что лучше для каждой новой линии заводить новый Sprite - и так реализовать историю.

Zebestov 09.05.2010 00:41

ну если историю — то да. главное за памятью/быстродействием следить. ну и тоже =) стараться все-таки в процессе все спрайты в один битмап складывать, чтобы само рисование не тормозило. а историю уже подымать включением всех спрайтов до нужного — и снова отрисовкой.


Часовой пояс GMT +4, время: 19:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.