Salve a tutti,
qualche anima pia mi sa dire come posso definire una variabile globale in ActionScript 3.0?
Con as2 bastava fare _global.variabile = "globale";
ln as3 invece come si fa?![]()
Grazie mille in anticipo...
Salve a tutti,
qualche anima pia mi sa dire come posso definire una variabile globale in ActionScript 3.0?
Con as2 bastava fare _global.variabile = "globale";
ln as3 invece come si fa?![]()
Grazie mille in anticipo...
Usa il sistema dei namespace, ad esempio una classe statica che contenga le variabili (se hai capito bene, altrimenti dimmi che ti faccio un esempio).
l'esempio sarebbe ben gradito...
![]()
Ad esempio, crei una classe di questo tipo:
e dappertutto setti e recuperi il valore con:codice:package { public final class TuaClasseConUnNomeSignificativo { public static var tua_variabile:tipo; } }
codice:TuaClasseConUnNomeSignificativo.tua_variabile = ...; trace( TuaClasseConUnNomeSignificativo.tua_variabile );
Intanto grazie per la risposta.
Ho provato come mi hai suggerito, ma non sembra funzionare.
Forse la colpa è mia....
Lo script è così
ma i valori di fileDescription e fileExtension restano sempre "File" e "*.".codice:var fileDescription:String = "File"; var fileExtension:String = "*."; function changeHandler(event:Event):void { var fileType = myComboBox.selectedLabel; switch (fileType) { case "Immagine" : fileDescription ="Immagine"; fileExtension ="*.jpg; *.jpeg; *.gif; *.png"; break; default : isDefault = true; break; } } var browseFilter:FileFilter = new FileFilter(fileDescription, fileExtension);
Come posso fare?
![]()
Aspetta, questo problema non c'entra niente con le variabili globali.
A tutti gli effetti quello che succede nel tuo script è:
1. definisci le variabili
2. definisci il changeHandler
3. crei il filtro
Il problema è che il changeHandler non è stato chiamato da nessuno tra il punto 1 e il punto 3, e quindi le variabili iniziali conservano il loro valore quando crei il filtro. Quello che devi fare è:
codice:var fileDescription:String = "File"; var fileExtension:String = "*."; var browseFilter:FileFilter; function changeHandler(event:Event):void { var fileType = myComboBox.selectedLabel; switch (fileType) { case "Immagine" : fileDescription ="Immagine"; fileExtension ="*.jpg; *.jpeg; *.gif; *.png"; break; default : isDefault = true; break; } // crei il filtro qui dentro, così sei sicuro che viene creato // quando viene invocato l'handler browseFilter = new FileFilter(fileDescription, fileExtension); }
Grazie, così funziona!!!!
Sei stato davvero gentile!!!!
Già che ci sono vorrei farti un'altra domanda sulla funzione filereference.upload();
mi faresti un esempio sui parametri che devo passare?
Grazie ancora
In realtà dei parametri ti serve solo il primo, che è l'indirizzo della pagina web che effettua l'upload fisico del file. Se usi php, ad esempio, la pagina web pul contenere:
Codice PHP:<?php
$nome_file = $_FILES['Filedata']['name'];
$destinazione = "/tuo/percorso/" . $nome_file;
move_uploaded_file($_FILES['Filedata']['tmp_name'], $destinazione );
chmod( $destinazione, 0777 );
?>