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

    [MX 2004] menu negatyve

    Ciao volevo chidere se qualcuno di voi ha mai cercato di convertire in prototipo o addirittura in classe, il menu del tutorial di negatyve.
    Io lo uso anche in MX 2004 con l' hitTest e funziona, ma mi piacerebbe poter gestire anche eventi come il mouseOver, il mouseOut etc etc ...
    Chiaramente in Maniera dinamica.

    I codici sono due

    1 La Funzione
    codice:
    ultimo = "home";
    menu[ultimo].interno.premuto = true;
    menu[ultimo].interno.gotoAndStop(11);
    function comandi (nome) {
    if (nome != ultimo) {
    if (nome == "home") {
    unloadMovieNum (1);
    } else {
    loadMovieNum (nome + ".swf", 1);
    }
    menu[ultimo].interno.premuto = false;
    menu[ultimo].interno.play();
    ultimo = nome;
    }
    }
    2 Lo script dentro il pulsante(clip)
    codice:
    onClipEvent (mouseMove) {
    if (!premuto) {
    if (this.hitTest(_root._xmouse, _root._ymouse, false) && !aperto) {
    if (_currentframe>(_totalframes/2)) {
    gotoAndPlay (_totalframes-_currentframe);
    } else {
    play ();
    }
    aperto = true;
    } else if (!this.hitTest(_root._xmouse, _root._ymouse, false) && aperto) {
    if (_currentFrame<(_totalFrames/2)) {
    gotoAndPlay (_totalframes-_currentframe);
    } else {
    play ();
    }
    aperto = false;
    }
    }
    }
    onClipEvent (mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    gotoAndStop (11);
    _root.comandi(_parent._name);
    premuto = true;
    }
    }
    Io ho provato a modificare la funzione e non ho trovato problemi, ma per la gestione del clip è diverso, avevo pensato ad un getBounds() del clip, ma non saprei come gestire il premuto e il releaseOutSide ...

    Qualcuno ha già fatto dei tentativi?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    A parte che in flash mx 2004 (anche con il flash mx) puoi trattare i movieclip come pulsanti (gli assegni un nome di istanza, e setti:

    codice:
    istanza_movieclip.onRollOver = function()
    {
    	// azioni
    };
    con la sintassi del flash 5 puoi simulare un pulsante in tutto e per tutto: http://www.actionscripts.org/showMovie.php?id=354

  3. #3
    Si questo lo sapevo neg, grazie.
    Volevo semplicemente sapere come gestire i singoli MC contenuti nel menu'.
    Io so cosa premi e cosa hai premuto, ma volevo gestire anche quando ...
    Adesso ci smanetto e riposto la risposta.

    Grazie del link!!

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Figurati..

  5. #5
    Guarda ho fatto come dicevi leggendo il codice del link che mi hai postato

    codice:
    menu.home.interno.onMouseMove = function() {
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    		if (!sopra) {
    			sopra = true;
    			if (!premutoFuori && !premutoDentro) {
    				muoviTool(30, "HOME PAGE")
    			} else if (premutoDentro) {
    				// on(dragOver)
    			}
    		}
    	} else {
    		if (sopra) {
    			sopra = false;
    			if (!premutoFuori && !premutoDentro) {
    				muoviTool(-200, "")
    			} else if (premutoDentro) {
    			}
    		}
    	}
    	updateAfterEvent();
    }
    menu.products.interno.onMouseMove = function() {
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    		if (!sopra) {
    			sopra = true;
    			if (!premutoFuori && !premutoDentro) {
    				muoviTool(80, "PRODUCTS")
    			} else if (premutoDentro) {
    				// on(dragOver)
    			}
    		}
    	} else {
    		if (sopra) {
    			sopra = false;
    			if (!premutoFuori && !premutoDentro) {
    				muoviTool(-200, "")
    			} else if (premutoDentro) {
    			}
    		}
    	}
    	updateAfterEvent();
    }
    Pero' se lascio solo la prima funzione on Mouse Move funziona, ma se metto anche la seconda, funziona solo la seconda ...

    Devo generalizzare la funzione, ma se gli passo [nome] mi risponde undefined!!

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Cerca di usare riferimenti all'istanza stessa con il this:

    codice:
    menu.home.interno.onMouseMove = function() {
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    		if (!this.sopra) {
    			this.sopra = true;
    			if (!this.premutoFuori && !this.premutoDentro) {
    				this.muoviTool(30, "HOME PAGE")
    			} else if (this.premutoDentro) {
    				// on(dragOver)
    			}
    		}
    	} else {
    		if (this.sopra) {
    			this.sopra = false;
    			if (!this.premutoFuori && !this.premutoDentro) {
    				this.muoviTool(-200, "")
    			} else if (this.premutoDentro) {
    			}
    		}
    	}
    	updateAfterEvent();
    }
    menu.products.interno.onMouseMove = function() {
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    		if (!this.sopra) {
    			this.sopra = true;
    			if (!this.premutoFuori && !this.premutoDentro) {
    				this.muoviTool(80, "PRODUCTS")
    			} else if (this.premutoDentro) {
    				// on(dragOver)
    			}
    		}
    	} else {
    		if (this.sopra) {
    			this.sopra = false;
    			if (!this.premutoFuori && !this.premutoDentro) {
    				this.muoviTool(-200, "")
    			} else if (this.premutoDentro) {
    			}
    		}
    	}
    	updateAfterEvent();
    }

  7. #7
    Davo per scontato non aggiungere il this, il manualetto dell' Actionscripter dice che non è necessario, comunque grazieas ...


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.