Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282

    ascoltatori e pulsanti in AS3

    Salve a tutti, sto iniziando a conoscere AS3 ma è veramente complicato.
    Ho un piccolo problema spero che qualcuno mi possa aiutare.
    Allora ho 2 elementi sullo stage: 2 mc.
    1) uno piccolo rettangolo che si muove quando il mouse ci va sopra(movimento elastic destra e
    sinistra).
    2) e un testo che cambia colore quando il mouse ci va sopra.
    Entrambi sono 2 mc
    Il problema è questo, gli ascoltatori li ho applicati ma e funziona, purtroppo sono comunque 2 diverse aree per l'evento del mouse.
    Io nel rettangolino gli ho applicato un effetto elastic orizzontale (leggero in modo che quando ci si va con il mouse sopra fa il suo lavoro). Quando invece va nell'area piu' piccola cioè il testo (il secondo mc) succede che il rettangolo in precedenza ricomincia a fare l'effetto elastic (ho anche aggiunto un ascoltatore al roll out al rettangolo, ma comunque quando si abbandona l'area piccola del testo ricomincia il gioco dell'elastic (ed è un movimento troppo disordinato).
    Allora vi cheido come posso utilizzare le 2 aree come se fossero una sola?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    ops dimenticavo un ringraziamento in anticipo.
    Tony

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    up

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    inizierei postando il codice, da come descrivi la cosa non ho compreso appieno nè la situazione attuale, nè quello che vorresti ottenere

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Ciao Andrea, beh il codice è questo, ma li c'è uno script per far muovere l'oggetto di base che è una pergamena (movimento destro sinistro con classe Elastic) poi all'interno del mc ci ho piazzato un'altro oggetto che è il testo-pulsante che cambia colore al passaggio del mouse.
    Ora succede questo: quando il mouse passa sopra movie clip principale (la pergamena) tutto o.k., quando invece va sopra il testo, la pergamenta impazzische (in realtà lo fa perchè esce dal area della pergamena entrando nell'area del pulsante) come faccio ad unire i 2 oggetti come se fossero uno solo?
    l'istanza della pergamena è iscrizioni, il pulsante si trova come ho detto all'interno della pergamena e ci interagisco senza AS.

    Lo script è il seguente:


    //importo le classi...
    import fl.transitions.*;
    import fl.transitions.easing.*;
    import flash.display.*;
    import flash.net.URLRequest;
    import flash.events.Event;

    //creo le vari variabili qui, fuori dalla funzione per poter fare l'unload prima
    //di caricare un swf con la asse loader

    var ldr:Loader = new Loader();
    var url:String = "costruzione.swf";
    var urlReq:URLRequest = new URLRequest(url);

    //myTween2 è una variabile per far entrare un mc in con movimento class Elastic

    var myTween2:Tween = new Tween(iscrizioni, "x", Elastic.easeOut, 464.9, 326.2, 5, true);
    iscrizioni.buttonMode = true;

    // aggiungo gli ascoltatori
    iscrizioni.addEventListener(MouseEvent.MOUSE_OVER, movimento);
    iscrizioni.addEventListener(MouseEvent.CLICK, collegamento);
    iscrizioni.addEventListener(MouseEvent.MOUSE_OUT,f uori);



    function movimento(e:MouseEvent):void
    {
    // funzione x creare un effetto al passaggio del mouse: Movimento della
    // Pergamena

    var myTwe:Tween = new Tween(iscrizioni, "x", Elastic.easeOut, 326.2, 346.2, 4, true);
    }

    //funzione x scaricare(unload) un swf e caricarne un'altro esterno con la class Loader

    function collegamento(evento:MouseEvent):void
    {
    ldr.unload();
    ldr.load(urlReq);
    ldr.x=200;
    ldr.y=300;
    addChild(ldr);

    }
    //funzione per effetto di ritorno per il movimento all'uscita del mouse

    function fuori(eve:MouseEvent):void
    {
    var myTw:Tween = new Tween(iscrizioni, "x", Elastic.easeOut, 346.2, 326.2, 4, true);
    }

    // ho inserito una pausa per aspettare giusto un pochino prima che uscisse
    // un'altra pergamena (ne ho 6 sullo stage).

    stop();

    var nInterval2 = setInterval(Play2, 100);
    function Play2() {
    clearInterval(nInterval2);
    gotoAndPlay(6);
    }

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ah, ok... forse ora è più chiaro

    in pratica se un oggetto sta dentro un altro, in as3 viene comunque gestito separatamente dal mouse, a meno che non lo si inibisca utilizzando la proprietà "mouseChildren=false" che determina che tutti gli oggetti, presenti dentro il clip a cui la proprietà viene settata, di essere gestiti dal mouse come parte dello stesso elemento, senza che il mouse si "accorga" che quell'oggetto, nonostante sia dentro ad un altro, possa gestire il mouse separatamente

    quindi nel tuo caso devi aggiungere al tuo codice: iscrizioni.mouseChildren = false;

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Graze Andrea.
    Ho provato ma nel pulsante ci sono 3 fotogrammi nel primo il testo è bianco nel secondo cambia colore e nel terzo ritorna ad essere bianco.
    inserendo iscrizioni.mouseChildren = false; non mi cambia piu' il colore.
    Grazie
    Tony

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    con la modifica effettuata in pratica stai considerando pulsante solo il clip principale "iscrizioni", perciò devi rapportare a questo le azioni del clip che contiene il testo, anche se nel codice non riesco a capire dove sia quello che fa muovere il clip con il testo dentro ai fotogrammi

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    ciao in realtà non c'è nessuno script che muove il testo cioè gli fa cambiare colore.
    Allora ho un un mc pergamena sullo stage. All'interno di questo mc c'è un pulsante (vecchio stile) con i 3 fotogrammi all'interno del pulsante stesso (sopra, giu ecc.)...il cambio del colore è normale senza AS.

    oppure ti riferirvi al roll over del mouse sulla pergamena e al movimento di essa?
    se è così è la prima funzione che trovi dopo gli ascoltatori.
    grazie per l'aiuto.
    Tony

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    era quello che volevo capire, in effetti
    inizialmente hai detto che erano entrambi movieclip, mentre nel codice non c'era riscontro sul secondo che, essendo un pulsante, ha già internamente una sua logica di funzionamento con il rollover/rollout preimpostato

    quello che dovresti fare è di sostituire il pulsante con un mc e controllare, nelle funzioni che ti sei scritto, lo spostamento da un frame all'altro per il cambio del colore, quindi in pratica avresti tre frame e quando vai sulla pergamena ti si sposta e al contempo cambia il colore al testo

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.