Jump to content
Sign in to follow this  
|seraph|

[AS3] Ajuda a alterar código para outra função

Recommended Posts

|seraph|

Olá,

Estou a tentar criar um swf com uma grelha de imagens que ao carregar nelas chamo outro swf. Para tentar explicar melhor o que pretendo a estrutura do site seria do tipo, ter um swf principal com o layout do site, menu, etc... e uma área reservada ao load de diferentes swf consoante o botão do menu carregado. Um dos swf que pretendo chamar contém uma grelha que ao carregar numa dessas imagens, o swf da grelha seria substituido por outro, e esses swf que carregassem a partir da grelha teriam um botão de retorno... muito complicado?

Ok, não percebo nada de programação, ainda mais que o que pretendo é que seja um site actualizável por xml... então encontrei um tutorial para algo idêntico ao que pretendo (http://www.republicofcode.com/tutorials/flash/as3gridgallery/index.php), a diferença é que em vez de carregar um versão full da imagem, quero carregar um swf no lugar deste...

O código usado é:

import fl.controls.ProgressBar;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var columns:Number;
var my_x:Number;
var my_y:Number;
var my_thumb_width:Number;
var my_thumb_height:Number;
var my_images:XMLList;
var my_total:Number;

var container_mc:MovieClip;
var preloaders_mc:MovieClip;
var full_mc:MovieClip;

var x_counter:Number = 0;
var y_counter:Number = 0;

var my_tweens:Array = [];
var container_mc_tween:Tween;
var full_tween:Tween;

var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("gallery.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void {
var myXML:XML = new XML(e.target.data);

columns = myXML.@COLUMNS;
my_x = myXML.@XPOSITION;
my_y = myXML.@YPOSITION;
my_thumb_width = myXML.@WIDTH;
my_thumb_height = myXML.@HEIGHT;
my_images = myXML.IMAGE;
my_total = my_images.length();

createContainer();
callThumbs();

myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
myXMLLoader = null;
}

function createContainer():void {
container_mc = new MovieClip();
container_mc.x = my_x;
container_mc.y = my_y;
addChild(container_mc);

container_mc.addEventListener(MouseEvent.CLICK, callFull);
container_mc.addEventListener(MouseEvent.MOUSE_OVER, onOver);
container_mc.addEventListener(MouseEvent.MOUSE_OUT, onOut);
container_mc.buttonMode = true;

preloaders_mc = new MovieClip();
preloaders_mc.x = container_mc.x;
preloaders_mc.y = container_mc.y;
addChild(preloaders_mc);
}

function callThumbs():void {
for (var i:Number = 0; i < my_total; i++) {

	var thumb_url = my_images[i].@THUMB;

	var thumb_loader = new Loader();
	thumb_loader.load(new URLRequest(thumb_url));
	thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

	thumb_loader.name = i;

	thumb_loader.x = (my_thumb_width)*x_counter;
	thumb_loader.y = (my_thumb_height)*y_counter;

	if (x_counter+1 < columns) {
		x_counter++;
	} else {
		x_counter = 0;
		y_counter++;
	}
	var preloader_pb:ProgressBar = new ProgressBar();
	preloader_pb.source = thumb_loader.contentLoaderInfo;
	preloader_pb.x = thumb_loader.x;
	preloader_pb.y = thumb_loader.y;
	preloader_pb.width = my_thumb_width;
	preloader_pb.height = my_thumb_height;
	preloaders_mc.addChild(preloader_pb);

	preloader_pb.addEventListener(Event.COMPLETE, donePb);
}
}

function thumbLoaded(e:Event):void {
var my_thumb:Loader = Loader(e.target.loader);
container_mc.addChild(my_thumb);
my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);

my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
}

E ainda ter um campo de texto que varia consoante o botão activado...

Alguém tem a amabilidade e o conhecimento para me ajudar a alterar o código?

Obrigado

Cumps!

Share this post


Link to post
Share on other sites
|seraph|

Não há ninguém que me saiba/possa ajudar?

Algum webdesigner freelancer com bons conhecimentos de flash+xml interessado em fazer-me partes do site?

Cumps!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.