Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Colore al pulsante

  1. #1
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    Colore al pulsante

    Ciao a tutti, ho un testo dinamico che uso come pulsante e vorrei che dopo averlo cliccato mi restasse colorato.
    Il testo è nero, il rollover è rosso, dopo averlo cliccato vorrei restasse rosso.

    Non so se è molto chiaro come l'ho scritto

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Se faccio la stessa cosa su un altro pulsante che si trova nello stesso fotogramma, come faccio a far tornare nero l'altro pulsante?

    Avevo provato ad inserire nel pulsante:

    var rosso:Color = new Color(pulsante);
    rosso.setRGB(0xFF0000);

    var nero:Color = new Color(pulsante2);
    nero.setRGB(0x000000);
    e funziona, il problema è che poi non mi fa più il rollover

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    invece di utilizzare un pulsante trasformalo in un clip. e fai due fotogrammi, uno in cui il testo è rosso, l'altro in cui è nero. etichettali con "rosso" e "nero" (nelle proprietà del frame)

    trascina il clip nello stage, fai click uno votla su di lui, apri la finestra azioni e scrivi:

    onClipEvent(load)
    this.clicked = false;
    }

    on(rollOver){
    if (!(this.clicked))
    this.gotoAndStop("rosso");
    }
    on(rollOut){
    if (!(this.clicked))
    this.gotoAndStop("nero");
    }

    on(Release){
    this.gotoAndStop("rosso");
    this.clicked = true;
    }


    dovrebbe andare!

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    in questo caso allora devi gestirti diversamente i tuoi mc!
    rinomina tutti i tuoi mc con una dicitura crescente, per esempio "pulsante1", "pulsante2","pulsante3" ecc...

    il codice sui pulsanti rimane uguale, devi solo aggiungere:

    on(Release){
    this.gotoAndStop("rosso");
    this.clicked = true;
    _root.GestorePulsanti(5) //dove 5 vuol dire quinto pulsante, 1 primo pulsante, 2 secondo, ecc...
    }


    ora farei cosìnon ti assicuro che funzioni xk nn ho provato il codice)


    //metti questa funzioncina su un livello dello stage
    function GestorePulsanti(numeropulsante){

    for (var i =1; i<=TOTPULSANTI;i++) // sostituisci TOTPULSANTI con il numero di pulsanti
    {
    if (i == numeropulsante) this["pulsante"+i].clicked = true;
    else this["pulsante"+i].clicked = false;
    }
    }


    spero funzioni!


  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    se scrivi questo codice riesci a vedere scritti i tuoi pulsanti?

    for (p in this) trace (p + " >> " + this[p]);

  9. #9
    Io proverei anche una soluzione diversa

    supponiamo che i tuoi pulsanti siano per semplicità 3, e si chiamino p1,p2,p3
    all'interno ci sia una sola frame contenente il campo di testo dinamico che è istanziato
    myField

    (nella libreria avrai un solo clip "btn_standard" che andrà bene per tutto.


    codice:
    // assegno il nome ai miei pulsanti
    
    p1.myField.text="Pippo"
    p2.myField.text="Pluto"
    p3.myFiled.text="Paperino"
    
    // creo un formato Testo per lo stato normale
    Normal_format = new TextFormat()
    Normal_format.color = 0x333333
    
    // creo un formato Testo per lo stato over
    Over_format = new TextFormat()
    Over_format.color = 0xFF0000
    
    // Creo un prototipo affinche tutti i clip si comportino nello stesso modo
    MovieClip.prototype.gestione_pulsanti=function(){
    
           this.onRollOver=function(){
                 if(!this.stato){
                     this.myField.setTextFormat(_level0.Over_format)
                 }
           }
      
           this.onRollOut=function(){
                 if(!this.stato){
                     this.myField.setTextFormat(_level0.Normal_format)
                 }
           }
    
           this.onPress=function(){
                // chiamo la funzione passando il parametro nome clip
                _level0.reset_color(this._name)
                 // altre eventuali azioni
           }
    }
    
    // Funzione di Init e Reset Color
    
    function reset_color(clip){  
          // presuppone che tutti i bottoni siano istanziati p1,p2,p3,p4 ecc
          trace(clip)
          N = 3 // numero max button
    
          for(I=1;I<=N;I++){
              this["p"+I].stato=false
    		  this["p"+I].myField.setTextFormat(Normal_format)  
              this["p"+I].gestione_pulsanti()
          }
    
          this[clip].stato=true
          this[clip].myField.setTextFormat(Over_format)
    }
    
    // richiamo l'Init
    reset_color()
    Ciao



  10. #10

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.