Codice per usare FZip su flash
import deng.fzip.FZip
import deng.fzip.FZipFile
import flash.display.Sprite;
import flash.text.TextField;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.Loader;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
var zip:FZip;
var file:FZipFile
var testo:TextField;
var file_attuale:uint = 0;
var conta:uint = 0;
var fatto:Boolean = false;
function Test_FZip()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
testo = new TextField();
testo.height = 20;
testo.width = 576;
addChild(testo);
// load zip
zip = new FZip();
zip.addEventListener(Event.OPEN, Apri);
zip.addEventListener(Event.COMPLETE, Completo);
zip.load(new URLRequest("icone.zip"))
}
function Apri(evt:Event):void{
addEventListener(Event.ENTER_FRAME,esamina)
}
function Completo(evt:Event):void{
fatto = true;
}
function esamina(evt:Event):void{
// Se non siamo all'ultimo file dell'archivio
if(zip.getFileCount() > file_attuale){
// Ricaviamo il file attuale
file = zip.getFileAt(file_attuale);
// Controlliamo che sia un PNG presente nella cartella ICONS
if(file.filename.indexOf("icons/") == 0 &&
file.filename.indexOf(".png") != -1){
// Lo carichiamo...
var loader:Loader = new Loader();
loader.loadBytes(file.content);
// ...e lo posizioniamo sullo stage
loader.x = 18 * (conta % 32);
loader.y = 18 * Math.floor(conta / 32) + 20;
addChild(loader);
// Incrementiamo il numero di icone caricate
conta++;
// Mostriamo il numero di icone caricate nel campo di testo
testo.text = conta + " icone caricate";
}
// Passiamo al file successivo
file_attuale++;
}else{
// Se invece siamo all'ultimo file
if(fatto){ // Se l'esame dell'archivio è stato completato
// Rimuoviamo l'EnterFrame
removeEventListener(Event.ENTER_FRAME,esamina)
// Mostriamo nel campo di testo la dicitura per il caricamento completato
testo.text = "Tutte le icone sono state caricate"
}
}
}
Test_FZip()