Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    attachMovie maledetto...

    Buongiorno a tutti: ho un problemone...
    ho un menù dinamico generato con attachMovie che prende i valori da un file .xml esterno.
    Posto il codice:
    codice:
    System.useCodepage = true
    mioxml=new XML();
    mioxml.ignoreWhite = true;
    mioxml.onLoad = function(success){
    mioxml.load("notizie.xml");
    var nodes = this.firstChild.childNodes;
    for(var i = 0; i < nodes.length; i++){
    			this.attachMovie("luigino", "link"+i, i)
    		this["link"+i]._y = i==0 ? 91 : this["link"+(i-1)]._y + this["link"+(i-1)]._height + 2
    		this["link"+i]._x = 2
    		this.loadMovie["link"+i]
    			}
    }
    Il fatto è che DENTRO l'evento "mioxml.onLoad" l'attachMovie NON VUOL SAPERNE DI FUNZIONARE...
    e se lo sposto fuori perde i parametri dell'XML...

    come posso fare?? Sono disperato e non ho tempo...
    aiut...

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: attachMovie maledetto...

    diciamo che il codice ha più di un errore, comunque quello principale è che usi il this dentro onLoad, e questo invece di riferirsi a _root o ad un clip, si riferisce all'oggetto XML, quindi devi cambiare il percorso in attachMovie e di conseguenza negli altri richiami, poi altri errori

    - mioxml.load ecc... deve andare fuori da onLoad, sennò non te lo caricherà mai
    - this.loadMovie["link"+i] non vuol dire nulla, la sintassi di loadMovie non è questa
    - devi mettere le azioni di onLoad dentro un if(success) altrimenti potrebbe non funzionare se il file xml ha problemi

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Ho cominciato a sistemare gli errori, ma ancora non ci siamo: scusa ma per me è molto importante.
    Non riesco a capire come devo cambiare il percorso dell'attachMovie...

    codice:
    System.useCodepage = true
    mioxml=new XML();
    mioxml.ignoreWhite = true;
    mioxml.onLoad = function(success){
    	if(success){
    var nodes = this.firstChild.childNodes;
    for(var i = 0; i < nodes.length; i++){
    			this.attachMovie("luigino", "link"+i, i)
    		this["link"+i]._y = i==0 ? 91 : this["link"+(i-1)]._y + this["link"+(i-1)]._height + 2
    		this["link"+i]._x = 2
    		this.loadMovie("link"+i);
    			}
    	}
    }
    mioxml.load("notizie.xml");
    :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    per esempio, se provo a fare:

    codice:
    			_root.attachMovie("luigino", "link"+i, i)
    		_root["link"+i]._y = i==0 ? 91 : this["link"+(i-1)]._y + this["link"+(i-1)]._height + 2
    		_root["link"+i]._x = 2
    		loadMovie("link"+i,"_root");
    non funziona comunque...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Così invece funzionerebbe:

    codice:
    System.useCodepage = true
    mioxml=new XML();
    mioxml.ignoreWhite = true;
    mioxml.onLoad = function(success){
    	if(success){
    var nodes = this.firstChild.childNodes;
    for(var i = 0; i < nodes.length; i++){
    	_root.attachMovie("luigi", "link"+i, i)
    		_root["link"+i]._y = i==0 ? 251 : this["link"+(i-1)]._y + this["link"+(i-1)]._height + 2
    		_root["link"+i]._x = 65
    		loadMovie["link"+i];
    
    			}
    	}
    }
    mioxml.load("xml/rolling.xml");
    ma mi hai detto che la sintassi del loadMovie è sbagliata...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    così è più giusto?

    codice:
    System.useCodepage = true
    mioxml=new XML();
    mioxml.ignoreWhite = true;
    mioxml.onLoad = function(success){
    	if(success){
    var nodes = this.firstChild.childNodes;
    for(var i = 0; i < nodes.length; i++){
    	_root.attachMovie("luigi", "link"+i, i)
    		_root["link"+i]._y = i==0 ? 251 : this["link"+(i-1)]._y + this["link"+(i-1)]._height + 2
    		_root["link"+i]._x = 65
    		loadMovie("link"+i,"this");
    			}
    	}
    }
    mioxml.load("xml/stones.xml");

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    così è più corretto, ma il loadMovie ha ancora quel piccolo punto interrogativo, da dove proviene il nome dei file da caricare?
    codice:
    System.useCodepage = true
    mioxml=new XML();
    mioxml.ignoreWhite = true;
    mioxml.path = this;
    mioxml.onLoad = function(success){
    	if(success){
    var nodes = this.firstChild.childNodes;
    for(var i = 0; i < nodes.length; i++){
    	this.path.attachMovie("luigi", "link"+i, i)
    		this.path["link"+i]._y = i==0 ? 251 : this.path["link"+(i-1)]._y + this.path["link"+(i-1)]._height + 2
    		this.path["link"+i]._x = 65
    		this.path["link"+i].loadMovie(/* Qui ci và il nome del file esterno */);
    			}
    	}
    }
    mioxml.load("xml/stones.xml");

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    nono il file non è esterno, è un mc ("luigi", appunto) che ho in libreria... così lo carica correttamente...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Ho un altro problema, però: alla pressione di un pulsante, in un altro momento, dovrò far sì che questi movieclips (e solo loro), vengano tolti di mezzo.

    Non so come risolverlo...
    :master:

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Scusate se insisto, ma per me ha un'importanza capitale...

    Dunque: io ho fatto questo:

    codice:
    System.useCodepage = true
    mioxml=new XML();
    mioxml.ignoreWhite = true;
    mioxml.onLoad = function(success){
    	if(success){
    var nodes = this.firstChild.childNodes;
    for(var i = 0; i < 5; i++){
    	var miotitolo = nodes[i].childNodes[0];
    	_root.attachMovie("sottom", "miomenu"+i, i)
    		_root["miomenu"+i]._y = i==0 ? 151 : _root["miomenu"+(i-1)]._y + _root["miomenu"+(i-1)]._height + 1
    		_root["miomenu"+i]._x = 46
    		_root["miomenu"+i].sottomenu.htmlText = ""+miotitolo+"";
    		loadMovie("miomenu"+i,"this");
    		}
    	}
    }
    mioxml.load("xml/stones.xml");
    che funziona correttamente, e mi carica i mc "sottom" che ho in libreria...
    il problema adesso è che devo PASSARE IL VALORE dell'identificativo dell'array ("i") ad un pulsante contenuto nel mc il quale a sua volta dovrà passarlo ad un'altra pagina che estrarrà dall'xml la corrispondente descrizione (in pratica il primo codice crea un menù, il codice qua sotto crea le descrizioni...)
    codice:
    System.useCodepage = true
    luigi=new XML();
    luigi.ignoreWhite = true;
    luigi.onLoad = function(success)
    {
    if(success){
    	
    var nodes = this.firstChild.childNodes;
    if (pippo!= undefined){
    	
    	var miotitolo = nodes[pippo].childNodes[0];
    var miotesto = nodes[pippo].childNodes[1];
    
    recensioni.htmlText += ""+miotitolo+""+"
    
    ">+miotesto;
    }
    else {
    	recensioni.htmlText="";
    }
    }
    }
    luigi.load("xml/stones.xml");
    il problema è che NON RIESCO A PASSARE il dato "i" al pulsante, e così ovviamente il menù non funziona...
    aiutatemi sono disperato...

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.