Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   loadMovie- мерцание при смене (http://www.flasher.ru/forum/showthread.php?t=102030)

kia007 08.10.2007 00:01

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

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

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

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

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

DarkLight 08.10.2007 00:10

сделайте 2 контейнера и меняйте им _visible

kia007 08.10.2007 00:38

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

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

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

DarkLight 08.10.2007 00:40

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

Mnilionic 08.10.2007 00:43

"Т.е. такое впечатление, что сначала стирается предыдущая swf"
так оно есть.
и в тот момент когда видет фон между swf-шками обычно ставить какой-нить клипчег( индикатор загрузки), который символизирует что загружается выбранный swf

kia007 08.10.2007 01:28

2DarkLight
unloadMovie похожк делается автоматически - собственно из за этого и мерцание.

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


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

kia007 08.10.2007 16:06

Вроде бы получилось сделать, в результате получился класс
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, время: 20:04.

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