Toon posts:

[Flash] Progress tonen bij inladen JPEGS met loadMovie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nu al een dag aan het zoeken naar een mogelijkheid om in Flash MX iets te laten gebeuren terwijl via loadMovie("plaatje.jpg") een image wordt geladen. Ik maak hiervoor gebruik van een empty movieclip die als holder fungeert. Daarin laad ik dan dus de JPEG. Wat ik ook doe, het lijkt onmogelijk om hier een preloader voor te laten zien.

Ik heb het nu even voor de test met een button gedaan. Er staat een bewegende movieclip op de stage die preloader_mc heet.

Vervolgens heb ik er een button bijgezet met de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
on(release)  {
    preloader_mc._visible = true;
MovieClip.prototype.loadjpg = function(picName, holderName) {

// holderName can be passed in case needed for progress indicator
    // if not passed, use 'holder' as default
    var h = holderName==undefined ? "holder" : holderName;
    this.createEmptyMovieClip(h, 3);
    this._visible = false;
    this[h].loadMovie(picName);
        
    var id = setInterval(function (mc) {
setInterval( function(){ 
      _root.percloaded = Math.ceil((mc[h].getBytesLoaded() / mc[h].getBytesTotal()) * 100); 
      updateAfterEvent();
      }, 1 );
        if (mc[h].getBytesLoaded() > 1 &&                
              mc[h].getBytesLoaded() > mc[h].getBytesTotal()-10 && 
              mc[h]._width > 0) {
            mc._alpha = 99;
            clearInterval(id);
            mc._visible = true;         
            mc.onComplete();
        } else {    
            mc.onLoading();
        }
    }, 80, this);  
};

function positionIt() {
    xOffset = (600 - _level0.myjpg.holder._width) / 2; 
    yOffset = (600 - _level0.myjpg.holder._height) / 2; 
    this._x = xOffset;
    this._y = yOffset; 
    preloader.unloadMovie();
}

_root.createEmptyMovieClip("myjpg", 3);
_root.myjpg.onComplete = positionIt;

_root.myjpg.loadjpg("images/plaatje4.jpg" + image_file);
_level0.myjpg.holder._alpha=0;
_level0.myjpg.holder._visible=true;

// dit is om de foto te laten infaden. werkt prima dus
// verder niet relevant hier.

_root.code_mc.startFadeIn = true;
stop();
}


Je ziet, ik maak eerst de preloader movie visible en ga dan de code uitvoeren. Als het plaatje is geladen wordt positionIt() aangeroepen en daar wordt het preloader filmje ge-unload.
Als je nu op de button klikt verschijnt het preloader indicatie filmpje. Vervolgens gaat het STIL staan tot de foto geladen is. Waarom blijft dat kreng niet bewegen?

Wat verder ook nog opvallend is: Ik heb geprobeerd de bytesLoaded voor die jpeg te tracen op allerlei manieren. Wat je ziet is dat er de hele tijd 0 komt en dan ineens het totale aantal. Alsof er tussendoor dus "niks gebeurt".

Is er iemand die weet of het mogelijk is, op welke manier dan ook, een loadMovie te doen en iets te laten zien terwijl dat aan het laden is?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Flashspecialisten zitten in W&G.
Vandaar ook de move daarheen :)

Verwijderd

Topicstarter
Glimi schreef op 08 April 2003 @ 13:57:
Flashspecialisten zitten in W&G.
Vandaar ook de move daarheen :)
Oeps... ok dan... al denk ik dat zo'n homp code weinig met design te maken heeft maar goed ;)

Verwijderd

Topicstarter
Het is al gelukt!

  • Mike Jarod
  • Registratie: Januari 2002
  • Niet online
zet dan voor de volledigheid ff je oplossing neer ...