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.
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.
pvagoil 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...
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.
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=0; tempVar1<righeStanza; tempVar1++) {
visore[tempVar1] = new Array(colonneStanza);
}
}
}
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;
}
}
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.
meno male... non son di quel genereOriginariamente inviato da pvago
forse non passerai alla storia per le battute
Originariamente inviato da pvago
grazie, pietro.![]()
![]()