Comunidad de diseño web y desarrollo en internet online

AS 2.0 / XML / Array

Citar            
MensajeEscrito el 05 Feb 2008 02:34 am
Gente,

Estoy teniendo un problema que cargando un xml dentro de un onEnterFrame no me reconoce el array. Nose si se me paso algo o no puedo ver el error. No me reconoce dias_xml como un array. le paso el codigo:

carga_xml.onLoad = function(success) {
if (success) {
var dias = carga_xml.firstChild;
var dia = dias.nextSibling;
var habd = dia.childNodes;
var meses = dia.nextSibling;
var habm = meses.childNodes;

[b]for (var i = 0; i<habd.length; i++) {
var dias_xml = new Array();
dias_xml.push(habd[i].firstChild);

reloj.onEnterFrame = function() {

var fecha = new Date();
reloj.fecha.text = dias_xml[fecha.getDay()]+", "+fecha.getDate()+" de "+meses[fecha.getMonth()]+" de "+fecha.getFullYear();[/
b]

};

}
for (var j = 0; j<habm.length; j++) {
_global.meses_xml = new Array();
meses_xml.push(habm[j].firstChild);

}
}
};
carga_xml.load("setup.xml");[/flash]

Por martingb

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Feb 2008 02:14 pm
1) el nuevo arreglo lo tienes que declarar fuera del FOR, de otra manera, simepre tendra un unico elemento, que es el ultimo nodo de HABD y HABM (en los dos FOR)

2) la declaración del onEnterFrame tambien debe estar fuera del FOR, no tiene caso declararlo por cada elemento de HABD.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 05 Feb 2008 02:27 pm
Gracias por la respuesta! igualmente ayer le encontre la solución por suerte!. igualmente ahora tengo otro problemilla....

Tengo un boton a modo de solapa que lo attacheo en el escenario, luego lo duplico 5 veces.... esto seria la botonera del sitio, el tema es que dentro de esta pestaña o boton separe el borde inferior y lo hice MC para que cuando el usuario presione se ponga del mismo color que la pestaña y el body.

Con lo cual tenemos lo siguiente.

copia0.barrita
copia1.barrita
copia2.barrita
copia3.barrita
copia4.barrita

barrita tiene dos frames ( frame 1 ( estado normal ) frame 2 ( estado presionado )

ahora dentro del for puse la variable copia que representa a todas las copias...

osea que ahora tengo copia.onRelease = function()..

El tema es que por ej... cuando presiono por ej.. la solapa copia1, el resto de las copias deben quedarse en barrita.gotoAndStop(1) y poner a copia1 en barrita.gotoAndStop(2);... obviamente que si esto esta asi.. y de golpe presiono otra solapa tendria que hacer lo mismo que hice recien pero para el boton presionado...

Alguien tiene idea como puedo hacerlo?.. si necesitan el codigo lo adjunto para que lo vean

Por martingb

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Feb 2008 02:57 pm
coloca el codigo...

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 05 Feb 2008 08:54 pm
function configurar() {

// Traigo de la libreria etiq y body

attachMovie("cue","cuerpo",this.getNextHighestDepth());
cuerpo._y = -195.5;
cuerpo._x = -340;

// Los posiciono en el escenario
attachMovie("etiqueta","etiq",this.getNextHighestDepth());
etiq._y = -195.5;
etiq._x = -230;

// Duplico las solapas en el escenario
for (i=0; i<5; i++) {
copia = etiq.duplicateMovieClip("copia"+i, this.getNextHighestDepth());

copia._x = copia._x+((copia._width+2)*i);
etiq._visible = false;
copia.estado = false;

copia.onPress = function() {
epres = this.barrita;

if (!this.estado) {
cerrarTodas();
this.estado = true;

} else {
epres.gotoAndStop(2);
this.estado = false;

}
};

cerrarTodas = function () {
for (x=0; x<5; x++) {
nom = this["copia"+x].barrita;
nom.gotoAndStop(1);
this.estado = false;
}
};


accion();
}
}


function accion() {
import mx.transitions.Tween;

this["copia"+i].onRollOver = function() {
var tsMove:Tween = new Tween(this, "_yscale", Elastic.easeOut, 150, 100, 5, false);

};

}

Por martingb

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 06 Feb 2008 01:52 pm

Código :

copia.onPress = function() {
   cerrarTodas();
   epres = this.barrita;
   this.estado = true;
   epres.gotoAndStop(2);
};

cerrarTodas = function () {
   for (x=0; x<5; x++) {
      nom = this["copia"+x]; // si no funciona con "this" cambialo por "_root"
      nom.barrita.gotoAndStop(1);
      nom.estado = false;
   }
}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 09 Feb 2008 12:53 pm
Sabes que me habia funcionado lo que me pasaste, pero de la nada dejo de funcionar y encima nose porque se esta dando :shock:

Por martingb

6 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.