Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Script malfunzionante

  1. #1

    Script malfunzionante

    Sarà che ci sono dietro da tutta mattina, ma non capisco perchè questo script non funziona minimamente!

    codice:
    _root.createEmptyMovieClip("img", 20);
    onEnterFrame = function(){
    	if(_global.nome==""){
    		_root.img._visible=false;}
    	else{
    		_root.img._visible=true;
    		percorso="icona/";
    		if(_global.lingua=="eng"){ percorso+"eng/"; }
    		percorso=percorso+_global.nome+".png";
    		_root.img.loadMovie(percorso);
    		a=setInterval(loading, 50, _root.img); }
    }
    
    function loading(clip){
    car = clip.getBytesLoaded();
    tot = clip.getBytesTotal();
    if(car == tot && tot>100){
    	if(clip._width>0 && clip._height>0){
    		clearInterval(a);
    		larghezza=clip._width;
    		altezza=clip._height;
    		clip._x=(1024/2)-(larghezza/2);
    		clip._y=690;}}
    }
    Praticamente questo script crea una movieclip, a cui viene caricata un'immagine.
    La larghezza, la lunghezza e le coordinate risultano giuste (ho usato il trace) ma l'immagine non viene vista!
    Ho provato anche con un'altra immagine, che funziona in un altro script, ma niente...
    Il percorso è giusto, e l'immagine la carica...

    Perchè non si vede??

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    perchè hai messo le azioni in un enterFrame e di conseguenza richiami in continuazione il loadMovie e il caricamento

  3. #3
    Umh... la tua logica ha un senso... ^^;;
    Però questo script deve ricaricare di continuo, perchè le informazioni devono cambiare in base alle sezioni...
    Hai un'idea di come possa fare, senza fare continuamente il loadMovie?

    Cioè, c'è un modo per verificare, dentro l'enterframe, se il _global.name è cambiato o meno?
    In modo che, se è cambiato, fa il loadMovie, altrimenti lo salta (perchè ha già caricato quello che serve)

    Spero di essermi spiegato bene...

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    puoi valorizzare un'altra variabile con il valore "precedente" di _global.nome (lo fai poco prima di assegnare il nuovo valore a _global.nome) e poi aggiungere una verifica nel tuo codice

    codice:
    onEnterFrame = function(){
    	if(_global.nome==""){
    		_root.img._visible=false;
    	} else if (_global.nome == _global.sezione_precedente) {
    		return false;
    	} else{
    		_root.img._visible=true;
    		percorso="icona/";
    		if(_global.lingua=="eng"){ percorso+"eng/"; }
    		percorso=percorso+_global.nome+".png";
    		_root.img.loadMovie(percorso);
    		a=setInterval(loading, 50, _root.img); }
    }
    ho scritto un tantino a caso perchè non conosco il codice e non mi sono soffermato a comprenderlo... ma spero che sia chiaro il concetto di quanto ti ho scritto

  5. #5
    Ho preso in prestito la tua idea, And80... D'altronde era anche la più semplice, non so come ho fatto a non pensarci...

    Comunque, visto che i pulsanti erano tanti, ho adottato una variante:

    attuale=" ";
    onEnterFrame = function(){
    if(_global.nome!=attuale){
    attuale=_global.nome;
    carica(); }
    }

    Carica contiene la funzione che, appunto, carica il file esterno. In questo modo, solo quando cambia il nome si attiva il loadMovie...

    Grazie per l'ottimo assist ^^

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.