Visualizzazione dei risultati da 1 a 8 su 8

Discussione: bottone su movie clip

  1. #1

    bottone su movie clip

    Ragazzi che sudata!
    Sono riuscito a scrivere il codice che mi carica delle variabili da file e le scrive sottoforma di lista in un movieclip.
    Ora vorrei aggiungere ad ogni immagine caricata un link ad una pagina esterna (http://www.asdfgh.ch/detteglio?indice......).

    Chi mi da una dritta? è da un po che ci provo ma .....

    questo é il codice che uso in Flash 8:

    var my_fmt:TextFormat = new TextFormat();
    my_fmt.bold = true;
    my_fmt.font = "Arial";
    my_fmt.size = 12;
    my_fmt.color = 0x03295a;
    dati = new LoadVars();
    dati.path = this;
    dati.onLoad = function(success) {
    if (success) {
    max = this.totalCar;
    var Ymarca = 0;
    var Ytipo = 0;
    var Yimmagine = 0;
    for (i=1; i<=max; i++) {
    var marca = "marca"+i;
    var tipo = "tipo"+i;
    var pic = "immagine"+i;
    createTextField(marca, getNextHighestDepth(), 0, Ymarca, 150, 20);
    this.path["marca"+i].setNewTextFormat(my_fmt);
    this.path["marca"+i].text = this["marca"+i];
    this.path["marca"+i].border = false;
    createTextField(tipo, getNextHighestDepth(), 180, Ytipo, 150, 20);
    this.path["tipo"+i].setNewTextFormat(my_fmt);
    this.path["tipo"+i].text = this["tipo"+i];
    this.path["tipo"+i].border = false;
    createEmptyMovieClip(pic, getNextHighestDepth());
    this.path["immagine"+i].loadMovie(["imguploads/"+this["immagine"+i]], this["immagine"+i]);
    setProperty(this.path["immagine"+i], _x, 340);
    setProperty(this.path["immagine"+i], _y, Yimmagine);
    setProperty(this.path["immagine"+i], _xscale, 11);
    setProperty(this.path["immagine"+i], _yscale, 11);
    //trace(this.path["immagine"+i] + " -> " + this.path["immagine"+i]._x + " - " + this.path["immagine"+i]._y);
    Ymarca = Ymarca+60;
    Ytipo = Ytipo+60;
    Yimmagine = Yimmagine+60;
    }
    totalCar.text = this.totalCar;

    }
    };
    dati.load("dati.txt");
    stop();


    Grazie mille
    ..:: Tremendi questi Aztechi
    per fortuna che siamo arrivati noi cristiani a sterminarli tutti! ::..

  2. #2
    Nessuna dritta?

    Ho provato ad inserire onPress dopo

    ....
    setProperty(this.path["immagine"+i], _xscale, 11);
    setProperty(this.path["immagine"+i], _yscale, 11);

    Ma niente, non funziona!

    Grazie mille
    ..:: Tremendi questi Aztechi
    per fortuna che siamo arrivati noi cristiani a sterminarli tutti! ::..

  3. #3
    Premesso che ci sono alcuni passaggi che non mi sono chiari

    se non ho capito male tu carichi dall'esterno dati.txt

    secondo me hai 2 possibilità

    la prima
    il campo di testo è unico formato html=True
    e quindi la foto la puoi inserire con i tag html
    <src=......> e linkarla con l' href=.... (vedi modalità HTML)


    la seconda
    (senza stravolgere il tuo metodo)
    se nel txt c'è anche la variabile link

    basta che al clip che conterrà la foto associ ad esempio

    codice:
    pic.loadMovie(foto)
    pic.mylink = thi["link"+i]

    a questo punto il clip immagine lo puoi trattare come un bottone

    quindi

    codice:
    pic.onPress=function(){
        trace(this.mylink)
        // e ci fai quello che vuoi
    }

    PS. ma se ha 120 record come li fai scorrere ??

    io ti consiglio

    codice:
    creati un "container"
    dichiara LoadVras
    crea la funzione
       la creazione dei Clip falla all'interno di container
    carica il txt
    Questo perchè se mascheri container puoi farlo scrollare a piacimento


    SE non ti è chiaro sono a disposizione

    Ciao

  4. #4
    Grazie Rempox,

    io sono nuovo a Flash e ad AS.

    allora, il codice che uso in effetti é dentro un container mascherato che mi permette di scrollare la lista cmposta da due campi di testo e una foto per riga.

    Ora ho inserito il codice:

    this.path["immagine"+i].mylink = "./dettaglios.php?indice="+this["indice"+i];
    this.immagine1.onPress = function() {
    trace(this.path["immagine"+i].mylink);
    this.path["immagine"+i].getURL(this.path["immagine"+i].mylink, "_blank");
    };

    dopo

    ....
    setProperty(this.path["immagine"+i], _xscale, 11);
    setProperty(this.path["immagine"+i], _yscale, 11);



    Ma non funziona, al click del mouse non succede niente!

    Thanks
    ..:: Tremendi questi Aztechi
    per fortuna che siamo arrivati noi cristiani a sterminarli tutti! ::..

  5. #5
    Perché la funzione onPress non viene eseguita?
    ..:: Tremendi questi Aztechi
    per fortuna che siamo arrivati noi cristiani a sterminarli tutti! ::..

  6. #6
    Utente bannato
    Registrato dal
    Dec 2005
    Messaggi
    91
    perche prima non vi studiate un po di as?

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Originariamente inviato da lolol
    perche prima non vi studiate un po di as?
    Originariamente inviato da lolol
    Originariamente inviato da lolol
    basta F1
    Originariamente inviato da lolol
    è fatto tutto in action come poi si dovrebbe far tutto. Non è altro che una maschera, un alpha, e uno spostamento. enjoy :maLOL:
    Originariamente inviato da lolol
    devi embeddare i caratteri. Dai su. utilizzare il tasto ricerca del forum
    Originariamente inviato da lolol
    poi cosa vuoi anche una fettina di c**o?
    inizia a farlo e scrivi se trovi dei problemi!!
    Originariamente inviato da lolol
    si ma cosa vuoi visualizzare il fla???????

    sei un idolo!
    Originariamente inviato da lolol
    php e flash e fai tutto. ESPERTO!
    lolol, non è che hai sbagliato forum? Qui si aiuta, non ci si danno le arie.

  8. #8
    ok vediamo di risolvere il problema

    TXT

    codice:
    &nome1=Presentazione stampante  &url1=http://www.dom.it/doc1.pdf&icona1=Acrobat.jpg&
    &nome2=Specifiche tecniche      &url2=http://www.dom.it/doc2.pdf&icona2=MsWord.jpg&
    &nome3=Collegare stampante      &url3=http://www.dom.it/doc3.pdf&icona3=Image.jpg&
    &nome4=Installazione dei driver &url4=http://www.dom.it/doc4.pdf&icona4=Install.jpg&
    nel Flash

    codice:
    // supponiamo che le foto siano 20 x 20
    // lasciamo spazio 10 pixel fra foto e nome e 10 pixel fra foto e foto
    
    this.createEmptyMovieClip("container",1)
    dati=new LoadVars()
    dati.onLoad=function(success){
         if(success){
            // caricamento avvenuto
    
            I=1
            while(this["nome"] != undefined){
            // creo subcontainer img + clip pic
            mc=eval(_level0.container)
            // creo struttura
            mc.createEmptyMovieClip("cont_img"+I,I)
            mc["cont_img+I]._x=0
            mc["cont_img+I]._x=30*I-300
            mc["cont_img+I].createEmptyMovieClip("pic",1)
            mc["cont_img+I].createTextField("Articolo"+I,I+1000,30,0,200,20)
            // carico icona
               mc["cont_img+I].pic.loadMovie(this["icona"+I])
               // se la foto è pesante qui metti il preload
            // carico testo
            mc["cont_img+I].Articolo.text=this["nome"+I]
            // memorizzo link
            mc["cont_img+I].linkato=this["url"+I]
            
            mc["cont_img+I].onPress=function(){
              getUrl(this.linkato,"_blank")
            }
     
            I++
        }
    }
    dati.load("file.txt")
    l'ho scritta qui ma dovrebbe esserci tutto

    Considera che la differenza massima fra i Depths di cont_imgN ed ArticoloN è 1000 quindi al 1001esimo record ti darà un errore perchè il clip cont_img1001 avrà livello 1001 già occupato da Articolo1

    puoi quindi vedere getNextHighDepths ...mi sembra si scriva così, il concetto è "il prossimo livello libero"


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.