|
Forum Flash, Actionscript, PHP e MySQL
|
|
|
|
|
|
| Autore |
Messaggio |
bambo
intermedio


Età: -1982
Registrato: 29/11/07 13:30
Messaggi: 104
Località: Verona
|
Oggetto: Slide show di foto
Inviato: 13.11.08 | 15:28 |
|
|
Ciao a tutti,
sto cercando il modo di creare uno slideshow di foto con file xml che mi faccia un effetto simil questo a quello crato da jsn_imageshow.
Qualcuno sa darmi qualche consiglio?
Io posto un as per creare uno slide con un effetto carino. Basta inserirlo nel falsh come action e creare un file xml.
Se puo essere utile a qualcuno
| Codice: | import fl.transitions.*;
import fl.transitions.easing.*;
////////////////////////////////////////////////////////////////////////
// Variables Initiation and Declaration
////////////////////////////////////////////////////////////////////////
var pic_prev_mc:MovieClip=new MovieClip();
var pic_mc:MovieClip=new MovieClip();
var picInitial_mc:MovieClip=new MovieClip();
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML;
var thumbLoader:Loader;
var index:int=0;
var picArray:Array=new Array();
var timer :Timer=new Timer(1000,4);
var curr:int=1;
var totalPictures:int;
var flag:int=0;
var bitmap:DisplayObject;
var effect:Object=Photo;
////////////////////////////////////////////////////////////////////////
// Function XMl Loading
////////////////////////////////////////////////////////////////////////
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
var httpHeader : URLRequestHeader = new URLRequestHeader("pragma","no-cache");
var path:String="Qui il nome dell'xml .xml";
xmlLoader.load(new URLRequest(path));
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
stage.scaleMode = StageScaleMode.EXACT_FIT;
stage.stageWidth= xmlData.Width;
stage.stageHeight=xmlData.Height;
getValues(xmlData);
}// end of Load XML
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR,funcError);
function funcError(event:IOErrorEvent){
trace("Error occured in XML Loading");
}
function getValues(input:XML) {
var xmlCategoryList:XMLList = input.children();
totalPictures=input.children().length();
var item:XML;
for each (item in xmlCategoryList) {
loadThumbs();
}
}
////////////////////////////////////////////////////////////////////////
// Function loadThumbs
////////////////////////////////////////////////////////////////////////
function loadThumbs():void {
thumbLoader = new Loader();
thumbLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadThumbProgress);
thumbLoader.contentLoaderInfo.addEventListener(Event.INIT, thumbLoaded);
thumbLoader.load(new URLRequest(String(xmlData.path[index])));//access the thumbnails
function loadThumbProgress(e:ProgressEvent):void {
}
////////////////////////////////////////////////////////////////////////
// Function thumbloaded
////////////////////////////////////////////////////////////////////////
function thumbLoaded(e:Event):void {
for(var i:int=0;i<totalPictures;i++){;
picArray[i]=xmlData.path[i];
}
addChild(picInitial_mc);
picInitial_mc.addChild(thumbLoader.content);
bitmap=thumbLoader.content;
}
function xmlLoadFail(event:IOErrorEvent):void {
trace("error loading the XML");
}
}
////////////////////////////////////////////////////////////////////////
// Function Next Pic Loading
////////////////////////////////////////////////////////////////////////
function nextPicLoad(string:String) {
thumbLoader = new Loader();
thumbLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadThumbProgress);
thumbLoader.contentLoaderInfo.addEventListener(Event.INIT, thumbLoaded);
thumbLoader.load(new URLRequest(String(string)));
function thumbLoaded(e:Event):void {
stage.addChild(thumbLoader.content);
addChild(pic_mc);
addChild(thumbLoader.content);
pic_mc.addChild(thumbLoader.content);
bitmap=thumbLoader.content;
//Blinds, Fade, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, or Zoom.
TransitionManager.start(pic_mc, {type:Fade, direction:Transition.IN, duration:1, easing:Regular.easeInOut});
TransitionManager.start(pic_mc, {type:Wipe, direction:Transition.IN, duration:1, easing:Regular.easeIn});
}
function loadThumbProgress(e:ProgressEvent):void {
}
}
////////////////////////////////////////////////////////////////////////
// Function Pic Display
////////////////////////////////////////////////////////////////////////
function picDisplay() {
timer.start();
timer.addEventListener(TimerEvent.TIMER_COMPLETE,funcTimer);
function funcTimer(event:TimerEvent) {
for(var k:int=0;k<pic_mc.numChildren;k++){
pic_mc.removeChildAt(k);
}
if (flag==0) {
flag=1;
removeChild(picInitial_mc);
} else {
removeChild(pic_mc);
}
addChild(bitmap)
nextPicLoad(picArray[curr]);
curr++;
if (curr==totalPictures) {
curr=0;
}
timer.reset();
timer.start();
}
}
picDisplay();
stop(); |
____________________________________________________________ http://www.doc-pc.it Se hai bisogno di aiuto... |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
bambo
intermedio


Età: -1982
Registrato: 29/11/07 13:30
Messaggi: 104
Località: Verona
|
Oggetto:
Inviato: 13.11.08 | 17:54 |
|
|
Be mi rispondo da solo intanto,
ho fatto questo AS, che però vorrei si zommasse in ordine casuale una volta centrale una volta dx una volta sx una volta su e una giu
| Codice: | function zoom(mc, inizio, fine, tempo) {
tipo = mx.transitions.easing.Strong.easeOut;
muovix = new mx.transitions.Tween(mc, "_xscale", tipo, inizio, fine, tempo, true);
muoviy = new mx.transitions.Tween(mc, "_yscale", tipo, inizio, fine, tempo, true);
}
onLoad
{zoom(sposta_mc, inizio, fine, 1);
inizio = sposta_mc._xscale;
fine = inizio + 20;
if (inizio)
{
zoom(sposta_mc, inizio, fine, 2);
}
} |
mi permette di zummare la foto, a questo dovrei attaccargli un effetto ALFA simil questo
| Codice: | MovieClip.prototype.alpha = function(vel, to) {
this.vel = vel;
this.to = to;
this.alpha_init = this._alpha;
this.onEnterFrame = function() {
updateAfterEvent();
if (this.to != undefined && this.vel != undefined) {
if (this.to>this.alpha_init) {
if (this._alpha<=100) {
this._alpha += this.vel;
} else {
this.onEnterFrame = null;
}
} else {
if (this._alpha>this.to) {
this._alpha -= this.vel;
} else {
this.onEnterFrame = null;
}
}
} else {
}
};
}; |
e far girare tutte le foto che carico da un XML esterno.
MA NON NE ESCO QUALCHE CONSIGLIO? ____________________________________________________________ http://www.doc-pc.it Se hai bisogno di aiuto... |
|
| Torna in cima |
|
|
bambo
intermedio


Età: -1982
Registrato: 29/11/07 13:30
Messaggi: 104
Località: Verona
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 17.11.08 | 18:43 |
|
|
Ciao bambo,
il copiare ed incolalre codice preso e modificato non aiuta a risolvere i problemi (credo)
Dovresti più che altro procedere passo per passo ed esporre il singolo problema che ti blocca, eprchè chiedere vorrei fare una gallery così con effetto cosà è un po' generale...
Il link d'esempio che hai postato a me sembra un semplice loadMovie di immagini esterne (XML) con un effetto di fade sui canali del colore, guarda se questo topic può esserti d'aiuto:
» effetto hue ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
bambo
intermedio


Età: -1982
Registrato: 29/11/07 13:30
Messaggi: 104
Località: Verona
|
Oggetto:
Inviato: 25.11.08 | 19:18 |
|
|
Eccomi qua,
allora ho creato l' effetto desiderato con un as, a cui dico di prendere una tale immagine con il comando
| Codice: | var picture:String = "gallery1"; |
per dargli l'effetto desiderato e la faccio pescare da
| Codice: | loadPic("images/"+picture+".jpg",holder.orig); | .
Questo mi piace come esempio, però mi piacerebbe avere la possibilita di caricare tutte le immagini presenti nella cartella images, creare insomma un ciclo su una cartella per caricare utte le immagini che possono avere un nome casuale e non incrementale. ____________________________________________________________ http://www.doc-pc.it Se hai bisogno di aiuto... |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 26.11.08 | 14:14 |
|
|
Se vuoi caricare tutte le immagini contenute in una cartella, devi utilizzare un linguaggio back-end come ad esmepio PHP che ti legga il contenuto della cartella e che ti restituisca i vari nomi delle immagini (dovrebbero già esserci degli esempi in qualche topic del Forum).
Se ti serve una mano per fare questo e trovi difficoltà chiedi pure.  ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
bambo
intermedio


Età: -1982
Registrato: 29/11/07 13:30
Messaggi: 104
Località: Verona
|
Oggetto:
Inviato: 26.11.08 | 15:35 |
|
|
Mmmm non ho ben capito ma provo a cercare, credevo si potesse aggiungere una chimata esterna ad un file xml che dica dove andare a pescare le foto, in realta il nome delle immagini puo essere incrementale tanto ne devo mettere poche.
Guardo, grazie come sempre Coach ____________________________________________________________ http://www.doc-pc.it Se hai bisogno di aiuto... |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 26.11.08 | 21:24 |
|
|
Si certo, se utilizzi un numero incrementale, ti basterà passare via FlashVars il numero finale.
Se utilizzi un XML, non avrai nessun problema ;) ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
bambo
intermedio


Età: -1982
Registrato: 29/11/07 13:30
Messaggi: 104
Località: Verona
|
Oggetto:
Inviato: 27.11.08 | 11:52 |
|
|
Quindi in teoria io all' as che ho creato gli imposto queste funzioni
Creo la variabile
| Codice: | var xmlPhotos:XML = new XML(); |
richiamo l'evento
| Codice: | xmlPhotos.onLoad = function() {
xmlLength = this.firstChild.childNodes.length;
for (var i:Number = 0; i<xmlLength; i++) {
arPhotoPath[i] = (this.firstChild.childNodes[i].attributes.path);
}
initPhoto = setInterval(initPlay, 1000);
}; |
E richiamo l' xml
| Codice: | xmlPhotos.ignoreWhite = true;
xmlPhotos.load("file.xml"); |
Cosi? ____________________________________________________________ http://www.doc-pc.it Se hai bisogno di aiuto... |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 28.11.08 | 01:54 |
|
|
Si, dovrebbe andare... naturalmente non conosco nell'XML ne le altre tue funzioni... ma ci sei. ;) ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
|
|
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum Non puoi allegare files in questo forum Puoi downloadare gli allegati in questo forum
|
|