Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: spostare mc

  1. #1

    spostare mc

    come faccio a spostare un movie clip quando ci passo sopra?

    (flash mx)
    ciao
    Riccardo
    http://www.2rlab.com
    God save the colours!

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao Rak..

    In che modo vorresti spostarlo?

    In tanto dovrai verificare quando il mouse è sopra il mc.
    Puoi farlo in diversi modi.

    Ad es puoi associare semplicemente un evento rollOver.

    Sul mc metti:

    on(rollOver){
    //sposta mc
    _x+=5
    _y+=5
    }


    Questo farà in modo di spostare il mc di 5 px verso destra e verso il basso.

    Ma tu come vorresti che si spostasse?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    vorrei ottenere qst effetto qui
    che puoi vedere nell'album di fotografie

    ... da quello che ho intuito sono una serie di mc che vengono spostati tramite una funzione, ma dal momento che di as non so una mazza anche avendo la funzione che potrebbe spostare i valori non so come utilizzarla

    una funzione che ho trovato è questa, ma non so ne dove metterere la funzione, ne come inviare le coordinate alla funzione... mi potresti dare una mano?

    function movDec(clip,vel,x,y){
    clip.onEnterFrame = function() {
    var a=Math.abs(x-clip._x)
    var b=Math.abs(y-clip._y)
    clip._x += (Math.round(x-clip._x))/vel
    clip._y += (Math.round(y-clip._y))/vel
    if (a <= 1 && b <= 1) {
    clip._x= x;
    clip._y= y;
    delete clip.onEnterFrame;
    }
    }
    }
    http://www.2rlab.com
    God save the colours!

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Bene... questa funzione funziona perfettamente

    Allora puoi richiamare quella funzione dagli eventi rollOver, per spostare il mc, e rollOut per riposizionarlo. Dovrai inoltre assegnare al mc una variabile che determini la posizione x iniziale, e potrai farlo sull'evento load.
    Quindi associ tali eventi ad ogni mc.
    Se hai molti mc ti converrà creare uno script per assegnare ad ognuno gli evventi in modo dinamico, altrimenti dovrai farlo a mano uno per uno.

    Per ora fai giusto una prova:

    codice:
    onClipEvent (load) {
    	x = _x;
    }
    on (rollOver) {
    	_root.movDec(this, 5, x-50, _y);
    }
    on (rollOut) {
    	_root.movDec(this, 5, x, _y);
    }
    Tieni conto che l'effetto del link è un po' più complesso..nota quando passi su una delle prime foto a sx. Queste non si spostano, ovviamente, ma fanno spostare le altre in modo da rendere visibile unicamente la foto in cui sei sopra col mouse.

    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    thanks... funzia.. se ho bisogno riaprlo il threat... ciao ciao
    http://www.2rlab.com
    God save the colours!

  6. #6
    e se dovessi mettiamo far comparire una scritta sul mc sul rollover, come potrei fare?... preparo il frame da visualizzare nel mc, ma dopo come dico onrollover vai al frame successivo del movieclip?
    http://www.2rlab.com
    God save the colours!

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    ...normalmente dovresti usare:

    gotoAndStop(2)

    Ma se il clip è un contenitore dove viene caricata una file jpg (o un swf) esterno, tutto il contenuto di questo mc sarà rimpiazzato da ciò che viene caricato. Per cui no troveresti più il frame 2.

    In tal caso puoi annidare il mc contenitore dentro un'altro in cui potrai così mettere due frame senza che siano cancellati quando viene caricata la foto.

    ..non so se sono stato chiaro
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    mmmm... un esempiuzzo?
    http://www.2rlab.com
    God save the colours!

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ad esempio mettiamo il caso di avere sulla root un istanza nominata foto, nella quale carichi normalmente le immagini esterne, ad es
    _root.foto.loadMovie("immagine.jpg")

    Se vuoi creare due frame devi, per forza di cose, creare un contenitore padre in cui sarà contenuta l'istanza foto.

    Seleziona l'istanza foto e premi F8. Questa sarà convertita in un altro simbolo. Nomina il simbolo ad es "contenitore" e impostalo come "Clip Filmato".

    Ora sulla root avrai l'istanza di questo nuovo mc che contiene, a sua volta, l'istanza di foto.

    Seleziona la nuova istanza e dal pannello Proprietà assegna un nome istanza, ad es "contenitore" (tanto per non confonderci).

    Apri questa istanza. Nella sua timeline, potrai ora inserire i due frame.

    1- Ad es, seleziona il primo e unico frame, dove ovviamente è presente l'istanza foto, e premi F5 per allungare di 1 frame.

    2- Crea un nuovo layer (livello nella timeline).

    3- Seleziona il primo frame di questo layer e, dal pannello Azioni,
    inserisci uno stop()

    4- Seleziona il secondo frame di questo layer e premi F7 per creare un keyframe vuoto.

    5- In questo keyframe potrai posizionare la casella di testo.

    Infine dovrai modificare il target utilizzato per caricare l'immagine.

    Quindi risulterà:
    _root.contenitore.foto.loadMovie("immagine.jpg")

    Dovrai inoltre spostare, nell'istanza contenitore, gli eventi associati all'istanza foto.

    Seleziona foto, apri il pannello Azioni, seleziona tutto lo script e taglia.
    Quindi esci nella root, seleziona l'istanza contenitore, e dal pannello Azioni, incolla lo script.

    Infine modifica lo script inserendo il gotoAndPlay in questo modo:

    codice:
    onClipEvent (load) {
    	x = _x;
    }
    on (rollOver) {
    	_root.movDec(this, 5, x-50, _y);
    	gotoAndPlay(2)
    }
    on (rollOut) {
    	_root.movDec(this, 5, x, _y);
    	gotoAndPlay(1)
    }
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    allora il problema l'ho risolto cs:

    1 mc

    per ogni mc due frame, uno con una foto e basta, l'altro con foto + scritta

    ho inserito la funzione e poi

    on (rollOver) {
    _root.movDec(this, 15, x-70, _y);
    gotoAndPlay(2);
    }

    per muovermi tra i frame del mc e funziona tutto correttamente

    ora però vorrei che cliccando su un mc questo funzionasse da bottone caricando un altro frame della scena 1; ho provato cs ma non funziona e non riescoa acapire perché

    on (release) {
    gotoAndPlay("Scene 1", 2);
    }


    grazie per la disponibilità, ciao
    http://www.2rlab.com
    God save the colours!

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.