Форум 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=131743)

polol 27.10.2009 15:01

генерация частиц не грузя процессор
 
стоит следующая задача: монитор должен "заполниться" песком, который надувает секунд за 7-10.
вопрос: есть ли смысл вообще использовать для этого эффекта flash и насколько система среднего пользователя "потянет" генерацию сотен тысяч частиц? при этом песок должен выглядеть "материально", то есть одна частица в своей основе должна иметь не вектор, а песчинку, к примеру 8x8 пикселей.

может есть технологии вроде: http://www.unitzeroone.com/blog/2009...urce-included/, которые не грузя процессор справляются с таким количеством частиц?

хотелось бы узнать мнение экспертов: реальна ли такая задача во flash?


спасибо,

Zebestov 27.10.2009 15:14

не понятно про "материальный". если речь идет о том, что после всех дел каждая частичка должна быть отдельным объектом — не знаю что посоветовать... таки изучай алхимию )
если имеется в виду "реалистичный", то здесь как нигде уместно воспользоваться методом, который стар как мир — транзишн "песок" для изображений. делался еще на заре flash и java-апплетов и думаю нагуглить его несложно. В качестве основы — опять же гугл на предмет красивой фотки песка нужного тебе размера.

polol 27.10.2009 15:28

да, "материальный" = "реалистичный". под транзишном Вы имеете ввиду разложение на пиксели? честно говоря, его природа очень "дигитальна". то есть то, как это, к примеру, происходит здесь http://www.templatemonster.com/flash...tes/16703.html с эйфелевой башней, мне кажется чересчур искусственным

Zebestov 27.10.2009 16:35

согласен с тобой полностью — в этом примере эффект какой-то... "загнанный".
но поищи еще — есть экземпляры поприличней, наверняка и с исходниками. главное суть — несложно и непрожорливо.

polol 27.10.2009 18:52

BitmapData.pixelDissolve method это называтся, да?

Psycho Tiger 27.10.2009 19:10

не грузя процессор - никак.
Вообще у флеша математика бегает достаточно шустро, основные тормоза идут из за визуального отображения объектов. Но setPixel у BitmapData работает тоже весьма и весьма быстро, поэтому можно догадаться, что математика+BitmapData с setPixel (или copyPixels, тоже быстро) позволит создать нужный эффект.
Как таковых фреймворков под это я не встречал, да и смысла не вижу. Во всех случаях изменяется лишь поведение частиц, а методы вроде setPixel больше уже никак не упростишь.

Comondante 29.06.2011 03:03

Доброго всем времени суток.
Столкнулся с аналогичной проблемой.

BitmapData+setPixel это хорошо, даже нашёл соответсвующий пример:
http://nonoba.com/chris/sand-toy

А что делать, если нужно ко всему этому привязать какой-нибудь физический енджин?
Например, падает камень, песок проминаеться под его весом и частички летят во все стороны.
Неужели всё это тоже писать с нуля ?

Поробовал смесь Box2D c Flint - всё торомозит :(

Может быть есть какой-нибудь принципиально другой способ ?

mayakwd 30.06.2011 01:57

Stardust например

Rzer 30.06.2011 02:00

11 flash player, где-то видел примеры. Грузит видеокарту.


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

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