Visualizzazione dei risultati da 1 a 5 su 5

Discussione: preload singola scena

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    7

    preload singola scena

    Ho un filmato con diverse scene.
    All'inizio di ogni scena ho inserito un preload col col seguente codice preso da flash-mx.it.
    Tutto il preload è stato inserito in un movieclip. Ogni scena ha un'istanza di questo moivie clip.

    //Assegno i valori
    car = _root.getBytesLoaded();
    tot = _root.getBytesTotal();
    larghezza = 124; //Sostituire con il valore di scalatura

    //Calcolo la percentuale di avanzamento
    perc = parseInt((car*100)/tot);

    //Inserisco nella casella di testo il totale percentuale
    progres = perc + "%";

    //Allungo la barra e la posiziono in modo fisso sull'asse X
    setProperty(barra, _xscale, (perc*larghezza)/100);
    setProperty(barra, _x, -70);
    setProperty(barra, _Y, 1);

    //Controllo lo stato di avanzamento
    if (car == tot) {
    gotoAndPlay("inizio");
    }


    Ora, se carico il filmato mi succede questo:
    la barra di caricamento non arriva fino alla fine in ogni scena, ma arriva a completare il suo "allungamento" solo nell'ultima scena.
    Forse perchè le variabili car e tot sono impostate con _root?

  2. #2
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    es.:
    ifFrameLoaded ("Scene 1", 1) {
    //azioni;
    }



    tiger
    figlio perso e MAI ritrovato....?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    7
    ifFrameLoaded è obsoleto in Flash MX, come si fa impostare il caricamento sulla singola scena col nuovo linguaggio actionscript?

  4. #4
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Ciao,

    dev'esserci qualcosa che ti sfugge nell'uso delle scene; altro non sono che un semplice prolungamento della timeline principale del filmato in cui stai lavorando. Si usano soltanto per comodità di "lettura" del tuo stesso progetto durante la costruzione.

    Mi sembra ovvio che il preloader ti carichi tutto-tutto, proprio perché si riferisce ad un filmato che, anche se contenesse 100 scene, non potrebbe NON vederle, sempre e cmq, come un unico filmato.

    Mettere un preloader in una scena secondaria non serve a nulla, in quanto, già dall'inizio, viene conteggiato sia il suo frame che i Bytes totali. ===>" tot = _root.getBytesTotal(); "

    Per avere un filmato principale leggero, usiamo una sola scena e carichiamo il contenuto che tu hai ora nelle altre, come file esterni, ognuno munito del suo preloader. Sarà tutto funzionante ma soprattutto più scattante (si caricherà più in fretta).

    Si potrebbe anche fare come tu dici ma allora il calcolo andrebbe fatto sul numero dei frame; ecco il consiglio sibillino ma utilissimo che ti ha dato tigerjack.

    Metodi troppo macchinosi portano a istruzioni obsolete.

    Cmq... degustibus...


    Ciao,

    NAP
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  5. #5
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    Originariamente inviato da xxxmac
    ifFrameLoaded è obsoleto in Flash MX, come si fa impostare il caricamento sulla singola scena col nuovo linguaggio actionscript?
    ma infatti è una soluzione veloce...

    Inoltre come ti segnala il NAP, le scene servono esclusivamente per un motivo organizzativo... una volta esportato il filmato... è tutta un unica TIMELINE.

    Il tuo problema lo risolvi facendo un REPORT frame per frame dei KiloByte e quindi fissi tot = _root.getBytesTotal(); pari a quella quantità che ti viene fuori (appunto) dal report a quel numero preciso di fotogramma dove finisce la "prima scena".



    tiger
    figlio perso e MAI ritrovato....?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.