![]() |
|
||||||||||
|
|
|
|||||
|
Здравствуйте, работая над одной вещью, столкнулся с проблемой. Буду говорить обобщенно. Есть спрайт - контейнер. В нем несколько слоев по очереди - битмап картинка; слой с разными мувиклипами. Эти разные мувиклипы могут содержать битмапы, векторную графику... это не важно. Контейнер имеет размеры 7000х7000. Руководствуясь соображениями производительности - присваиваю контейнеру свойство scrollRect с размерами, соответствующими размерам сцены. К моему удивлению, в контейнере я вижу разные полоски и квадратики (кроме прочего содержимого). Не буду выкладывать скрины - просто представьте себе искажения в телевизоре, какой-то похожий эффект. Вопрос: откуда?
![]() Что я делаю: присваиваю свойству cacheAsBitmap контейнера значение true. Теперь все отображается без квадратиков, зигзагов и разноцветных линий, короче - без помех. Но! Я ведь помню, что Adobe гласит, что cacheAsBitmap в некоторых случаях это зло. А у меня как раз именно тот случай. В контейнере муиклипы двигаются, изменяются, телепортируются и т.д. Так что 30 раз/сек кешировать контейнер - не гуд. Тогда есть только один выход: не использовать scrollRect. Но теперь встал вопрос: помогает ли он в случае с некешированным 7000х7000, или нет? Решил обратится к докам. Перечитал по несколько раз: http://help.adobe.com/ru_RU/FlashPla...tml#scrollRect http://help.adobe.com/ru_RU/as3/dev/...0204-7e17.html С картинками все понятно - пиксели вне квадрата не отображаются, экономит производительность, все бысто-круто - америка голые бабы. Но нигде не нашел упоминания: как scrollRect работает с некешированными обьектами. Будет ли изображение мувиков, которые находится вне квадрата как-то обрабатываться? Если будет, то scrollRect нам здесь не поможет повысить производительность. Если же эти обьекты "заморозятся" то тогда scrollRect - это хорошо. Но мы не можем его использовать, потому что без cacheAsBitmap появляются искажения, а с cacheAsBitmap приложение будет еще боьше тормозить, через частое обновление подложки. Вот такая вот дилема. Что посоветуете товарищи? Или, может, обьясните откуда эти искажения появляются и как их устранить. А, может, обьясните как работает scrollRect с обьектами вне его границ. И выяснится, что он подходит только для битмап, а для изменяющихся 30 р/с мувиклипов в контейнере 7000х7000 он мне вообще не поможет? Спасибо заранее за помощь.
__________________
Я мало чего умею, но зато хорошо умею учиться... Последний раз редактировалось HardCoder; 28.01.2012 в 14:02. |
|
|||||
|
Это очень сложно реализовать, так как контейнер можно перемещать мышью. И при каждом mouseMove вычислять какие обьекты должны быть видны, а какие нет и соответственно добавлять и удалять их из контейнера... Это сложновато, и для меня и для флешплеера, наверно.
__________________
Я мало чего умею, но зато хорошо умею учиться... |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|