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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Oct 2007
Сообщений: 78
Thumbs up loadMovie- мерцание при смене

Всем привет! Долго билась над проблемой но так и не решила ее
Проблема:

Есть main.swf. В нем есть контэйнер(мувиклип) .
Есть два файла - pageMap.swf и pageGlass.swf.
Есть две кнопки:
При нажатии на первую - загружаю pageMap.swf в контэйнер (loadMovie(pageMap.swf)). При нажатии на вторую - загружаю pageGlass.swf.
Так вот когда я поочередно нажимаю кнопки, происходит мерцание между переключением на другую swf.
Т.е. такое впечатление, что сначала стирается предыдущая swf(между переключением виден фон за этими swf-ками) и потом грузится новая.

Как избавиться от этого мерцания????

Или просто подскажите как другим способом заменять одну swf в контэйнере на другую без мерцания.

Заранее благодарна за помощь.

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

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
сделайте 2 контейнера и меняйте им _visible
__________________
4am is time to rock

Старый 08.10.2007, 00:38
kia007 вне форума Посмотреть профиль Отправить личное сообщение для kia007 Найти все сообщения от kia007
  № 3  
Ответить с цитированием
kia007

Регистрация: Oct 2007
Сообщений: 78
не пойдет, это сейчас у меня две swf и соответственно две кнопки.
Потом их будет гораздо больше.
При этом нужно не только отобразить новую swf, но и выгрузить из памяти старые.

Хотя как запасной вариант годится - будет что то похожее на doubleBuffer.
Спасибо!

Но может есть варианты как использовать только один контэйнер??


Последний раз редактировалось kia007; 08.10.2007 в 00:45.
Старый 08.10.2007, 00:40
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Ну можно делать unloadMovie из старых и создавать контейнеры под новые
__________________
4am is time to rock

Старый 08.10.2007, 00:43
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 5  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
"Т.е. такое впечатление, что сначала стирается предыдущая swf"
так оно есть.
и в тот момент когда видет фон между swf-шками обычно ставить какой-нить клипчег( индикатор загрузки), который символизирует что загружается выбранный swf

Старый 08.10.2007, 01:28
kia007 вне форума Посмотреть профиль Отправить личное сообщение для kia007 Найти все сообщения от kia007
  № 6  
Ответить с цитированием
kia007

Регистрация: Oct 2007
Сообщений: 78
2DarkLight
unloadMovie похожк делается автоматически - собственно из за этого и мерцание.

2Mnilionic
А клипчег символизирующий загрузку будет в swf-ке которую я гружу в контэйнер, т.е. за загрузку контента ответственность несет не главный клип контэйнер а svf-ка которую я буду грузить в контэйнер(загрузка будет происходить очень быстро поэтому клипчег не нужен)


чувствую, что придется использовать 2 контэйнера))

Старый 08.10.2007, 16:06
kia007 вне форума Посмотреть профиль Отправить личное сообщение для kia007 Найти все сообщения от kia007
  № 7  
Ответить с цитированием
kia007

Регистрация: Oct 2007
Сообщений: 78
Вроде бы получилось сделать, в результате получился класс
PHP код:
class DoubleBuffer extends MovieClip
{
    private var 
frame1:MovieClip null;
    private var 
frame2:MovieClip null;    
    private var 
curFrame:Boolean false;    
    function 
DoubleBuffer()
    {
    }
    
    public function 
SetDoubleBuffer():Void
    
{
        
frame1 this.createEmptyMovieClip("frame1"this.getNextHighestDepth());
        
frame2 this.createEmptyMovieClip("frame2"this.getNextHighestDepth());    
    }
    
    public function 
LoadMovie(movieUrl:String):Void
    
{
        if(
curFrame)
        {
            
frame1.loadMovie(movieUrl);
            
frame1.swapDepths(1);
            
frame2.swapDepths(0);            
        }
        else
        {
            
frame2.loadMovie(movieUrl);
            
frame2.swapDepths(1);
            
frame1.swapDepths(0);            
        }
        
        
curFrame = !curFrame;
    }


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

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

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


 


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


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