![]() |
генерация частиц не грузя процессор
стоит следующая задача: монитор должен "заполниться" песком, который надувает секунд за 7-10.
вопрос: есть ли смысл вообще использовать для этого эффекта flash и насколько система среднего пользователя "потянет" генерацию сотен тысяч частиц? при этом песок должен выглядеть "материально", то есть одна частица в своей основе должна иметь не вектор, а песчинку, к примеру 8x8 пикселей. может есть технологии вроде: http://www.unitzeroone.com/blog/2009...urce-included/, которые не грузя процессор справляются с таким количеством частиц? хотелось бы узнать мнение экспертов: реальна ли такая задача во flash? спасибо, |
не понятно про "материальный". если речь идет о том, что после всех дел каждая частичка должна быть отдельным объектом — не знаю что посоветовать... таки изучай алхимию )
если имеется в виду "реалистичный", то здесь как нигде уместно воспользоваться методом, который стар как мир — транзишн "песок" для изображений. делался еще на заре flash и java-апплетов и думаю нагуглить его несложно. В качестве основы — опять же гугл на предмет красивой фотки песка нужного тебе размера. |
да, "материальный" = "реалистичный". под транзишном Вы имеете ввиду разложение на пиксели? честно говоря, его природа очень "дигитальна". то есть то, как это, к примеру, происходит здесь http://www.templatemonster.com/flash...tes/16703.html с эйфелевой башней, мне кажется чересчур искусственным
|
согласен с тобой полностью — в этом примере эффект какой-то... "загнанный".
но поищи еще — есть экземпляры поприличней, наверняка и с исходниками. главное суть — несложно и непрожорливо. |
BitmapData.pixelDissolve method это называтся, да?
|
не грузя процессор - никак.
Вообще у флеша математика бегает достаточно шустро, основные тормоза идут из за визуального отображения объектов. Но setPixel у BitmapData работает тоже весьма и весьма быстро, поэтому можно догадаться, что математика+BitmapData с setPixel (или copyPixels, тоже быстро) позволит создать нужный эффект. Как таковых фреймворков под это я не встречал, да и смысла не вижу. Во всех случаях изменяется лишь поведение частиц, а методы вроде setPixel больше уже никак не упростишь. |
Доброго всем времени суток.
Столкнулся с аналогичной проблемой. BitmapData+setPixel это хорошо, даже нашёл соответсвующий пример: http://nonoba.com/chris/sand-toy А что делать, если нужно ко всему этому привязать какой-нибудь физический енджин? Например, падает камень, песок проминаеться под его весом и частички летят во все стороны. Неужели всё это тоже писать с нуля ? Поробовал смесь Box2D c Flint - всё торомозит :( Может быть есть какой-нибудь принципиально другой способ ? |
Stardust например
|
11 flash player, где-то видел примеры. Грузит видеокарту.
|
| Часовой пояс GMT +4, время: 08:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.