Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Программно разрушить графику?! (http://www.flasher.ru/forum/showthread.php?t=43039)

Штрек 16.02.2003 18:19

Программно разрушить графику?!
 
Как программно разрушить графический объект???
Есть варианты???
Заранее благодарен.

F_Flash 16.02.2003 20:07

Смотря как ты его хочешь разрушить.

Масками можно сделать практически все.

Michl 17.02.2003 03:43

Ну это смотря какой графический объект, если очень большой - то тротил/гексоген рулит


Servus!

Fanatik 17.02.2003 10:40

а пластид лучше крепится :)

Штрек 18.02.2003 16:34

Обычный прямоульник или линию, а лучше любое выделение.
Маски это хорошо - я спрашиваю про программное разрушение - типа выделение каким то боком превратить в массив/задать как нить размер клетки- элемента/, а потом элементы этого массива раскидать куда попало/а может и куда надо - по какой нить траектории/.

F_Flash 18.02.2003 16:50

Ну нет проблем.
Ща исходник положу.

mediaman 18.02.2003 17:18

лежало под рукой, дарю, пользуйся :) - код внутри, только тут изо собирается, но не сложно сделать в обратку.

Успехов

mediaman 18.02.2003 17:20

Вложений: 1
сорри.. рар не зацепил..

F_Flash 18.02.2003 17:20

Вложений: 1
Глянь.

F_Flash 18.02.2003 18:47

2 mediaman - идея понравилась. Причем что классно, что тормозов при таком количестве мувиков нет.

Штрек 18.02.2003 19:07

Спасибо!
Именно то, что мне надо.

Штрек 18.02.2003 19:32

F_Flash - как бы сделать, что бы граница между квадратами не просматривалась?/чуть видно - но видно/.

Штрек 18.02.2003 19:35

F_Flash -
Надо бы p_h сделать = 190.
Так веселее! :D

Штрек 18.02.2003 19:50

mediaman - извини, не догнал - код внутри - это где?
В swf.?
Кинул бы fla.

F_Flash 18.02.2003 19:55

Границу, ну увеличь чуть квадраты. Это не точность дробных координат.

Штрек 18.02.2003 20:08

F_Flash - давай разберёмся.
Почему то в некоторых местах граница не видна, а где то видна. Что бы это значило?

Штрек 18.02.2003 20:50

Я сделал картинку - 200х200, а квадрат 10х10.
Сначала не получилось, а потом понял - надо установить мувик, с которого дублимся точно в угол картинки.
Границы практ.пропали - остал две, три.
Тут ещё другая пробла - при маленьк.квадрате всё очень
тормозно получается/скор. сделал - 120 и всё равно медленно собирается/.Вот если бы вычислять коорд. уже появившихся дубликатов и обрезать дублирование на них - тогда например
400 масок собиралось бы за 400/120 сек. Как это сделать - я не врублюсь.
mediaman - куда то пропал, мож ты/ F_Flash/ подскажешь, что у него там с кодом?

F_Flash 18.02.2003 20:57

Ну антиалиасинг срабатываетает.
Я ж говорю чуть чуть наложи квадраты друг на друга.
Symbol3->Frame2->actionScript

измени на
duplicateMovieClip ("puzle", "puzle" add i, i);
j=random(total-i+1);
anti=0.99;
eval("puzle" add i)._x = m_x[j]*m_w*anti+puzle._x;
eval("puzle" add i)._y = m_y[j]*m_h*anti+puzle._y;
eval("puzle" add i).pict._x = -m_x[j]*m_w;
eval("puzle" add i).pict._y = -m_y[j]*m_h;
m_x[j]=m_x[total-i+1];
m_y[j]=m_y[total-i+1];
i++;

если anti сделать больше единицы по появится явная сетка.

Штрек 18.02.2003 21:03

Супер!!!!!!!
Сделал квадрат - 10.1. - с границами OK - чистенько, как в бане.
Ещё бы со скоростью разобраться.

F_Flash 18.02.2003 21:10

Код можно просмотреть ASviewer - ом тулза такая есть.

А вообще там оч простой скрипт, нафик тебе код?И так все ясно.

Единственная трудность заключается в том как загнать туда растр.

Я бы делал так. Открыл растр в фотожопе, преобразовал в размер например 100 на 100 пикселей, преобразовал бы в GraySclae далее, сохранил бы в bmp,
2. далее, вообще все просто , на любом доступном тебе языке, шоб сильно не париться с форматом, лучше взать какой-нить язык высокого уровня ( С визуальной средой разработки) типа Delphi, VB, или Visual Cpp. Нафигарил бы не большой скриптик.

Который бы преобразовал бы трою картинку в последовательность байт, а лучше символов c определенной градацией яркости.
Например 4-х уровневая градация.
a-белый
b-серый
с- темно серый.
d- черный.


Вывел все это в текстовичек либо на консоль.

Закнал бы в стринг флеша.

Зная количество пикселей по горизонтали и по вертикали.ъ

Ты из стринга сможешь воспроизвести изображение.

А как именно (анимация изображения) это уже дело фантазии флешера.

Штрек 18.02.2003 21:16

Я ж не программёр - я только учусь.
Кинул бы mediaman исходник что ли?.
Если swf. есть значит и fla. где то завалялся.

F_Flash 18.02.2003 23:56

Вложений: 1
Накидал что ты просил.

Массив составлял из директора.

Код директора:
on exitFrame me
memb=member("picture")
img=memb.image
m=[]
put (memb.width & " " & memb.height)
repeat with i=0 to memb.height-1
repeat with j=0 to memb.width-1
pixel=img.getPixel(j,i,#integer)
m.add(pixel)
end repeat
end repeat
put m
end

Штрек 19.02.2003 00:23

С кодом более менее ясно, а вот с массивом?
Чуть подробней растолкуй пожалуйста.

mediaman 19.02.2003 10:39

2 Штрек: Код кнчно кину, токо из дому заберу, завтра, а щас пока могу на e-meil подкинуть прогу (200кил) которая тебе картинку приготовит в АСКИ

2 F-Flash: да , мне тоже муля понравилась :), я ее увидел у наших (русских) flash-guru из Нью-Йорка

F_Flash 19.02.2003 13:07

Ну массив не обязательно брать, лучче стринг использовать, я взял массив, чтоб не думать, просто Director мне его сразу выдал, я его загнал во Flash. Код директороа привел выше. Тока изображение должно быть GreyScale(градации серого)

А что тебе с ним не понятно? Кстати советую использовать готовую тулзу которая перегоняет в анси код, о которой говорит mediaman. Просто лень было самому ее писать.

derhab 19.02.2003 14:01

mediaman, и мне если можно, эту прогу на мыло derhab48@hotmail.com

Штрек 20.02.2003 00:08

mediaman - куда пропал?
Ждём с нетерпением.
И вообще мы свалили от вопроса куда то в сторону.
Я спрашивал, как РАЗРУШИТЬ, а не как СОЗДАТЬ
графику. Ломать - не строить.
Пример - заставка на Flasher.ru - там распыляется надпись.
Так возможно сделать и с другой графикой???!!!.
Заранее благодарен.

mediaman 20.02.2003 09:39

мыло свое давай да 8)

Штрек 20.02.2003 16:54

Я тебе через форум мыло отправил вчера.
Выставлю и здесь - shtr58@mail.sochi.ru
Так как будем разрушать?


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

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