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

    Non mi funziona il men¨ :-(

    Ciao a tutti!!

    Vi dico da subito che mi sto avvicinando al "mondo" Flash da pochi giorni. Ragazzi, ho questo problema:

    Allora... nella mia libreria ho un rettangolo che ho convertito in un Mc di nome pulsante_base. A questo associo il seguente script:

    -------------------------------------------
    onClipEvent (load)
    {
    coloreOLD = 0xCCCCCC;
    coloreNEW = 0xFFCC33;
    colore = new Color(this);
    sopra = false;
    }

    onClipEvent (mouseDown)
    {
    trace("Pulsante: " + _parent._name);
    }

    onClipEvent (mouseMove)
    {
    if (this.hitTest(_root._xmouse, _root._ymouse, false))
    { sopra = true; }
    else
    { sopra = false; }
    }

    onClipEvent (enterFrame)
    {
    if (sopra)
    { colore.setRGB(coloreNEW); }
    else if (!sopra)
    { colore.setRGB(coloreOLD); }
    }
    ----------------------------------------------

    Detto questo, sposto 2 di questi pulsanti sullo stage per crearne un men¨. Al primo pulsante associo il nome di istanza "Btn_1" e al secondo "Btn_2".

    Il quesito Ŕ questo: perchŔ quando passo sopra con il mouse, il colore dei bottoni cambia correttamente, mentre se faccio click su uno di essi, la trace mi restituisce il nome di entrambi i pulsanti, invece di indicarmi solo quello che ho premuto?!? Dove sbaglio?!

    Grazie in anticipo a tutti!!!
    Volere Ŕ potere

  2. #2
    provato con

    this._name

    ?

  3. #3
    Ho appena provato, ma il messaggio sulla trace non funziona ancora.
    Mi restituisce un doppio messaggio:

    "Pulsante: pulsante_base"
    "Pulsante: pulsante_base"

    usando this._name

    con _parent._name, mi vien restituito:

    "Pulsante: Btn_1"
    "Pulsante: Btn_2"

    sia che io prema il primo bottone o il secondo.

    Come mai non ne identifica uno solo!?! :master:
    Volere Ŕ potere

  4. #4
    deve proprio essere un

    onClipEvent (mouseDown)

    o va bene anke on (release) ??

    perkŔ ho provato con on (release) e il problema non lo da +, essendo un men¨ credo sia anke meglio, anke perkŔ con onClipEvent (mouseDown) lo fa cliccando ovunque ed essendo l'evento mouseDown rikiamato per entrambi i mc Ŕ normale ke li tracci entrambi...non so se mi sono spiegato ?

  5. #5
    provo a spiegarmi meglio, mi sono riletto e mi sono venute le convulsioni

    in parole povere i 2 mc ke hai sullo stage hanno l'evento mouseDown, entrambi attendono ke tu clikki ovunque sullo stage per eseguire il trace, quindi anke se tu klikki su uno solo dei 2 mc in realtÓ non cambia nulla ed entrambi lanciano il trace, se tu invece metti on(release) Ŕ univoco di quel solo mc, quindi il trace e relativo a quel solo mc, solo quando ci clikki fisicamente sopra.

  6. #6
    Ciao SK,
    scusa cosa intendi!? Se uso l'evento (mouseDown) credi che intercetti entrambi i pulsanti?! E come mai?! Se cosi fosse, dovrebbe colorare entrambi i fulsanti all'evento (mouseMove), no!?!

    Preferivo usare i mc come bottoni, invece dei pulsanti classici, perchŔ ho incominciato a studiare Flash sul tutorial di Enrico Lai, il quale ha proposto 2 osservazioni in merito:

    1) con i mc, usando un testo scorrevole, questo avanza
    continuamente. A differenza dei bottoni che, per avanzare
    con il testo, bisogna fare diversi click;
    2) con gli mc sparisce il puntatore a forma di "manina" quando
    ci passi sopra.

    In +, al momento ti confesso che non ho ancora visto come si utilizzano i bottoni classici ;-)

    Hai altri suggerimenti!?

    Grazie SK
    Volere Ŕ potere

  7. #7
    ma tu hai provato a sostituire il tuo kodice con questo ?

    codice:
    onClipEvent (load) 
    { 
    coloreOLD = 0xCCCCCC; 
    coloreNEW = 0xFFCC33; 
    colore = new Color(this); 
    sopra = false; 
    } 
    
    on (release) 
    { 
    trace("Pulsante: " + this._name); 
    } 
    
    onClipEvent (mouseMove) 
    { 
    if (this.hitTest(_root._xmouse, _root._ymouse, false)) 
    { sopra = true; } 
    else 
    { sopra = false; } 
    } 
    
    onClipEvent (enterFrame) 
    { 
    if (sopra) 
    { colore.setRGB(coloreNEW); } 
    else if (!sopra) 
    { colore.setRGB(coloreOLD); } 
    }
    il mouseMove e accompagnato da : this.hitTest, in parole povere, se si muove si, ma solo sopra a quel pulsante.

  8. #8
    altrimenti modifica kosý, se vuoi proprio l'evento mouseDown

    codice:
    onClipEvent (load) 
    { 
    coloreOLD = 0xCCCCCC; 
    coloreNEW = 0xFFCC33; 
    colore = new Color(this); 
    sopra = false; 
    } 
    
    onClipEvent (mouseDown) 
    { 
    if (this.hitTest(_root._xmouse, _root._ymouse, false))
    {
    trace("Pulsante: " + this._name); 
    }
    } 
    
    onClipEvent (mouseMove) 
    { 
    if (this.hitTest(_root._xmouse, _root._ymouse, false)) 
    { sopra = true; } 
    else 
    { sopra = false; } 
    } 
    
    onClipEvent (enterFrame) 
    { 
    if (sopra) 
    { colore.setRGB(coloreNEW); } 
    else if (!sopra) 
    { colore.setRGB(coloreOLD); } 
    }
    o anke:

    codice:
    onClipEvent (load) 
    { 
    coloreOLD = 0xCCCCCC; 
    coloreNEW = 0xFFCC33; 
    colore = new Color(this); 
    sopra = false; 
    } 
    
    onClipEvent (mouseDown) 
    { 
    if (sopra)
    {
    trace("Pulsante: " + this._name); 
    }
    } 
    
    onClipEvent (mouseMove) 
    { 
    if (this.hitTest(_root._xmouse, _root._ymouse, false)) 
    { sopra = true; } 
    else 
    { sopra = false; } 
    } 
    
    onClipEvent (enterFrame) 
    { 
    if (sopra) 
    { colore.setRGB(coloreNEW); } 
    else if (!sopra) 
    { colore.setRGB(coloreOLD); } 
    }
    vedi tu

  9. #9
    Grazie SK.
    Non ci avevo proprio pensato...! In effetti devo considerare il mouseDown solo in base al pulsante che viene realmente premuto.

    Ho utilizzato

    onClipEvent (mouseDown)
    {
    if (sopra)
    {
    trace("Pulsante: " + this._name);
    }
    }

    Ma dimmi... c'Ŕ tanta differenza con un "on (realese)"?

    Posso farti un'altra domanda? (per˛ non considera questo contesto)

    Come mai, se creo un mc che chiamo "menu" e dentro di esso metto questi due pulsanti di cui ti parlavo, se voglio modificare qualche proprietÓ utilizzando la sintassi menu[nome_bottone].<proprietÓ> accade che.... :

    la prima parentesi quadra non appare sull'editor!!!

    Come mai?! :master:

    Grazie ancora per la soluzione.
    Ciao by Mackly
    Volere Ŕ potere

  10. #10
    per la prima domanda....credo ke sia + komodo, almeno per me usare on(release) visto ke kon MX ora si possono usare anke questi eventi una volta dedicati ai soli pulsanti, in pratika oggi kome oggi i pulsanti non servono + quasi anulla, tranne in casi specifici.
    anke la manina Ŕ attivabile o disattivabile tramite Action Script.

    nel tuo caso penso sia meglio on(release) visto ke non mi sembra ci siano altre particolari esigenze per usare "mouseDown", poi io non conosco il resto del codice, quindi a te decidere e provare

    per la seconda domanda, non ho capito kosa vuoi dire ?

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 © 2021 vBulletin Solutions, Inc. All rights reserved.