PDA

Просмотр полной версии : Программно разрушить графику?!


Штрек
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
сорри.. рар не зацепил..

F_Flash
18.02.2003, 17:20
Глянь.

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
Накидал что ты просил.

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

Код директора:
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
Так как будем разрушать?