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

    far spostare un mc continuamente... quale evento?

    salve,
    sto realizzando una slide show, in pratica possiedo un mc che contiene tutte le mie immagini... però non si possono visualizzare tutte, quindi ho creato un livello maschera che permette di visualizzarne solo una parte e due pulsanti che permettono di spostare il movieclip a destra o a sinistra per visualizzare le altre immagini.... ora su i pulsanti destro/sinistro ho inserito le funzioni onRollOver solo che in questo modo si sposta di 1 pixel alla volta, e per farlo spostare di più devo entrare e uscire dal pulsante....


    come devo fare per fare in modo che fin quando rimango sopra il pulsante avanti o dietro il mc continua a spostare di 1 pixel alla volta? un movimento continuo....

    grazie

  2. #2
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Allora, penso che il codice sotto possa essere ciò che ti serve.
    Tieni conto di questi elementi:
    - la var fattore corrisponde all'incremento o al decremento della posizione del movieClip da spostare
    - la var movieClip deve avere come valore il nome istanza del movieClip da spostare, in questo caso io l'ho istanziato square_mc
    - al posto di usare dei pulsanti per far muovere a destra o sinistra il movieClip ho utilizzato dei movieClip, in modo da poter usare l'evento onEnterFrame
    - i movieClip li ho istanziati right_mc per la destra e left_mc per la sinistra

    codice:
    var fattore:Number = 10;
    var movieClip = square_mc;
    right_mc.onRollOver = function() {
    	this.onEnterFrame = function() {
    		_root.movieClip._x +=fattore;
    	}
    }
    right_mc.onRollOut = function() {
    	delete this.onEnterFrame;
    }
    left_mc.onRollOver = function() {
    	this.onEnterFrame = function() {
    		_root.movieClip._x -=fattore;
    	}
    }
    left_mc.onRollOut = function() {
    	delete this.onEnterFrame;
    }

  3. #3
    ora provo!!

    grazie mille.

    ps. una cosa: il mio movie clip che contiene le immagini è molto lungo, il massimo (circa 2800 mi sembra) ... e nonostante questo non riesce a contenere tutte le immagini. Come posso fare per fargli contenere tutte le immagini una accanto all'altra anche quanto sono molti??


    grazie

  4. #4
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Non capisco cosa vuoi dire...
    Le immagini le carichi dinamicamente o le posizioni tu a mano?

  5. #5
    allora, il codice che utilizzo per caricare le immagini è questo:

    stop();
    var pos=20;
    for (var i:Number=0; i<10; i++) {
    this.createEmptyMovieClip("image_mc"+i,i)
    var names:String="image_mc"+[i];
    this[names].loadMovie("c:\\database\\Immagini\\41677.jpg");
    this[names]._x=pos;
    this[names]._y=20;
    this[namse]._xscale=50;
    this[names]._yscale=50;
    pos+=210;
    }

    (non fare caso all'immagine che carica, perchè attualmente carica sempre la stessa).
    Come puoi notare mi carica delle immagini distanziati 210 pixel tra una e l'altra. Ma se le immagini sono molte cosa succede. Verranno tutte visualizzate??Ho visto che lo stage può essere al massimo 2880... Esiste un modo diverso per creare lo stesso effetto che voglio io?

    grazie di tutto

  6. #6
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Beh allora quello che ti serve è uno slideshow delle foto [mi sembra che hai già aperto un 3d]...
    Non è difficile da realizzare, ma è inutile che ti posto un esempio, in quanto ogni slideshow è diverso e può avere funzionalità diverse che decide lo sviluppatore (ingrandimento, miniature didascalie).

    I punti guida comunque sono questi:

    Caricamento e azioni generali:
    - crei un mc contenitore
    - il for genera tanti movieClip quante sono le foto dentro l'mc contenitore
    - gli mc caricano le loro foto corrispondenti, che dovranno chiamarsi 1, 2, 3 ecc.
    - è necessario inserire un preload cosa che nel tuo codice non ho visto [forse l'hai tralasciato]
    - crei un mc maschera_mc
    - associ al mc contenitore questa maschera

    Movimento:
    Opzione 1:
    - con i pulsanti dello scroll [argomento discusso sopra] fai muovere l'mc contenitore a destra o sinistra
    - rispetto al punto sopra potrai inserire dei controlli per far fermare il movimento quando le foto sono all'inizio o alla fine, oppure creare un loop continuo [vedi centinaia di 3d già aperti]
    Opzione 2:
    - fai spostare il mc contenitore seguendo e rapportandoti alla x del mouse [vedi centinaia di 3d già aperti]


  7. #7
    ok, grazie mille!!

    un solo dubbio: se metto nel contenitore tantissime immagini una dopo l'altra.... non c'è il rischio che ad un certo punto non verranno più visualizzate?? oppure tende all'infinito?? in quest'ultimo caso, utilizzando lo spostamento dell'mc quando si passa sopra il pulsante, posso visualizzare tutte le immagini...


    grazie ancora...

    ps.un'ultima cosa: il preload dove lo piazzo?? nell'mc contenitore delle immagini? o nel frame che lo contiene??

  8. #8
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    >>
    un solo dubbio: se metto nel contenitore tantissime immagini una dopo l'altra.... non c'è il rischio che ad un certo punto non verr[cut]
    <<
    Non penso proprio, certo, far eseguire un for molto lungo può provocare rallentamenti su pc senza grandi prestazioni, ma nella normalità dovrebbe essere fattibile

    >>
    ps.un'ultima cosa: il preload dove lo piazzo?? nell'mc contenitore delle immagini?
    <<
    devi fare in modo di associare ad ogni mc generato con il for il preload, potresti farlo con una funzione che poi richiami in un modo simil e a questo [molto a grandi linee]: ["mcDaCicloFor"+i].preload(["img"+i]).
    Per il preload ti consiglio di usare la classe MovieClipLoader

    >>
    o nel frame che lo contiene??
    <<
    no, si suppone che il mc venga creato dinamicamente, quindi.... segui la soluzione sopra che è corretta.


  9. #9
    in pratica devo assegnera lo stesso preload ad ogni mc che contiene le immagini....

  10. #10
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Originariamente inviato da pippuzzo80
    in pratica devo assegnera lo stesso preload ad ogni mc che contiene le immagini....
    Sì e no...
    Il for esegue ciò che c'e' scritto al suo interno un numero tot di volte che dipende da quali parametri gli passi...
    Quindi, sia che tu utilizzi una funzione o che tu scriva il codice preload per intero all'interno del for, cambia poco: il codice verrà ogni volta rieseguito.

    Io ti suggerivo l'utilizzo di una funzione solo per mantenere il codice più pulito, ma non è determinante



    P.S: rispetto al titolo "far spostare un mc continuamente... quale evento?" siamo ot

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.