Visualizzazione dei risultati da 1 a 3 su 3

Discussione: trovare il nome di una serie di bottoni istanziati

  1. #1

    trovare il nome di una serie di bottoni istanziati

    salve, ho molti punlsanti uguali che mi formano una griglia 12x12
    i pulsanti hanno tutti il valore del nome istance: cel001 -cel002 ecc..

    il problema è che che non riesco a far riferimento al singolo bottone senza richiamare il suo nome istanziato. Siccome i pulsanti son tanti, volevo fare uno script ( con actionscript 2.0) che al click mettesse dentro ad una variabile il nome del pulsante cliccato, ma non riesco a farlo.

    con un esempio di script riferito alla cella: cel002 forse riesco a spiegarmi meglio:

    Codice PHP:
    //questo non funziona
    on (press) {
        
    _root.cella this._name;
        
    setProperty(Object(_root).mc1_x_root.cella._x);
        
    setProperty(_root.mc1_y_root.cella._y);
    }
    //questo funziona
    on (press) {
        
    _root.cella cel002;
        
    setProperty(Object(_root).mc1_x_root.cella._x);
        
    setProperty(_root.mc1_y_root.cella._y);

    ecco, il primo script è quello che mi interessa, ovvero che mi trovi da solo il nome della cella, ma non va

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,184
    Purtroppo in quel modo non è possibile gestire il nome del pulsante cliccato, quando si usa il codice direttamente sul pulsante il risultato di this è la timeline che lo contiene.
    Dovresti scrivere il codice sulla timeline.
    Il tuo caso si risolve con un semplice ciclo:

    Codice PHP:
    for (var i:Number=0i<144i++) {
        var 
    puls _root["cell"+i];
        
    puls.onPress = function () {
            
    _root.mc1._x this._x;
            
    _root.mc1._y this._y;
        }

    In questo modo, oltre a risolvere il problema, risparmi anche una notevole mole di lavoro, considerato che altrimenti dovresti scrivere il codice in ogni singolo pulsante.
    Ho messo 144 come numero perché hai detto che la griglia è di 12x12 pulsanti, però se fosse diverso ti basterà cambiare il numero nel ciclo.

    Addirittura, se i pulsanti fossero tutti uguali, si potrebbe pensare di creare la griglia direttamente runtime, senza doverli copiare e posizionare uno per uno, manualmente.

    Un ultimo suggerimento, nel messaggio scrivi che lavori con AS2, ma setProperty è una funzione deprecata già da as1, in favore della sintassi col punto.

  3. #3

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