Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.03.2014, 08:00
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 1  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
По умолчанию как отключить кеширование изображений в FP

Здравствуйте, появилась проблема, у меня на сцене много объектов, все они перетаскиваются, я беру один объект, начинаю таскать по сцене(идет обработка столкновений, высчитывается как объект должен "прилипнуть " к ближайшему объекту и прилипает к нему), и вот таскаю я его таскаю, и через секунд 5-10, он начинает вести себя как ластик - начинает стирать объекты, как будто он перерисовался в битмап (размером эдак 100х100), и некоторые объекты , и в некоторых объектах, которые касаются этой битмапы, пропадают внутренние спрайты. Но если стертый объект потом повернуть, внутренние объекты , которые были удалены, возвращаются на место. Что это может быть? Во флеше есть кеш графики? Плейер FP11 debug

Старый 24.03.2014, 09:44
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Marlin, покажите пример и код.

Как графика вставлена? Дисплейлист или стэйдж 3д? По вашему описанию вопросов больше, чем понимая, в чем может быть проблема.
__________________
hauts.ru

Старый 24.03.2014, 10:12
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 3  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
Цитата:
Сообщение от Hauts Посмотреть сообщение
Как графика вставлена? Дисплейлист или стэйдж 3д?
все графика отрисована чарез графикс, многослойные объекты с фильтрами, все объекты в дисплейлисте.
Причем еще заметил такую закономерность, в течении секунд пяти все работает нормально, а потом толи FP что-то включает (может видя то, что он не успевает обрабатывать и графику и столкновения).

пример, к сожалению выложить не могу, кода тоже мноооого, может есть какие -нибудь предположения хотя бы.

Старый 24.03.2014, 10:51
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 4  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Ну попробуйте корневым спрайтам или мувиклипам cacheAsBitmap поставить.

Скрин-то есть хоть?
__________________
hauts.ru

Старый 24.03.2014, 11:25
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 5  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
допустим вот
Название: 33333333.JPG
Просмотров: 464

Размер: 18.4 Кб
тащим квадратный объект, он вырезает прямоугольник в двух соседних объектах.
В каждом объекте - 2 основных слоя, слой с желтым объектом, и слой с красными, так вот
этот квадратный объект вырезает только красные объекты, а желтые не трогает. И если потом желтый объект повернуть , красные объекты снова появляются

Цитата:
Сообщение от Hauts Посмотреть сообщение
Ну попробуйте корневым спрайтам или мувиклипам cacheAsBitmap поставить.
если ставлю cacheAsBitmap - главному контейнеру, то вырезаться начинают и желтые объекты тоже.

и еще вопрос, а смена версии плейера(при компиляции) может помочь в данной ситуации? сейчас компилирую под 10


Последний раз редактировалось Marlin; 24.03.2014 в 11:39.
Старый 28.03.2014, 08:19
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 6  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
ни у кого нет чтоли никаких предположений?? А можно как нибудь поиграться с настройками дебаг плейера?
Когда поворачиваю главный контейнер все объекты появляются на своих местах, значит плейер как-то кеширует объекты.. Подойдет любой костыльный вариант

опишу еше раз на всякий случай проблему:

есть три слоя (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 секунд все работает превосходно.


Последний раз редактировалось Marlin; 28.03.2014 в 08:37.
Старый 28.03.2014, 09:36
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Подтверждаю, есть такой баг в FP. Сам сталкивался. Как обойти его нормально не нашел, но в моем случае мне помогла отрисовка его в BitmapData вместе со всеми фильтрами, и вместо самого объекта, помещал в дисплей лист Bitmap с этой BitmapData. Костыль конечно, но это работает

п.с. Я такой вариант не пробовал, но возможно поможет после перетаскивания, в обработчике отпускания мыши вызвать принудительную перерисовку экрана
Код AS3:
function onMouseUp(e:MouseEvent):void {
   e.updateAfterEvent();
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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