Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    12

    nome di un componente deciso a runtime?

    Ho la necessità di avere una lista di coppie di componenti del tipo
    TextArea CheckBox
    di un numero noto solo a runtime.
    Non sapendo se e come inserire in una posizione precisa componenti a runtime, ho pensato di inserirne un numero massimo e poi di agire tramite la proprietà Visible.
    Ora però ho un problema: come riferirmi al nome di un componente ricavato a runtime?
    Ad esempio:
    codice:
     
    for (i = 0; i < 35; i++) 
    {
       nome = "c".i; 
       _root.nome.visible = false;
    }
    Ovviamente così non funziona. Era solo per rendere l'idea.
    Grazie infinite.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    prova con

    for (i = 0; i < 35; i++)
    {
    nome = "c" +i;
    _root[nome].visible = false;
    }

  3. #3
    e cmq sia metterne un numero noto e agire sul visible non è certo la soluzione

    per i checkBox ad esempio:

    maxi=20; // non devi specificarlo davvero, è quel numero che ti arriva runtime

    for(var i=0; i<maxi; i++) {
    this.attachMovie("FCheckBoxSymbol", "c"+i, i, {_x:200, _y:50*i});
    }

    e poi ognuno lo puoi richiamare semplicemente con this["c"+i];
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    12

    ancora su controllo runtime

    Sorry,
    ritorno su una vecchia discussione...
    Tu dicevi:
    codice:
    maxi=20; // non devi specificarlo davvero, è quel numero che ti arriva runtime 
    
    for(var i=0; i<maxi; i++) { 
    	this.attachMovie("FCheckBoxSymbol", "c"+i, i, {_x:200, _y:15*i}); 
    }
    Ed è una soluzione ottima di cui ti ringrazio, ma non riesco
    successivamente a settare le proprietà di uno dei
    checkBox creati,ad es.
    codice:
    this["c3"].label = "prova";
    non funziona.

  5. #5
    impossibile, posta anche tutto il resto del codice

    (a parte che se devi fare un ciclo tu non devi mettere this["c3"] ma this["c"+i] )
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    12
    Il codice è il seguente ed è posto nell'unico frame:
    codice:
    maxi=20; // non devi specificarlo davvero, è quel numero che ti arriva runtime 
    
    for(var i=0; i<maxi; i++) { 
    	this.attachMovie("FCheckBoxSymbol", "c"+i, 1, {_x:200, _y:15*i}); 
    } 
    this["c3"].label = "prova";
    stop;
    Riguardo l'ultima precisazione, ho poca esperienza con Action Script ma molta di programmazione ;-))
    Ti sarò molto grato se mi aiuterai a chiarire l'arcano.
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    12
    Voglio precisare che nel codice del msg precedente la depth è 'i' e non 1.
    Attendo tuoi suggerimenti...

  8. #8
    il codice è a posto a parte le parentesi dopo lo stop();

    sei sicuro che tale componente abbia un valore "label"... magari non esiste e non gli serve a niente

    non è + probabile che abbia un metodo da chiamare tipo this["c3"].setLabel("prova"); ?

    e poi se vuoi chiamare un mc di cui sai già il nome e non va costruito le quadre nn ti servono, ti basta

    this.c3.setLabel();
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    12
    OK.
    Però l'assegnazione della label o della proprietà selected del componente CheckBox con istruzioni del tipo
    _root.c3.label = "prova";
    funziona per un qualsiasi componente trascinato sullo stage dalla relativa palette...
    Forse il problema sta nel fatto che il componente che viene messo nello stage con attachMovie, non viene più visto come CheckBox e quindi le proprietà dette prima non esistono.
    Che ne pensi ?

  10. #10
    fantascienza...

    se puoi pubblica il fla che gli si da un okkio, altrimenti ti mando la mia mail

    cya
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

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.