In questo tutorial vedremo come caricare un immagine random/casuale da un file XML esterno.
Potete vedere un esempio qui
Useremo URLLoader per aprire il file XML "ListaImagini.xml", dove troviamo soltanto una semplice lista dei file immagine,
e utilizzeremo un Loader per caricare un'immagine dalla lista.
Le immagini che utilizeremo (bellissime opere gentilmente concesse  dal grande pittore Tomasi Massimo), si trovano in una cartella chiamata "images",

Attenzione: il file swf e la cartella "images" DEVONO RISIEDERE NELLA STESSA DIRECTORY,  altrimenti riceveremo un errore di caricamento.

1 - Per prima cosa, con un semplice editor di testo, creiamo il file xml e lo salviamo con il nome: ListaImagini.xml
Nel file xml inseriamo la lista dei file immagine:

<?xml version="1.0" encoding="utf-8"?>
<contenitore>
<contenuto>images/image01.jpg</contenuto>
<contenuto>images/image02.jpg</contenuto>
<contenuto>images/image03.jpg</contenuto>
<contenuto>images/image04.jpg</contenuto>
<contenuto>images/image05.jpg</contenuto>
<contenuto>images/image06.jpg</contenuto>
</contenitore>

NB: le immagini si devono trovare dentro la cartella chiamata: images

2 - Apriamo Flash, File > Nuovo > ActonScript 3.0
3 - Impostiamo le modifiche dell'area del lavoro cliccando su: Finestra > Proprietà > Modifica e impostiamo la larghezza a 600px e l'altezza a 450px
4 - Apriamo il panello Azioni, andando: Finestra > Azioni e inseriamo il codice sottostante (accompagnato dai commenti):

//impostiamo la larghezza e l'altezza delle immagini
var altezza:Number = 450;
var larghezza:Number = 600;

//definiamo URLLoader per caricare il file XML e il Loader per le immagini.
//NB: URLLoader  è "eseguito" quando il costruttore viene chiamato
var xmlLoad:URLLoader = new URLLoader( new URLRequest("ListaImagini.xml") );
var imgLoad:Loader = new Loader();
//e alla fine diciamo a Flash di eseguire la funzione "caricaLista" quando URLLoader ha completato il suo caricamento del file xml,
xmlLoad.addEventListener(Event.COMPLETE, caricaLista);

/*
Nella funzione "caricaLista" otteniamo i dati dall'oggetto URLLoader
e avendo nel file xml diversi tag "contenuto" comunichiamo alla var "stImage" di caricare una random.
Dato che "imgLoad" è un oggetto Loader dobbiamo chiamare il metodo load per caricare l'immagine.
L'ultima riga rimuove il listener di evento associato all'evento "caricaLista".
*/

function caricaLista(evt:Event):void {
  var xmlData:XML = XML(xmlLoad.data);
  var numImmagini:Number = xmlData.contenuto.length();
  var stImage:String = xmlData.contenuto[Math.floor(numImmagini*Math.random())].toString();
imgLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, caricaImmagini);
imgLoad.load( new URLRequest(stImage) );
xmlLoad.removeEventListener(Event.COMPLETE, caricaLista);
}

/*
La funzione "caricaImmagini" inserisce il contenuto del "imgLoad" come un oggetto Bitmap
in modo che possiamo scalarlo prima di aggiungerlo nello stage.
Si noti che usiamo scaleX e scaleY per ridimensionare l'immagine dalle variabili altezza e larghezza,
indipendentemente dalle sue proporzioni originali.
Alla fine aggancio un listener che verifica il fine caricamente è richiama una funzione.
*/

function caricaImmagini(evt:Event):void {
var thisBmp:Bitmap = Bitmap(imgLoad.content);
thisBmp.x = 0;
thisBmp.y = 0;
var thisWidth:Number = thisBmp.width;
var thisHeight:Number = thisBmp.height;

thisBmp.scaleX = larghezza/thisWidth;
thisBmp.scaleY = altezza/thisHeight;
addChild(thisBmp);

imgLoad.contentLoaderInfo.removeEventListener(Event.COMPLETE, caricaImmagini);
}


5 - Salviamo tutto e proviamo il filmato, cliccando: Controllo > Prova filmato
6 - Buon lavoro...
Continua a leggere

 Abbonati gratis a questo blog      
In questo tutorial vedremo i concetti di base per la creazione di layout fluidi in Flash AS3. Questo tipo di struttura espande e riposiziona il suo contenuto in maniera automatica in base alla dimensione della finestra. Potete vedere un esempio qui. Una volta caricata la pagina, provate a ridimensionare la finestra per vedere il contenuto posizionato automaticamente al centro della pagina.
1 - Per prima cosa create un nuovo MovieClip > Inserisci/Nuovo simbolo (ctrl+F8)
2 - Assegnate al clip creato come Nome Istanza: myClip
3 - Aprite il panello Azioni > Finestra/Azioni (F9) e inserite il codice sottostante:
NB: Prima di ogni riga di codice trovate il commento che vi spiega le funzioni:

//Importiamo la classe Tween
import fl.transitions.Tween;
import fl.transitions.easing.*;

//funzione che gestisce il ridimensionamento/resize dello stage
stage.addEventListener(Event.RESIZE, resizeListener);

/*Rende fissa l'intera applicazione Flash, in modo che rimanga invariata
anche se cambiano le dimensioni della finestra del lettore.*/
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

//Creiamo due variabili che sarano come riferimento per i Tweens nella funzione di ridimensionamento
var xTween:Tween;
var yTween:Tween;

//e alla fine aggiorniamo la funzione "resizeListener" per posizionare il clip al centro dello Stage
function resizeListener (e:Event):void {
xTween = new Tween (myClip, "x", Elastic.easeOut, myClip.x, (stage.stageWidth / 2), 2, true);
yTween = new Tween (myClip, "y", Elastic.easeOut, myClip.y, (stage.stageHeight / 2), 2, true);
}

4 - Provate il filmato > Controllo/Prova filmato (ctrl+Invio) e ridimensionate la finestra per vedere l'effetto e.... buon divertimento :)
Continua a leggere

 Abbonati gratis a questo blog      
Bellissima ballad francese cantata con sensibilità dal baritono russo Dmitri Horostovsky, compositore Igor Krutoy, che racconta la storia di Rosa, un'eroina tragica che involontariamente ha ucciso i suoi amanti con un bacio. Verrà punita con la pena di morte. Il suo esecutore/boia si innamora di lei, ma quando si baciano, si dimostra immune alla sorte che toccò tutti i suoi amanti precedenti, e così la storia di Rosa ha un lieto fine e lei alla fine trova il vero amore.

Guarda il video...Buona visione



Continua a leggere

 Abbonati gratis a questo blog