Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    problema duplicateMovieClip

    Ciao Ragazzi ho un quesito che mi attanaglia da diversi mesi che ho sempre tralasciato.. ma e ora di affrontarlo...

    ho fatto diversissime prove per duplicare un mc e impostare le cordinate all'elemento duplicato un incremento rispetto l'istanza precedente..
    non riesco.. mi funziona solo se utilizzo la funzione random(numero)

    entro nel problema.. cosi ovviamente funziona

    for(i=0;i<10;i++){
    duplicateMovieClip(_root.cerchio,"palla"+i,i);
    setProperty("palla"+i,_x,random(200));

    }

    se utilizzo una variabile temp funziona anche

    for(i=0;i<10;i++){
    duplicateMovieClip(_root.cerchio,"palla"+i,i);
    temp="palla"+i
    setProperty(temp,_x,random(200));


    }

    gia cosi gia ad esempio non funziona..
    for(i=0;i<10;i++){
    duplicateMovieClip(_root.cerchio,"palla"+i,i);
    temp="palla"+i
    temp._x=300

    }

    il mio obiettivo era quello di ottenere un incremento rispetto la posizione dell'istanza precedente

    il mio ragionamento era quello di
    creare una variabile
    temp2=palla"+(i-1)

    e ottenere questa propieta _x

    temp2._x

    e poi duplicando avere un incremento di temp2._x+200 ad esempio

    for(i=0;i<10;i++){
    duplicateMovieClip(_root.cerchio,"palla"+i,i);
    temp="palla"+i
    temp2=palla"+(i-1)
    temp._x=temp2._x+200

    }

    sono matto? :berto:
    esiste un modo per incrementare di un determinato numero la posizione dell'istanza precedente duplicata? grazie

  2. #2
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Così dovrebbe andare:
    codice:
    var mcPadre:MovieClip = _root.cerchio; //percorso del movieClip da duplicare
    var mcFiglio:String = "palla"; //nome dei movieClip duplicati
    var distanza:Number = 100; //distanza tra i movieClip
    for (i=0; i<10; i++) {
    	var mcNumber:String = mcFiglio+i;
    	duplicateMovieClip(mcPadre, mcNumber, i);
    	_root[mcNumber]._x = mcPadre._x+i*distanza;
    }

  3. #3
    grazie mille lo provo...

  4. #4
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Bene...

  5. #5
    perfetto... grazie mille...
    era da inserire sopratutto ogni cosa in una variabile.. grazie mille

  6. #6
    era piu che altro da levare dalle scatole la stringa "palla" e renderla una variabile..

    grandissimi

  7. #7
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Originariamente inviato da prot
    perfetto... grazie mille...
    era da inserire sopratutto ogni cosa in una variabile.. grazie mille
    Prego!
    Ah l'uso delle variabili è imho un ottima cosa per codici complessi perchè ne migliora la leggibilità, la modifica dopo diverso tempo ecc ecc, ma in questo caso non è fondamentale, basterebbe un semplice:

    codice:
    for (i=0; i<10; i++) {
    	duplicateMovieClip(_root.cerchio, "palla"+i, i);
    	_root["palla"+i]._x = _root.cerchio._x+i*100;
    }
    Certo che poi se devi andare a cambiare nome istanza "del cerchio" o della "palla" devi farlo due volte... Immagina di doverlo fare in un codice complesso


  8. #8
    il fatto che non me lo prendeva prima passandogli this["palla"+i] ho provato a farlo cosi... cioe e un concetto che conosco benissimo... ma facevo il trace e mi dava undefined..

    ora va comunque
    grandissimo!!!

  9. #9
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Ok, l'importante è aver risolto

    P.S: forse dava undefined per un problema di percorsi [this e _root]

    edit: no mi correggo, il percorso non c'entra nulla funziona anche con this

  10. #10
    hehehe... vorrei ampliare il discorso...
    e per spezzare la riga e fare in maniera tale che dopo una determinata x vada a capo e
    ricominci a duplicare?


    ho provato a fare due cucli for nidificati ma non funziona duplica sempre uno.. o la x o la y.
    imposto una matrice?
    seocndo me si puo fare.. ma non riesco a trovare la chiave..
    ho utilizzato righe e colonne come variabili nei cicli..
    quindi
    in pseudocodice

    for(colonna=0;colonna<10;colonna++){
    duplica movie in y

    for(riga=0;riga<10;riga++){
    duplica movie in x

    }
    }

    ho provato a farlo con javascript utilizzando una tabella e funziona ovviamente flash e tutt'altra cosa.. secondo me ci sara anche un problema che riguarda ila profondita di livello..
    ---


    forse facendo una matrice potrebbe essere piu semplice..

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 © 2024 vBulletin Solutions, Inc. All rights reserved.