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

    ricavare il nome del bottone cliccato

    Ho una serie di bottoni nello stage di cui vorrei ricavare il nome dell'istanza al click su ognuno di essi...

    come faccio? ho provato con:

    Codice PHP:
    on (release) {    
        
    trace(this._name);    
        } 
    ma mi viene restituito il nome del mc che contiene il bottone, non quello del bottone che clicco. come devo fare?
    Rey
    La vita è un panaro, non sai mai quello che ti esce!
    photorealistic 3D rendering and animations and WEB Design

  2. #2
    lo script è corretto dipende però dove lo hai scritto e se hai istanziato il bottone.

    un consiglio i clip possono simulare i bottoni in tutto e per tutto
    controllandone gli eventi
    onRollOver, onRollOut, onPress, onRelease, onReleaseOuside

    quindi ti suggerisco di adoperare i clip invece dei bottoni.

    Ciao

  3. #3
    Grazie per la risposta... ma non capisco... perdonami...
    Dentro il simbolo del bottone non mi fa inserire azioni e fuori dal simbolo del bottone (ma con il bottone selezionato) il this mi fa riferimento all'mc che contiene il bottone.... dove devo metterlo?

    Ho provato anche a fare un mc come mi hai detto al posto del bottone e dentro l'mc ho messo la seguente azione (ma non funziona. non mi da nulla...):

    Codice PHP:
        
    this
    .onRelease = function() {    
        
    trace(this._name);

    e nemmeno:

    Codice PHP:
        trace(this._name); 
    cosa devo fare?
    Rey
    La vita è un panaro, non sai mai quello che ti esce!
    photorealistic 3D rendering and animations and WEB Design

  4. #4
    ah... dimenticavo il bottone è istanziato.
    Rey
    La vita è un panaro, non sai mai quello che ti esce!
    photorealistic 3D rendering and animations and WEB Design

  5. #5
    ok. ce l'ho fatta come clip. E mi va bene. ti ringrazio. Ma tanto per imparare cose nuove, se avessi voluto lasciarlo bottone come avrei dovuto fare?
    Rey
    La vita è un panaro, non sai mai quello che ti esce!
    photorealistic 3D rendering and animations and WEB Design

  6. #6
    suppongo che tu abbia messo il primo codice che avevi postato sull'oggetto, cioe il clip che a sua volta contiene il bottone

    avresti dovuto metterlo direttamente sul bottone e non sul clip che lo contiene


    fai una prova tanto per capire

    crea un rettangolo rosso, lo converti in clip e lo istanzi "myBTN"

    seleziona myBTN e premi nuovamente F( e converti ancora in clip e lo istanzi "myMC"

    avrai quindi un percorso

    _root.myMC.myBTN

    quindi puoi ad esempio scrivere (non sull'oggetto ma sulla frame della root)

    myMC.onPress=function(){ trace(this._name) }

    il risultato sarà "myMC"

    se invece scrivi salla frame interna di myMC

    myBTN.onPress=function(){ trace(this._name) }

    il risultato sarà "myBTN"

    poi prova anche ... tanto per capire

    myBTN.onPress=function(){ trace(this._parent._name) }

    il risultato sarà "myMC"

    Ciao

  7. #7
    ti ringrazio. ci studio.
    Rey
    La vita è un panaro, non sai mai quello che ti esce!
    photorealistic 3D rendering and animations and WEB Design

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao..
    Giusto per precisare.. reybluk non ha tutti i torti.

    In effetti utilizzando il gestore on sull'istanza del bottone, lo script farà riferimento al contenitore in cui lo stesso bottone è posto.

    Infatti consideriamo questo banale caso:
    codice:
    on (release) {
    	gotoAndStop(2);
    }
    Essendo posto, lo script, sull'istanza del bottone, l'azione gotoAndStop teoricamente dovrebbe agire sulla timeline del bottone stesso... ma non è così.
    Tale azione infatti fa riferimento alla timeline del contenitore in cui sta il bottone..

    Il bottone non funziona proprio come un clip filmato.
    Ora non ne so il motivo di questo diverso comportamento.. ma se non ricordo male fino alla versione 4 di flash non era nemmeno possibile attribuire un nome istanza ad un bottone..

    Quindi per recuperare il nome o qualsiasi proprietà del bottone, la soluzione è scrivere lo script su un frame adoperando quindi i gestori di evento in riferimento all'istanza di tale bottone, come indicato da rempox..
    In sostanza bisognerà trattare il bottone come un normale oggetto..

    Ora in as3 si è cercato di fare più chiarezza, infatti non è più possibile associare lo script scrivendolo direttamente sull'istanza.
    Gli eventi di tutte le classi quindi saranno gestiti tutti allo stesso modo tramite la classe EventDispatcher.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    corretto Killer

    il fato è che ormai da tempo i "bottoni" intesi come bottoni non li adopero più e do per scontato sempre che siano clip che simulano i bottoni.

    Stesso dicasi per gli script, scrivendoli sugli oggetti se hai un progetto un po più complesso alla fine diventa problematico tenere sotto controllo tutto il codice, pertanto prediligo sempre la scrittura sulle frame.

    Saluti

  10. #10
    grazie ragazzi. ora tutto mi è chiaro!!
    Rey
    La vita è un panaro, non sai mai quello che ti esce!
    photorealistic 3D rendering and animations and WEB Design

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.