Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    attachMovie in un ciclo for

    ciao a tutti,
    ho un problema che ai miei occhi appare stranissimo (a tratti allucinante)...

    creo un movieclip contenitore


    this.createEmptyMovieClip("prova", this.getNextHighestDepth());


    all'interno di esso, tramite attachMovie, andrò a caricare altri mc:
    codice:
    for (i = 0; i <= (_global.ret_value.length - 1); i++)
    {
    azor = prova.attachMovie("wd", "nomeone" + i, this.getnextHighestDepth());
    //azor.testo.text = nome;
    azor._y = posizione;
    posizione++;
    }

    il problema è che mi visualizza sempre e solo l'ultimo mc "attaccato"...
    ho verificato (tramite dei trace) che ogni mc viene effettivamente "attaccato" al mc contenitore ma non li visualizza (a parte l'ultimo).

    se può servire a qualcosa, dentro gli mc da attaccare, c'è solamente un campo di testo dinamico
    Il codice del resto del filmato è perfettamente funzionante ed ho già controllato più volte, ma, arrivato a questo punto, penso che il problema sia proprio nell' attachMovie

    sapreste aiutarmi?
    grazie
    mauro

  2. #2
    è una questione di posizionamenti dei clip, cioè i clip vengono posizionati sullo stage tutti sulle stesse coordinate..prova così

    codice:
    for (i = 0; i <= (_global.ret_value.length - 1); i++)
    {
    azor = prova.attachMovie("wd", "nomeone" + i, this.getnextHighestDepth());
    //azor.testo.text = nome;
    var azor:MovieClip = prova["nomeone"+i];
    var azorPrec:MovieClip = prova["nomeone"+Number(i-1)];
    azor._x = 0;
    azor._y = azorPrec._y+azorPrec._height+5;
    }
    in questo modo dovrebbe posizionarti ogni clip 5px sotto la precedente

  3. #3
    ciao,

    quella riga di codice:
    posizione++;

    non è quella che uso effettivamente...
    ho snellito un po' il codice per una lettura più veloce...
    in realtà tra una scritta e l'altra ci sono circa 75px di distanza!

    togliendo il movieclip contenitore riesco ad ottenere il risultato che voglio (però a me il mc contenitore serve) !


    ho anche provato fecendo un nuovo filmato flash per fare una prova e ho sempre lo stesso problema...

    1- creo un nuovo mc chiamato "scritta"
    2- crea un testo dinamico all'interno dell'mc dandogli nome istanza "testo"
    3- nella root del filmato principale scrivo:
    codice:
    this.createEmptyMovieClip("cont", this.getNextHighestDepth());
    
    for (i = 1; i<= 4; i++)
    {
    	cont.attachMovie("scritta", "abc" + i, this.getNextHighestDepth(), {_x: 100, _y:i*30});
    }
    provo il filmato e non funziona...
    mi fa vedere solo un mc collegato e non 4 !

    Se invece faccio a meno del movieclip contenitore:
    codice:
    for (i = 1; i<= 4; i++)
    {
    	this.attachMovie("scritta", "abc" + i, this.getNextHighestDepth(), {_x: 100, _y:i*30});
    }
    ecco che tutto funziona...
    veramente assurdo

    sono veramente nel panico

  4. #4
    ho trovato una soluzione al problema
    (che però è un po' strana)

    questa riga di codice
    codice:
    azor = prova.attachMovie("wd", "nomeone" + i, this.getnextHighestDepth());
    deve diventare:
    codice:
    azor = prova.attachMovie("wd", "nomeone" + i, prova.getnextHighestDepth());
    cioè deve cambiare solamente il "this" nel nome dell'mc contenitore...
    devo ringraziare LiveDocs !

    ma anche te che hai perso tempo con me...
    vabuò!
    ciao

  5. #5
    scusami non ho avuto modo di risponderti prima...
    beh l'importante è che hai trovato la soluzione..
    ciao

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.