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

    Problemi nella guida "Costruire un sito in Flash"

    Ciao a tutti, avendo realizzato qualche sito, imparato html e masticato qualcosa di javascript e php, volevo avvicinarmi al flash.
    Ho seguito le guide sui precedenti linguaggi qui su html.it e così stavo facendo col flash, cercando di seguire passo-passo la guida dove si realizza un sito in flash.

    Ho il Flash 5 e ho imparato(credo) ad usare le varie funzioni, quindi mi son messo a seguire alla lettera la guida ma al quarto capitolo,
    http://flash.html.it/guide/lezione/2...nu-principale/

    dove si parla dei bottoni, quando devo mettere gli stop () nel layer "azioni" al frame 1 e 11 non me li fa mettere!!!!
    ho provato di tutto (sicuro tranne la cosa giusta)....ma niente.
    Qualcuno sa dirmi perchè e come posso risolvere???

    Grazie
    A volte nella vita è meglio tener la bocca chiusi e passare per idioti, che aprirla e togliere ogni dubbio!!!

  2. #2
    Risolto, rifacendo tutto da capo
    ma andando avanti ne ho incontrato un altro.
    Quando al bottone associo il seguente codice nelle Azioni:

    onClipEvent (mouseMove) {
    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;
    }
    }

    Tutto ok. ma quando aggiungo quello modificato, dove dice"aggiungiamo un pezzettino":

    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;
    }
    }

    mi da errore dicendomi che non si possono annidare più onClipEvent
    A volte nella vita è meglio tener la bocca chiusi e passare per idioti, che aprirla e togliere ogni dubbio!!!

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao
    Non ho visto la guida ma effettivamente nello script che hai postato c'è qualche errore di fondo.

    Innanzitutto hai inserito due eventi uguali (mouseMove) ma inserendo diverse azioni in ciascuno di essi... tanto vale indicarne solo uno e metterci dentro tutte le azioni.

    Ma anche se tu indicassi più gestori di eventi uguali, non dovrebbe darti errori, però nel tuo caso ti sei dimenticato di chiudere qualche parentesi... ecco perchè ti salta fuori quell'errore.

    Ho modificato lo script in questo modo (le parentesi in rosso sono quelle che hai dimenticato):
    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 (mouseMove) {
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    		gotoAndStop(11);
    		_root.comandi(_parent._name);
    		premuto = true;
    	}
    }
    Ma dato che il gestore di eventi richiama lo stesso evento, sarebbe più corretto, come forma, utilizzarne uno solo scrivendo in questo modo:

    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;
    		}
    	}
    	// ho eliminato il gestore con l'evento uguale e unito i due blocchi di script in un unico gestore
    	if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
    		gotoAndStop(11);
    		_root.comandi(_parent._name);
    		premuto = true;
    	}
    }
    Spero tu abbia compreso il concetto.

    PS: quando posti del codice utilizza i tag appositi ([ code ] oppure [ php ]) per formattare meglio il testo della tua richiesta in modo che la lettura sia più scorrevole.

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

  4. #4
    Grazie mille KillerWorm, sei stato gentilissimo e ho risolto.
    Il secondo onClipEvent però è diverso non è mouseMove ma mouseDown, in pratica se ci passo sopra col mouse fa un effetto di fade avanti e indietro se invece è cliccato resta bianco.
    Grazie mille ancora
    .....
    anche se mi sa che incontrerò altri problemi seguendo l'utilissima guida del sito
    A volte nella vita è meglio tener la bocca chiusi e passare per idioti, che aprirla e togliere ogni dubbio!!!

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Il secondo onClipEvent però è diverso non è mouseMove ma mouseDown
    oh bene...

    non farci caso sto invecchiando...

    Comunque mi fa piacere che tu abbia risolto...

    Se incontri altri problemi c'è sempre il forum a disposizione..
    Ti consiglio comunque, dato che vuoi imparare, di impegnarti ad apprendere i concetti base che ti servono per impostare correttamente la struttura dello script, piuttosto che copiare "cecamente" da guide e tutorial, così da poter risolvere autonomamente problemi del genere.

    Un buon metodo è anche quello di consultare prima di tutto, se già non lo fai, la stessa guida di flash per ogni nuova "azioni" che incontri.
    Ogni azione è infatti spiegata nel dettaglio e spesso sono riportati script di esempio.

    Inoltre, non ricordo su flash 5, ma dovrebbero esserci anche degli esercizi di apprendimento nella guida stessa.
    Potrebbero esserti utili.

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

  6. #6
    ciao Killer...magari tu sai aiutarmi come hai fatto in passato su questo stesso argomento.
    alla fine per i fatti miei ho creato un movieclip...in cui se ci passo il mouse sopra una freccia si sposta ina vanti e se mi tolgo torna alla posizione iniziale, così come il pulsante della guida passava dal giallo al bianco e viceversa
    Gli ho associato il codice di sopra
    codice:
    onClipEvent (mouseMove) {
    	
    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) {
     getURL("corsi.html", "centro"); 
    }
    e devo dire che quando lo provo con Flash 8 funziona alla perfezione, ma quando lo esporto in .swf e lo provo con Explorer o mozilla mi da problemi...si blocca, non riparte. In compenso se ci clicco su va al link giusto.
    Sai perchè quandolo simulo con flash funziona e sui browser no?
    Grazie
    A volte nella vita è meglio tener la bocca chiusi e passare per idioti, che aprirla e togliere ogni dubbio!!!

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao..

    Ho provato lo script e a me pare che + o - funzioni..

    Ma il fatto che si blocca e riparte, lo fa sempre oppure è come se fosse un po' inceppato?


    A me ad esempio si inceppa ogni tanto perché ho inserito degli stop per fermare il movimento e non ho messo però dei controlli per determinare se effettivamente sono sopra o no..
    Tu hai inserito degli script particolari nella timeline del clip in questione?

    In qualunque caso questo incide sia pubblicando da flash sia quando apro il filmato in una finestra del browser..
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Come nella guida, ho messo due stop(), uno al fram 1 e l'altro all'11.
    Quando pubblico con flash è tutto fluido, quando lo metto nei browser e ci arrivo col mouse da sotto parte e arriva al frame 11,appena esco si blocca li, devo ripassarci un paio di volte per farlo tornare al frame 1.
    Sempre da browser, se ci passo orizzontalmente sembra essere più fluido rispettto a quando ci passo verticalmente.In caso posso postarti il file?
    A volte nella vita è meglio tener la bocca chiusi e passare per idioti, che aprirla e togliere ogni dubbio!!!

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.