Postare il codice nn sarà una cosa semplice, ma ci proverò ugualm. Il codice seguente si riferisce ai pulsanti ke aprono le relative pagine.
codice:
stop();
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import fl.motion.easing.*;
import flash.display.MovieClip;
import flash.events.MouseEvent;
var miotween:Tween;
var fin:Number=1;
var fout:Number=-1;
var idpagina:uint;
var paginaIN=Pagine;
var paginaOUT=Pagine;
var lista_menu:Array=new Array(menu.g0,menu.g1,menu.g2,menu.g3,menu.g4);
inizializzo();
paginaIN= new Pagine();
paginaOUT= new Pagine();
addChild(paginaIN);
addChild(paginaOUT);
paginaIN.x=paginaOUT.x=180;
paginaIN.y=paginaOUT.y=148;
paginaIN.visible=false;
paginaOUT.visible=false;
mostroPagina(1,-1);
function inizializzo():void {
for (var i=0; i<lista_menu.length; i++) {
lista_menu[i].mouseChildren=false;
lista_menu[i].buttonMode=true;
lista_menu[i].idpagina=i+1;
lista_menu[i].addEventListener(MouseEvent.CLICK,aggiungo);
lista_menu[i].addEventListener(MouseEvent.MOUSE_OVER,aggiungo);
}
}
function aggiungo(evt:MouseEvent):void {
var id:uint=uint(evt.currentTarget.idpagina);
cambiopagina(id);
}
function cambiopagina(clickmenu:uint):void {
fin=clickmenu;
mostroPagina(fin,fout);
fout=fin;
}
function mostroPagina(pin:uint, pout:Number):void {
if (fin!=fout) {
ingressoPagina(pin);
}
if (fin!=fout&&pout!=-1) {
uscitaPagina(pout);
}
}
function ingressoPagina(idpagina:uint):void {
paginaIN.visible=true;
paginaIN.gotoAndStop(idpagina);
var miotween=new Tween(paginaIN,"alpha",Regular.easeIn,0,1,0.2,true);
}
function uscitaPagina(idpagina:uint):void {
paginaOUT.visible=true;
paginaOUT.gotoAndStop(idpagina);
var miotween=new Tween(paginaOUT,"alpha",Regular.easeOut,1,0,0.2,true);
}
All'interno del movieclip Pagine, ho inserito diversi frames (tanti quante sono le pagine da visualizzare). All'interno di ciascun frame ho inserito il seguente codice, in cui variano solo i nomi delle foto e dei testi:
codice:
import flash.display.*;
import flash.net.URLRequest;
import LoadImg;
var img:LoadImg=new LoadImg("cartella/foto.png");
addChild(img);
////carico testo
var loader:URLLoader= new URLLoader();
var testo_file:URLRequest=new URLRequest("testi/testo.txt");
loader.addEventListener(Event.COMPLETE, mostroTesto);
loader.load(testo_file);
function mostroTesto(evt:Event):void {
var testo:TextField= new TextField();
testo.x=215;
testo.y=-187;
testo.wordWrap=true;
testo.autoSize=TextFieldAutoSize.LEFT;
testo.width=317;
testo.multiline=true;
var loader:URLLoader=URLLoader(evt.target);
testo.htmlText=loader.data;
addChild(testo);
}
Di seguito il file di classe LoadImg.as:
codice:
package {
import flash.display.*;
import flash.net.URLRequest;
import flash.events.*;
import flash.text.*;
import fl.transitions.Tween;
import fl.transitions.easing.*;
public class LoadImg extends Sprite {
private var _loaderStato:TextField;
public var id:uint;
private var loader:Loader;
private var prx,pry:uint; //queste sono le coordinate del preloader
private var pr,cornice_mc:MovieClip;
public function LoadImg(url:String="",imgx:uint=0,imgy:uint=0) {
prx=imgx;
pry=imgy;
cornice_mc= new Cornice(); //questa cornice serve x centrare le immagini
loader=new Loader ;
loader.contentLoaderInfo.addEventListener(Event.OPEN,apri);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progresso);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completo);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errore);
loader.load(new URLRequest(url));
cornice_mc.x=imgx;
cornice_mc.y=imgy;
cornice_mc.mouseChildren=false;
cornice_mc.addChild(loader);
addChild(cornice_mc);
}
private function apri(evt:Event):void {
pr=new Preloader();
addChild(pr);
pr.x=prx;
pr.y=pry;
}
private function progresso(evt:ProgressEvent):void {
var percent:Number=evt.bytesLoaded/evt.bytesTotal*100;
pr.testo_mc.text="Loading.... "+percent;
}
private function completo(evt:Event):void {
removeChild(pr);
pr=null;
loader.x=- loader.width/2;
loader.y=- loader.height/2;
new Tween(cornice_mc,"scaleX",Regular.easeIn,0.3,1,0.5,true);
new Tween(cornice_mc,"scaleY",Regular.easeIn,0.3,1,0.5,true);
}
private function errore(evt:IOErrorEvent):void {
trace("errore caricam. immagine");
}
}
}
Dove sbaglio?
:master: