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

    Duplicare un Movieclip creato dinamicamente

    Ciao a tutti,
    io ho il seguente problema, che per limiti personali attuali nella creazione e comprensione del codice, non riesco a risolvere:
    ho un rettangolo (che riceve come contenuto un'immagine) e subito sotto un campo testo dinamico (che riceve del testo: il titolo) che ricevono dinamicamente il loro contenuto attraverso un file di php (macro2.php). Questa immagine e titolo che si va a visualizzare rappresentano diciamo un prodotto.
    Vorrei però poter far sì che questo "rettangolo" e il campo "testo dinamico" diventino più di uno (quindi più prodotti affiancati l'uno all'altro) , magari due, tre, ecc.. in base a quanti prodotti vengono inseriti nel database e successivamente passati dal file di php (macro2.php) al file di flash.
    Immagino io debba duplicare il movieclip, ma faccio ancora fatica nella stesura del codice.
    Questo è il codice che uso ora per far sì che un solo rettangolo e un campo di testo dinamico ricevono le informazioni dinamicamente dal file php (macro2.php):

    //inizio codice file di FLASH

    _root.slide_macro.stop();
    _root.loading_clip._visible= true;


    stop();
    unloadMovieNum(1);
    titles = new Array();
    ids = new Array();
    images = new Array();
    menue = new Array();

    loaded_vars = new LoadVars()
    loaded_vars.images = new Array();
    loaded_vars.load('macro2.php')
    loaded_vars.onLoad = function(success) {
    if(success) {
    titles = loaded_vars.titles.split('|')
    ids = loaded_vars.ids.split('|')
    images = loaded_vars.images.split('|')
    menue = loaded_vars.menue.split('|')
    initClips();
    }
    }

    function initClips() {
    _root.menu_coll.text = menue[0];
    removeMovieClip(pippo);
    //main_image_clip.swapDepths(10)

    _root.slide_macro.title_1.text = titles[0]

    var myMCL = new MovieClipLoader();
    myMCL.onLoadComplete = function (targetMC)
    {
    _root.loading_clip._visible= false;
    _root.slide_macro.play();
    }
    myMCL.loadClip(images[0],"_root.slide_macro.image_1");
    //_root.slide_macro.image_1.loadMovie(images[0]);

    _root.slide_macro.btn_macro_1.onRelease = function(){_root.tmp = ids[0];gotoAndStop(3)}

    removeMovieClip(pippo);
    }


    //fine codice file di FLASH


    Invece il file macro2.php passa principalmente le variabili "titles" e "images".

    Ciao e grazie a tutti per l'aiuto
    Gabriele

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Devi ciclare tante volte quanti sono gli elementi degli array che crei caricando le variabili da php e usare l'"attachMovie" per caricare sullo stage il "rettangolo" che hai in libreria.

    Una cosa del tipo

    num_tot_images=ids.length;

    for (var num=0; num<num_tot_images; num++) {
    container.attachMovie("mc_linkage_in_libreria", "nome_movieclip"+num, num);
    }

    Dove "container" è un movieclip vuoto che conterrà tutti i movieclip duplicati.

  3. #3
    a che punto del codice devo inserirlo il ciclo che mi hai postato?

    num_tot_images=ids.length; - questa istruzione cosa fa di preciso'


    Grazie mille.
    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    All'interno della funzione initClips()

    Ovviamente devi modificare un po' il tutto

    Non sarà più
    _root.menu_coll.text = menue[0];

    Ma:
    _root.container["menu_coll"+num].text = menue[num];

    etc,etc


    num_tot_images=ids.length;
    legge di quanti elementi è composta l'array ids, così sai quanti movieclip devi duplicare.

  5. #5
    cavolo, non ci riesco, comincio a disperarmi.
    Sono ancora troppo indietro con i concetti principali.

    Non è che mi daresti una mano a mettere giù il codice giusto?

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.