Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    29

    array multidimensionale in una class

    ciao a tutti;

    qualcuno sa se è possibile e come fare a dichiarare un array multidimensionale in una class?

    se la dichiaro col metodo classico ottengo un errore (This statement is not permitted in a class definition).

    grazie in anticipo, pietro.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    pvago il tuo nick ti rispecchia abbastanza... magari inserisci il codice che utilizzi attualmente e che genera l'errore, inoltre dichiara la versione di ActionScript per cui stai sviluppando...

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    29
    originale la battuta!

    sto programmando in actionscript 2.0 e il codice è il seguente:

    class Mstanza {
    var nomeStanza:String;
    var righeStanza:Number;
    var colonneStanza:Number;

    var visore:Array = Array(righeStanza);
    for (tempVar1=0; tempVar1<righeStanza; tempVar1++) {
    visore[tempVar1] = new Array(colonneStanza);
    }
    }

    il compilatore sembra non digerire il ciclo for nella dichiarazione di una class, e va in errore con "This statement is not permitted in a class definition"

    quindi, come creo un array multidimensionale?

    grazie, pietro.

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da pvago
    originale la battuta!
    mi sa che te l'hanno fatta spesso eh?!

    ok, per quanto riguarda il problema direi che innanzi tutto c'è un problema di assegnazione
    infatti le assegnazioni vanno fatte sempre con new, quindi nel tuo caso:

    var visore:Array = new Array(righeStanza);

    poi le azioni nelle classi vanno definite dentro a funzioni, nel tuo caso basterà definire un "costruttore", in questo modo

    Codice PHP:
    class Mstanza {
        var 
    nomeStanza:String;
        var 
    righeStanza:Number;
        var 
    colonneStanza:Number;
        var 
    visore:Array;
        function 
    Mstanza (){
            
    visore = new Array(righeStanza);
            for (
    tempVar1=0tempVar1<righeStanzatempVar1++) {
                
    visore[tempVar1] = new Array(colonneStanza);
            }
        }


  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il modo, in generale, di creare una classe, è questo

    Codice PHP:
    // dichiarazione della classe
    class NomeDiClasse {
        
    // dichiarazione delle funzioni private, da usare dentro la classe
        
    private var __target:MovieClip// dichiaro ad esempio un target a cui applicare delle azioni
        // dichiarazione del costruttore, sarà quello da utilizzare nel momento
        // della creazione di un'istanza della nostra classe, passandogli i parametri dichiarati nel costruttore
        // il costruttore è una dichiarazione di funzione con lo stesso nome della classe
        
    function NomeDiClasse (target:MovieClip){
            
    __target target// assegno alla variabile privata il parametro
            
    __init__(); // richiamo una funzione privata che dichiaro e utilizzo solo nella classe
        
    }
        private function 
    __init__(){
            
    __target._x 100;
            
    __target._y 300;
            
    __target._alpha 50;
        }
        
    // inoltre si possono dichiarare funzioni pubbliche, che saranno poi i metodi della classe
        
    public function setClipName (name:String) {
            
    __target.name name;
        }


  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    29
    che dire, funziona tutto.

    forse non passerai alla storia per le battute, ma sicuramente hai più chances con la conoscenza di actionscript.

    sei stato gentilissimo.

    grazie, pietro.

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da pvago
    forse non passerai alla storia per le battute
    meno male... non son di quel genere

    Originariamente inviato da pvago
    grazie, pietro.

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.