Foros del Web » Creando para Internet » Flash y Actionscript »

variables "dinamicas" y onPress

Estas en el tema de variables "dinamicas" y onPress en el foro de Flash y Actionscript en Foros del Web. Antes que nada me presento, mi nombre es alejandro y pues mi nick ahi lo tienen Tengo un problema que me esta desesperando hasta niveles ...
  #1 (permalink)  
Antiguo 09/07/2009, 18:23
 
Fecha de Ingreso: julio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
variables "dinamicas" y onPress

Antes que nada me presento, mi nombre es alejandro y pues mi nick ahi lo tienen

Tengo un problema que me esta desesperando hasta niveles desconocidos
la idea es que tengo 3 botones generados dinamicamente por medio de un for (con attachMovie)
Para las funciones de OnRollOver y onRollOut no hay el minimo problema, pero cuando trato de aplicar el mismo concepto en onPress es cuando de plano hace lo que le viene en gana

en si, la parte de los botones seria esta:

Código:
for(i=0;i<3;i++){
_root["btn"+(i+1)].onRollOver = function () {
...
}

_root["btn"+(i+1)].onRollOut = function () {
...
}

_root["btn"+(i+1)].onPress = function () {
	trace(_root.arrTrace[i]);
}
}
el problema es que el trace siempre me manda el ultimo valor del arreglo (arrTrace) y no valores consecuentes como debiera

hize un experimento en un proyecto nuevo con solo este codigo y va perfecto, pero al momento de mezclarlo con mi proyecto actual hace lo mismo (pone el ultimo valor al presionar el boton)

Código:
for(i=0;i<3;i++){
	this["test"+i] = "hola"+i
}
for(i=0;i<3;i++){
	temp = eval("test"+i);
	trace(temp);
}
ojala alguien entienda mi duda y tenga alguna idea de como solucionarla
  #2 (permalink)  
Antiguo 10/07/2009, 12:38
Avatar de LauraDark  
Fecha de Ingreso: febrero-2007
Ubicación: México, DF
Mensajes: 291
Antigüedad: 17 años, 3 meses
Puntos: 6
Respuesta: variables "dinamicas" y onPress

Juuum!!! , yo tenía la misma duda =/
  #3 (permalink)  
Antiguo 10/07/2009, 17:12
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 4 meses
Puntos: 193
Respuesta: variables "dinamicas" y onPress

Ahh hace mucho que no ponchaba en AS2

Ok, al momento de usar variables dinámicas tienes que almacenar su valor en algún lugar, al hacer referencia a una variable, en este caso "i", siempre tomara el ultimo valor que se le asigno, los valores anteriores no quedan almacenados en ningún lado.

La solución es meter el 'id' del clip generado dinamicamente en algún lugar, y que mejor que dentro del clip que se acaba de crear, el codigo queda mas o menos así:

Código PHP:
function create()
{
    for (var 
i=0i<5i++ )
    {
        var 
clip:MovieClip this.attachMovie('box','box'+ii, {_x:40*i});
        
clip.id i;
        
clip.onRelease clicked;
        
clip.onPress pressed;
        
clip.onRollOver overed;
    }
}
function 
clicked()
{
    
trace('Release id ' this.id)
}
function 
pressed()
{
    
trace('Press id ' this.id)
}
function 
overed()
{
    
trace('Over id ' this.id)
}
create() 
Saludos!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:06.