quinta-feira, abril 03, 2008

Slide Show básico

Usei a mcTeen aí, de novo. O efeito é bem simples e fácil de mudar.

1)Crie um movie clip, instanciado "carrega_fotos_mc";
2)Crie, por cima desse movie clip, um outro, instanciado "mascara_mc"
3)Cole esse código abaixo no único frame do arquivo



#include "mc_tween2.as"
this.onEnterFrame = function (){
//faz o preloader
if (this.getBytesLoaded() >= this.getBytesTotal()) {
this.onEnterFrame = null;
//cria um objeto XML para carregá-lo
var oXML = new XML();
oXML.ignoreWhite = true;
oXML.onLoad = function ()
{
//lê o nó principal
var rootNode = this.firstChild;
//lê os nós dentro do nó principal
var childNodes = rootNode.childNodes[0].attributes.src;
//carrega a primeira foto
mascara_mc.xScaleTo(Stage.width,2,"easeInExpo",0,function(){
carrega_fotos_mc.loadMovie(childNodes);
mascara_mc.xScaleTo(0,2,"easeInExpo",0)
})
//função que dá o tempo de visualização das fotos
function timeCarregaFotos(totalTimeFotos,positionNode){
/*
totalTimeFotos = tempo de exibição das fotos
positionNode = faz a navegação entre os nós do XML
positionNode = 0 = primeiro nó
*/
positionNode = 0
var timeInterval = setInterval(function(){
/*Verifica se passou do último nó, e se sim,
joga a posição do "ponteiro" para o primeiro

*/
trace("valor atual: " + positionNode)
if(positionNode >= 25){
trace("valor atual: " + positionNode)
positionNode = 0
mascara_mc.xScaleTo(Stage.width,3,"easeInExpo",0,function(){
//carregamento das fotos propriamente ditas
//ao terminar de carregar as fotos, esconde a máscara branca
carrega_fotos_mc.loadMovie(rootNode.childNodes[positionNode].attributes.src);
mascara_mc.xScaleTo(0,3,"easeInExpo",0)
})
}else{
positionNode++
trace("valor proximo: " + positionNode)
mascara_mc.xScaleTo(Stage.width,3,"easeInExpo",0,function(){
//carregamento das fotos propriamente ditas
//ao terminar de carregar as fotos, esconde a máscara branca
carrega_fotos_mc.loadMovie(rootNode.childNodes[positionNode].attributes.src);
mascara_mc.xScaleTo(0,3,"easeInExpo",0)
})
}
//converte milisegundos em segundos
},totalTimeFotos*1000)
}
timeCarregaFotos(8,0)
};
oXML.load("fotos.xml");
}
}
stop();

Nenhum comentário: