Просмотр полной версии : как отключить кеширование изображений в FP
Здравствуйте, появилась проблема, у меня на сцене много объектов, все они перетаскиваются, я беру один объект, начинаю таскать по сцене(идет обработка столкновений, высчитывается как объект должен "прилипнуть " к ближайшему объекту и прилипает к нему), и вот таскаю я его таскаю, и через секунд 5-10, он начинает вести себя как ластик - начинает стирать объекты, как будто он перерисовался в битмап (размером эдак 100х100), и некоторые объекты , и в некоторых объектах, которые касаются этой битмапы, пропадают внутренние спрайты. Но если стертый объект потом повернуть, внутренние объекты , которые были удалены, возвращаются на место. Что это может быть? Во флеше есть кеш графики? Плейер FP11 debug
Marlin, покажите пример и код.
Как графика вставлена? Дисплейлист или стэйдж 3д? По вашему описанию вопросов больше, чем понимая, в чем может быть проблема.
Как графика вставлена? Дисплейлист или стэйдж 3д?
все графика отрисована чарез графикс, многослойные объекты с фильтрами, все объекты в дисплейлисте.
Причем еще заметил такую закономерность, в течении секунд пяти все работает нормально, а потом толи FP что-то включает (может видя то, что он не успевает обрабатывать и графику и столкновения).
пример, к сожалению выложить не могу, кода тоже мноооого, может есть какие -нибудь предположения хотя бы.
Ну попробуйте корневым спрайтам или мувиклипам cacheAsBitmap поставить.
Скрин-то есть хоть?
допустим вот
30632
тащим квадратный объект, он вырезает прямоугольник в двух соседних объектах.
В каждом объекте - 2 основных слоя, слой с желтым объектом, и слой с красными, так вот
этот квадратный объект вырезает только красные объекты, а желтые не трогает. И если потом желтый объект повернуть , красные объекты снова появляются
Ну попробуйте корневым спрайтам или мувиклипам cacheAsBitmap поставить.
если ставлю cacheAsBitmap - главному контейнеру, то вырезаться начинают и желтые объекты тоже.
и еще вопрос, а смена версии плейера(при компиляции) может помочь в данной ситуации? сейчас компилирую под 10
ни у кого нет чтоли никаких предположений?? А можно как нибудь поиграться с настройками дебаг плейера?
Когда поворачиваю главный контейнер все объекты появляются на своих местах, значит плейер как-то кеширует объекты.. Подойдет любой костыльный вариант
опишу еше раз на всякий случай проблему:
есть три слоя (layer1, layer2, layer3), есть три кнопки (btn1,btn2,btn3), соответственно
при нажатии на кнопку допустим btn1, у layer1 - альфа устанавливается в 1, у двух других слоев в 0.2,
с другими кнопками аналогично.
в слое layer1 внутри есть два слоя : layer1.1 и layer1.2,
и при нажатии на кнопку btn 1 , и установки слою layer1 альфы = 1, из него пропадает внутренний слой - layer1.1.
затем, если повернуть оснойной контейнер, layer1.1 - появляется.
данный баг проявляется после 10 секунд после запуска флешки, и также после поворота контейнера, также спустя примерно 10 секунд, в течении этих 10 секунд все работает превосходно.
caseyryan
28.03.2014, 09:36
Подтверждаю, есть такой баг в FP. Сам сталкивался. Как обойти его нормально не нашел, но в моем случае мне помогла отрисовка его в BitmapData вместе со всеми фильтрами, и вместо самого объекта, помещал в дисплей лист Bitmap с этой BitmapData. Костыль конечно, но это работает
п.с. Я такой вариант не пробовал, но возможно поможет после перетаскивания, в обработчике отпускания мыши вызвать принудительную перерисовку экрана
function onMouseUp(e:MouseEvent):void {
e.updateAfterEvent();
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.