Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    24

    al movimento del mouse la mc deve sparire

    mi sto da poco applicando a flash e sicuramente quello che sto per chiedervi è banale ma per me no.

    Nella scena principale ho un movieclip di una manina che indica quali sono le parti da cliccare.

    Mi piacerebbe che nel momento che l'utente muova il mouse, il movieclip sparisse (perché si presume che abbia capito dove puntare con il mouse).

    come dovrei fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    24
    rimane comumnque buona la prima domanda (giusto per imparare) ma ripensandoci sarebbe meglio che il movie controlli i movimenti del mouse e che se rileva l'inattività dello stesso per un tot di tempo (diciamo 5 secondi), faccia apparire il movieclip che indica dove cliccare ma se il mouse è in movimento sul movie non deve comparire.
    Immagino sia snervante vedere questa manina che comincia a muoversi quando il mouse si ferma anche per un solo istante.

    Confido in voi e vi ringrazio in anticipo.

    Penso che questa sia roba da geni.

  3. #3
    vediamo un po'.... :master:
    potresti creare un mc di due frame.
    Questo mc lo metti nello stage..
    Vediamo com'è fatto il MC:
    -nel primo frame rilevi e conservi(in variabili) le coordinate del puntatore del mouse;
    -nel secondo le ri-rilevi e le confronti con quelle salvate nel frame precedente e se sono uguali (il mouse nn si è mosso) fai una cosa (es. mostri la manina) altrimenti (il mouse si è mosso) nascondi la manina e cicli naturalmente.

    tradotto in action script potrebbe essere:

    PRIMO FRAME che ha etichetta "primo"

    x=_root._xmouse;
    y=_root._ymouse;


    SECONDO FRAME

    x2=_root._xmouse;
    y2=_root._ymouse;
    if (x2==x) and (y2=y){
    MCmanina.show;
    }
    else{
    MCmanina.hide;
    }
    gotoAndPlay("primo");

    questo senza implementare i 5 sec di attesa...
    volendo inserire anche questo miglioramento:

    PRIMO FRAME che ha etichetta "primo"

    x = _root._xmouse;
    y = _root._ymouse;


    SECONDO FRAME

    attesa = 1000;
    tempo = 1;
    x2 = _root._xmouse;
    y2 = _root._ymouse;
    if (x2 == x) and (y2 = y){
    tempo = tempo + 1;
    if (tempo >= attesa){
    MCmanina.show;
    }
    }
    else{
    MCmanina.hide;
    }
    gotoAndPlay("primo");

    poi vedi tu a quanto impostare il valore della variabile attesa ma sappi che il numero che inserisci nn è una quantita di tempo è soltanto un contatore e quindi considera che i computer + veloci potrebbero eseguire tutto il ciclo + velocemente del tuo quindi provalo su + pc.... credo che sia stato abbastanza chiaro..se nn hai capito qualcosa kiedi pure...ok?

    ps nn so se la sintassi action script è perfetta, ma come concetto può andare

    ciao

    Antonio86
    by AnTr86

    ..:: AUDAX ::..

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    24
    Grazie tante.

    Non sono stato capace di applicarla ma si capisce perfettamente che funziona.

    Ho provato a cambiare if (x2==x) and (y2=y){

    mettendo i doppio uguale o togliendone uno alle x ma niente.

    Sono convinto che mi risponderai ma io leggerò solo lunedì.

    Ti volevo solo dire che il mc si chiama mano ed è sullo stage principale. (se ti può servire)

  5. #5
    se ho ben capito il tuo problema prova a fare questo:
    aggiungi al mc che vuoi far sparire il seguente codice:

    codice:
    onClipEvent (load) {
    	_visible = false;
    	intervallo=5000; //l'intervallo di tempo: 5 secondi
    	
    	mostra = function () {
    		_visible = true;
    		updateAfterEvent();
    	};
    }
    onClipEvent (mouseMove) {
    	clearInterval(ID);
    	_visible = false;
    	ID = setInterval(this, "mostra", intervallo);
    }
    ciao... fammi sapere.
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    24
    Scusatemi se vi rispondo solo oggi.

    Ho copiato ed incollato l'ultimo codice nel mc ma l'unico risultato che ho ottenuto e che il mc non si vede mai. Neanche se non muovo il mouse per un bel po di tempo.

    Ho provato a cambiare load con enterFrame e niente.
    Ho provato con

    onClipEvent (load) {
    this._visible = false;
    ecc.. e niente.

    Non so se è importante sapere che il mc è composto da un tweening che segue una path.

    Se non chiedo troppo, potreste realizzare un piccolo campione utilizzando il codice?

    magari con il minimo indispensabile.

    Grazie.

  7. #7
    ti ho preparato l'esempio, lo trovi a questo link

    ho apportato solo una piccola modifica al codice:

    codice:
    onClipEvent (load) {
    	_visible = false;
    	intervallo = 5000; //l'intervallo di tempo: 5 secondi
    	
    ID = setInterval(this, "mostra", intervallo); 
    /*la riga di sopra fa apparire il movie 
    anche se non passi mai col mouse sullo stage*/
    
    	mostra = function () {
    		if (!_visible) {
    			gotoAndPlay(1);//questo per controllare il movie
    			_visible = true;
    		}
    	};
    }
    onClipEvent (mouseMove) {
    	clearInterval(ID);
    	_visible = false;
    	ID = setInterval(this, "mostra", intervallo);
    }
    ciao ciao
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    24
    Si vabbè questo non è aiuto... DIPPIU'

    Sei un santo a parte che sei in gambissima.

    Grazie grazie grazie.

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.