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

    [ problema RollIn - Actionscript ] prova d'esame

    Ciao ragazzi
    sono nuovo del forum,
    studio progettazione multimediale all'accademia di belle arti di Urbino
    nel mio progetto di decorazione grafica che dovrei presentare fra un mese ho questo problema:
    praticamente nella mia animazione non mi funzionano i RollIn alti e bassi; o meglio, invece di eseguire i RollIn alti e bassi mi esegue quelli laterali! dovrei aggiungere una qualche variabile, ma non sò proprio cosa mettere!!!!...AIUTOOOOOO

    questa è l'animazione,

    http://urbino06.altervista.org/aiuto.html

    è composta da un MovieClip contenenti le animazioni,
    all'interno del MovieClip è posta anche l'area sensibile che contiene il seguente codice in ActionScript:


    ---------------------------------------INIZIO CODICE-----------------------------------
    on( rollOver ){
    if (_root.b != 1) {
    if ((_root._xmouse >_x) and (_root._xmouse < _x +this._width /2)) {
    gotoAndPlay("s2")
    }
    else if ((_root._xmouse >_x) and (_root._xmouse > _x +this._width /2)) {
    gotoAndPlay("s3")
    }
    else if ((_root._ymouse <_y + this._height) and (_root._ymouse >_y + this._height/2) ) {
    gotoAndPlay("s4")
    }
    else if ((_root._ymouse >_y) and (_root._ymouse <_y + this._height/2) ) {
    gotoAndPlay("s1")
    }
    }
    }


    on( rollOut ){

    if (_root.b != 1) {
    if ((_root._xmouse >_x + this._width) ) {
    gotoAndPlay("f2")
    }
    else if ((_root._xmouse < _x) ) {
    gotoAndPlay("f3")
    }
    else if ((_root._ymouse < _y ) ) {
    gotoAndPlay("f4")
    }
    else if ((_root._ymouse > _y + this._height ) ) {
    gotoAndPlay("f1")
    }
    }
    }
    ------------------------------------------FINE CODICE---------------------------------------------------

    nella pagina ho messo un link in basso per scaricare il sorgente dell'animazione

    qualcuno può darmi una mano???? VI PREGO NE VA DEL MIO ESAME!
    grazie in anticipo
    Luca

  2. #2
    ragazzi qualcuno mi può rispondere per favore????
    sono disperatooooo!!!

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non ho avuto modo di vedere il tuo .fla e non penso domani di riuscire, visto che sto a lavoro, ma penso che ti stai complicando un po' la vita, esiste sicuramente un'altro modo di agire per realizzare questa cosa, però mi devi dire con quale flash stai lavorando e fino a che player puoi pubblicare, per darti una mano

  4. #4
    stò utilizzando flash 8! per il player non ho problemi anche l'ultimo va bene!
    non sò se esiste altro metodo per risolvere il problema ....io con flash ho appena iniziato!
    cmq il problema attuale è che quando effettuo il rollin alto e basso nella funzione all'interno dell'actionscript vengono soddisfatti i rollin laterali .....dovrei aggiungere un'altra variabile!!!!


    cmq sia grazie della collaborazione ....aspetto tue notizie!
    Luca

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il problema è che almeno in uno dei due casi possibili per ogni lato in cui entri con il mouse, avrai un'interferenza con l'altro caso, quindi visto che il parser del Flash Player legge il codice dall'alto verso il basso, troverà una condizione soddisfatta all'inizio (dove ci sono le condizioni "laterali") e la eseguirà senza preoccuparsi dell'altra condizione soddisfatta

    ora il mio consiglio sarebbe quello di creare una cornice trasparente di circa 10px, attorno all'area di interesse, suddivisa nei quattro settori (alto, basso, destro, sinistro) e dare ad ognuno l'assegnazione di una variabile che verifichi da che parte si entra nel clip, poi dare al clip le azioni per l'animazione da eseguire

    ora devo tornare in studio (se riesco mi rimetto in contatto da lì)...

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ok, l'idea codificata è questa

    codice:
    var rollArea = "";
    var aree = new Array("alto", "basso", "destro", "sinistro");
    for(var i = 0; i<aree.length; i++) {
    	this[aree[i]].useHandCursor = false;
    	this[aree[i]].i = i;
    	this[aree[i]].onRollOver = function(){
    		rollArea = aree[this.i];
    	}
    	this[aree[i]].onRollOut = function(){
    		switch(this._name){
    			case "alto":
    				// azioni
    				rollArea = "";
    				break;
    			case "basso":
    				// azioni
    				rollArea = "";
    				break;
    			case "destro":
    				// azioni
    				rollArea = "";
    				break;
    			case "sinistro":
    				// azioni
    				rollArea = "";
    				break;
    		}
    	}
    }
    activeArea.onRollOver = function(){
    	switch(rollArea){
    		case "alto":
    			// azioni
    			rollArea = "";
    			break;
    		case "basso":
    			// azioni
    			rollArea = "";
    			break;
    		case "destro":
    			// azioni
    			rollArea = "";
    			break;
    		case "sinistro":
    			// azioni
    			rollArea = "";
    			break;
    	}
    }
    secondo questo codice, la cornice di elementi dovrebbe sbordare di 10px all'esterno e 10 all'interno in modo da fare loro stessi da rollout al posto dell'area attiva

  7. #7
    and80 sei veramente gentile....
    il codice in actionscript non mi è ben chiaro....
    ascolta! questa è la mia email: luca.alpha@gmail.com
    cmq adesso finisco la lezione e pubblico maggiori chiarimenti....

    grazie tantissimo cmq per la collaborazione!

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da luca.alpha
    and80 sei veramente gentile....
    il codice in actionscript non mi è ben chiaro....
    ascolta! questa è la mia email: luca.alpha@gmail.com
    cmq adesso finisco la lezione e pubblico maggiori chiarimenti....

    grazie tantissimo cmq per la collaborazione!
    cerco di implementare i commenti nello script, in modo che risulti più chiaro, manca la parte di codice che "muove" il MovieClip (in pratica il gotoAndPlay che hai nei tuoi IF) ma dovrebbe esser facile da implementare anche se non si ha troppa dimestichezza

    ti avrei preparato un esempio, ma come ti ho detto, non ho flash a disposizione qui a lavoro, e non ti posso dire quando avrò la possibilità di farlo

    l'idea che ho non è difficile da realizzare ma richiede comunque di essere testata, perchè comunque ho scritto il codice al volo e non sono certo di come funzionerà

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Codice PHP:
    // creo una variabile che mi verrà riempita a secnda dell'area su cui passo, al rollover sull'area attiva
    var rollArea "";
    // creo un array che mi contiene i quattro stati, che dovranno anche essere i nomi di istanza 
    // delle aree della cornice
    var aree = new Array("alto""basso""destro""sinistro");
    // attivo un ciclo sui quattro pulsanti, per evitare di riscrivere mille volte lo stesso codice ad ogni pulsante
    for(var 0i<aree.lengthi++) {
        
    // disattivo la visualizzazione della manina sugli elementi della cornice
        
    this[aree[i]].useHandCursor false;
        
    // assegno la variabile da cui dipendono i clip della cornice, per poterla richiamare con "this" 
        // da dentro alle azioni (onRollOver, onRollOut);
        
    this[aree[i]].i;
        
    // assegno l'azione di rollover ad ogni pulsante e gli dico che al rollover deve riempire la variabile
        // "rollArea" con il proprio nome (quindi "alto" o "basso" ecc...)
        
    this[aree[i]].onRollOver = function(){
            
    rollArea aree[this.i];
        }
        
    // al rollout verifico, su quale clip mi trovo utilizzando la condizione switch...case e in base
        // a questo, faccio la relativa azione
        
    this[aree[i]].onRollOut = function(){
            switch(
    this._name){
                case 
    "alto":
                    
    // qui ci va il gotoAndPlay corrispondente all'azione da eseguire,
                    // se esco dall'alto
                    
    gotoAndPlay("BOH1");
                    
    rollArea "";
                    break;
                case 
    "basso":
                    
    // se esco dal basso
                    
    gotoAndPlay("BOH2");
                    
    rollArea "";
                    break;
                case 
    "destro":
                    
    // se esco da destra
                    
    gotoAndPlay("BOH3");
                    
    rollArea "";
                    break;
                case 
    "sinistro":
                    
    // se esco da sinistra
                    
    gotoAndPlay("BOH4");
                    
    rollArea "";
                    break;
            }
        }
    }
    // assegno al pulsante "area attiva" il rollover
    // la cui gestione è identica a quella del rollout visto in alto
    // ma con la differenza di verificare la variabile "rollArea" 
    // e a seconda di questa, attivare la relativa animazione
    activeArea.onRollOver = function(){
        switch(
    rollArea){
            case 
    "alto":
                
    // se entro dall'alto
                
    gotoAndPlay("BOH1");
                
    rollArea "";
                break;
            case 
    "basso":
                
    // se entro dal basso
                
    gotoAndPlay("BOH2");
                
    rollArea "";
                break;
            case 
    "destro":
                
    // se entro da destra
                
    gotoAndPlay("BOH3");
                
    rollArea "";
                break;
            case 
    "sinistro":
                
    // se entro da sinistra
                
    gotoAndPlay("BOH4");
                
    rollArea "";
                break;
        }


  10. #10
    and80....il codice è diventato chiarissimo! grazie infinite!
    ore.... lo inserisco all'interno di ognuna della 4 aree sensibili poste dentro al movieclip che contiene l'animazione? e quella presente nel mio clip la cancello????

    oppure inserisco il codice all'interno dell'area sensibile del mio clip e le 4 aree sensibili le nomino nell'istanza e le lascio vuote????

    poi le quattro aree sensibili in che ordine vanno rinominate?????
    scusa l'incompetenza e la perdita di tempo!!!

    grazie ancora per la collaborazione

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.