Hi guys, im totally new at AS3, and im trying to do a simple dynamic content flash. Im used to AS2, im not good at all, but i have tons of flash games/facebooks games with as2.
but, i cant understand the logic for as3 T_T.
i have this:
import fl.transitions.Tween;
import fl.transitions.easing.*;
// CONTENEDOR
var MC:MovieClip = new MovieClip();
MC.x=50;
MC.y=50;
MC.name="MCcontenedor";
addChild(MC);
// FUNCIONES
function apretar(event:MouseEvent):void {
trace(event.target.name);
switch (event.target.name) {
case "botones0" :
img_grande("1.jpg");
break;
case "botones1" :
img_grande("2.jpg");
break;
default :
break;
}
}
function mover(event:TimerEvent):void {
var myTween:Tween=new Tween(btn[cont],"x",Strong.easeOut,btn[cont].x,100*col,1,true);
cont++;
if (cont%3==0) {
col++;
}
}
// VARIABLES
var fila:Number=0;
var col:Number=0;
var cont:Number=1;
var btn:Array=new Array ;
var cant:Number;
// GENERAR XML
function generar():void {
cant=xmlData.item.length();
//
var intervalo:Timer=new Timer(1000,cant-cont);
//
for (var i:Number =0; i<cant; i++) {
// CONTENEDOR BOTON
var botones:MovieClip = new MovieClip();
botones.name="botones"+i;
botones.y=100*fila;
botones.x=stage.stageWidth;
botones.mouseChildren=false;
botones.buttonMode=true;
botones.addEventListener(MouseEvent.MOUSE_DOWN, apretar);
btn*=MC.addChild(botones);
// COLUMNA FILA
fila++;
if (fila%3==0) {
fila=0;
trace(fila+" "+col);
}
// BOTON DE BIBLIOTECA
var item:MCthumb = new MCthumb();
item.name="MCthumb"+i;
botones.addChild(item);
// IMAGEN
crear_imagen(xmlData.item*.text(),i);
// TEXTO
var titulo:TextField = new TextField();
titulo.width=100;
titulo.height=25;
titulo.selectable=false;
titulo.text=xmlData.item*.@tit;
botones.addChild(titulo);
// ANIMACION
var myTween:Tween=new Tween(btn[0],"x",Strong.easeOut,btn[0].x,100*col,1,true);
intervalo.addEventListener(TimerEvent.TIMER, mover);
intervalo.start();
}
}
// MC LADO
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, onresize);
function onresize(e:Event):void {
trace(stage.stageWidth+" "+MClado.x);
MClado.x=stage.stageWidth;
}
// IMAGEN
function crear_imagen(imgPath,num):void {
var imageLoader:Loader = new Loader();
var image_url=new URLRequest(imgPath);
imageLoader.load(image_url);
btn[num].addChild(imageLoader);
}
// CARGAR IMG GRANDE
var cargado:Number=0;
var total:Number=0;
function img_grande(img:String):void {
var ldr:Loader = new Loader();
ldr.load(new URLRequest(img));
ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onprogress, false, 0, true);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded, false,0,true);
}
function loaded(e:Event):void {
MCimg.addChild(e.target.content);
}
function onprogress(e:ProgressEvent):void {
var loadPercent:int = Math.round((e.bytesLoaded/e.bytesTotal)*100);
cargado=e.bytesLoaded;
total=e.bytesTotal;
trace(loadPercent);
}
// CARGAR XML
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, falloXML, false, 0,true);
xmlLoader.load(new URLRequest("dinamic.xml"));
function LoadXML(e:Event):void {
try {
XML.ignoreWhitespace=true;
xmlData=new XML(e.target.data);
xmlLoader.removeEventListener(Event.COMPLETE, LoadXML);
xmlLoader.removeEventListener(IOErrorEvent.IO_ERROR, falloXML);
generar();
} catch (err:Error) {
trace("Error al convertir XML");
trace(err.message);
}
}
function falloXML(e:IOErrorEvent):void {
trace("Error al cargar XML"+ e.text);
}
Let me explain, is a FLASH as3 that call an XML.
So i create a button ,attach movie clip from library , add a dynamic textField, and Load an external Image.
i have: MCcontainer -> button Container[XML item length] -> inside button Container*->(image jpg, textfield, attach movie).
Here is my doubt, if i want to move the Button 3, by logic is MCcontainer.button03.x = 100;
but i can’t!!! i need to put it inside an array and do btn[3].x = 100;
and if i trace the btn array : trace(btn) i get: [object movieclip, object movieclip]… i was looking for my button path like [MCcontainer.button01]
what im doing wrong??
http://www.resetpixel.com/VARIOS/dinamic.rar
thanx!