Ciao a tutti, passo subito al mio problema:
stò creando un componete in flash, e, ad un certo punto, mi ritrovo a dover creare una funzione che selezioni una riga cliccata. Quando aggiungo una riga alla listBox (il mio componente) creo una label (attaccando un oggetto dalla libreria) in questo modo:
come vedete nella funzione associata a onPress, faccio riferimento a 2 variabili globali, che mi rappresentano l'ID della riga selezionata e l'istanza dell'ultima riga selezionata. Bene, io vorrei che queste variabili facessero parte dell'oggetto EditableListBox, e non fossero globali, ma non so come fare riferimento a queste dall'interno della funzione associata ad onPress: infatti "this.selected" non va bene peerchè farebbe riferimento alla variabile "selected" all'interno dell'istanza myLabel (che non esiste), ma neanche EditableListBox.selected si può usare... come posso fare??codice:EditableListBox.prototype.addLine = function(name) { this.container.attachMovie("label", "label" add this.counter, this.counter+1); myLabel = this.container["label" add this.counter]; cl = new Color(myLabel.base); if (this.counter%2 == 0) { cl.setRGB(0xFFFFFF); } else { cl.setRGB(0xCCCCCC); } w = this.elb_width-this.scrollbar.base._width; myLabel.base._width = w; myLabel._x = 1; myLabel.ID = this.counter; myLabel._y = myLabel.base._height*this.counter; myLabel.name.text = name; myLabel.name._width = w; myLabel.onPress = function() { cl = new Color(this.base); if (_global.last_selected != null) { ccc = new Color(_global.last_selected.base); ccc.setRGB(0xFFFFFF); } if (_global.selected == this.ID) { cl.setRGB(0xFFFFFF); _global.last_selected = null; _global.selected = -1; } else { _global.selected = this.ID; _global.last_selected = this; cl.setRGB(0xFF0000); } }; this.counter++; };

Rispondi quotando
