Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591

    duplicazione pulsanti-MC

    Salve a tutti quelli rimasti..

    ho una situazione strana, e non mi funzionano a dovere le azioni sui MC creati dinamicamente.
    in pratica carico da XML un file che contiene delle info.

    mi creo dinamicamente un textfield che contiene i titoli dei "record" presi da XML/DB.
    Gli associo anche un MC che si genera dinamicamente e tranquillamente..
    MA. quando faccio la generazione dei "link" (cioè del codice associato al pulsante..) si perde i valori, come se nella creazione dinamica di queste azioni non tenesse conto delle variabili.
    posto un po' di codice che è meglio..
    codice:
    stop();
    j = 0;
    //questo è ok
    for (i=0; i<totale_eventi; i++) {
    _root.createTextField("mytext"+i, _root.getNextHighestDepth(),200,200+j,150,20);
    _root["mytext"+i].multiline = true;
    _root["mytext"+i].wordWrap = true;
    _root["mytext"+i].border = false;
    trace(fotoEve[i]);
    myformat = new TextFormat();
    myformat.color = 0xffffff;
    myformat.bullet = false;
    myformat.underline = true;
    
    // questo è ok..
    _root["mytext"+i].text = titoloEve[i];
    _root["mytext"+i].setTextFormat(myformat);
    
    // questo è ok..
    _root.createEmptyMovieClip("clip"+i,1+i);
    _root["clip"+i].moveTo(200,200+j);
    trace(j);
    attachMovie("rettangolo_dinamico", "clip"+i, 1+i, {_x:320, _y:210+j});
    
    //qui non va
    _root["clip"+i].onRelease=function(){
    // qui è sempre undefined!!!
    titolo[i] = titoloEve[i];
    
    nextFrame();
    }
    j = j+30;
    }
    in pratica titoloEve[i] dentro quella "funzione" è sempre undefined..come se non lo vedesse..
    ho provato di tutto.. ma forse sono io che non ci capisco una mazza..
    grazie in anticipo a chi mi darà una mano..

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Il problema deriva dal fatto che la "i" non viene vista esattamente dentro le funzioni dei pulsanti (è un discorso un po' più lungo ma si può risolvere anche senza spiegarlo), perciò è necessario assegnarla ad ogni pulsante in maniera univoca associandola ad una loro variabile interna, dopo di che è possibile sfruttarla tranquillamente nell'evento richiamandola con il "this".

    Comunque tornando al tuo codice, lo vedo un po' strano, nel ciclo attacchi prima dei campi di testo usando getNextHighestDepth per i livelli, poi crei dei movieclip vuoti con indici precisi, che molto probabilmente sovrascrivono quelli dei textfield, e poi ancora negli stessi livelli e addirittura con gli stessi nomi, attacchi delle copie di "rettangolo_dinamico".

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ti ringrazio per la risposta.. lo stavo scrivendo, ma mi hai preceduto, ed ho risolto "quella cosa" con degli indici.. ora va alla grande.. è balordo per questa cosa flash!!
    Codice PHP:
    _root["clip"+i].indice=i;
    _root["clip"+i].onRelease=function(){
    _root.param this.indice
    // poi il resto

    per le altre cose che mi dici CREDEVO di aver fatto bene: ma solo perchè la visualizzazione è corretta!!!
    in pratica: creo un MC, anzi taaaanti che si chiamano clip1, clip2 etc.
    dentro questi ci metto un MC rettangolo_dinamico per creare il "link"..
    avevo messo anche il campo di testo dentro ma mi pare che non mi funzionava bene.. allora visto che posso agire sulla posizione dei MC l'ho creato nella root..
    mi sa che mi toccherà rifare tutto..
    cioè ora funziona ma se dovessi mettere una barra di scorrimento il mio script va a farsi friggere, per non essere volgare..
    forse converrebbe creare "staticamente" un MC contenente tutte le cose (MC & testi) che servono poi magari richiamarlo dalla libreria..

    comunque grazie per le dritte, sono sempre preziose..
    se ne hai altre ovviamente sono qua..

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ah!! comunque hai ragione..

    quei MC creati dinamicamente vanno sopra un menu a tendina.. mi sa che mi tocca ricominciare tutto.. vabbè, sarà un po' più facile ora che ho capito come funziona..

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Quella del clip unico può essere una buona alternativa da sfruttare, anche per i posizionamenti.
    Mentre per lo scroll ti suggerirei di creare un clip sullo stage e usarlo come contenitore al posto di root, così potresti applicare l'ipotetico scroll direttamente a questo contenitore qualora servisse.

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..infatti l'ho fatto così..

    grazie tante, delle volte la pigrizia fa brutti scherzi, sopratutto ad agosto!!



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.