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

Ayuda con variables y stop()

Estas en el tema de Ayuda con variables y stop() en el foro de Flash y Actionscript en Foros del Web. hola, tengo un problema, necesito cargar variables (numero) desde un archivo de texto, y que cada una de las variables debe indicar el numero de ...
  #1 (permalink)  
Antiguo 16/12/2005, 10:26
 
Fecha de Ingreso: diciembre-2005
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Ayuda con variables y stop()

hola, tengo un problema, necesito cargar variables (numero) desde un archivo de texto, y que cada una de las variables debe indicar el numero de frame en el que debe pararse la animacion de una movie.

el código de recuperacion de las variables es:

p1.variable = "p1";
p2.variable = "p2";
p3.variable = "p3";
loadVariables("text1.txt", "_root");

el archivo de texto tiene la informacion:

&p1=10
&p2=20
&p3=30

ahora, lo que deseo es saber como puedo hacer que la movie vp1 que tiene 1 layer que es una barra animada que crece de 0 a 100, lo que deseo hacer es que esta se pare o haga un stop() segun el valor de p1.variable

si alguien puede ayudarme le estare muy agradecido
  #2 (permalink)  
Antiguo 16/12/2005, 11:10
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 13 años, 8 meses
Puntos: 2
mmm no entiendo bien que es lo que quieres hacer, pero porque no pruebas con algo así:

if(_currentFrame==p1.variable){
stop();
}

Un abrazo
  #3 (permalink)  
Antiguo 16/12/2005, 11:39
 
Fecha de Ingreso: diciembre-2005
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
en si lo que deseo hacer es algo parecido a un contador de votos, los resultados de las opciones estan guardadas en un archivo de texto, las cuales las recupero en el frame 1, esto no me da problemas, el problema esta en la siguiente parte.
lo que deso es que haya un grafico, por ejemplo una barra de carga que esta animada desde 0 hasta 10, por ejemplo:
-
--
---
----
-----, etc,etc
el problema es como hacer el stop, puesto que cada una de las opciones esta en un layer diferente, tienes algna idea de como hacerlo?
Gracias!!!
  #4 (permalink)  
Antiguo 16/12/2005, 13:40
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
hola
te recomiendo usar XML para cargar los datos...
y que no os asuste el termino XML... es bastante sencillo entenderlo
aqui te pongo un ejemplo de cómo sería con tu caso

en escena debes tener:
- 6 barras (movieclips) con nombres de instancia barra1, barra2, ... ,barra6
- 6 campos de texto dinamico con nombres de instancia valorbarra1, valorbarra2, ... ,valorbarra6

en el primer frame de la peli este código:
Código PHP:
//ponemos a cero la escala de todas las barras
for(i in this) if(i.substr(0,5)=='barra'this[i]._xscale=0;
//funcion que una vez cargado los resultado actualizar las barras
//le pasamos como parametro la lista de resultados
function mostrar_resultados(resultados_array){
    
//exploramos la lista de resultados
    
for(n=0;n<resultados_array.length;n++){
        
//buscamos CADA elemento barra+n (barra1, barra2,...) y lo referenciamos a traves de barra_ref
        
barra_ref this['barra'+n];
        
//le pasamos su valor de resultado de la encuensta
        
barra_ref.valor resultados_array[n].attributes.valor;
        
//cuando ya tengamos el valor 
        
barra_ref.onEnterFrame = function(){
            
//y si la escala de la barra es menor que el valor
            
if(this._xscale this.valor){
                
//hacemos que la barra cresca
                
this._xscale+=2;
                
//tambien mostramos el valor de la escala en el campo de texto
                
this._parent['valorbarra'+this._name.substr(5)].text this._xscale+'%';
                
//y actualizamos su posicion a 5px de la barra
                
this._parent['valorbarra'+this._name.substr(5)]._x this._x this._width 5;
            }else{
                
//si la escala ya no es menor terminamos el loop
                
delete this.onEnterFrame;
            }
        }
    }
}
//ahora definimos nuestroobjeto XML que contrendrá los datos que carguemos
resultados_xml = new XML();
resultados_xml.ignoreWhite true//para que no tome en cuenta los espacios vacios
resultados_xml.onLoad = function(ok){ //cuando se invoque la carga
    
if(ok){
        
//si logro cargarse ejecutamos la funcion para mostrar los resultados
        //le pasamos como parametro la lista de hijos nodos
        
mostrar_resultados(this.firstChild.childNodes);
    }else{
        
//si no se pudo cargar informamos
        
trace('no se pudo cargar los resultado');
    }
}
//ahora invocamos la carga
resultados_xml.load('resultados.xml');
stop(); 
el xml
Código HTML:
<?xml version="1.0" encoding="UTF-8"?>
<resultados>
	<r valor="10"/>
	<r valor="20"/>
	<r valor="90"/>
	<r valor="90"/>
	<r valor="30"/>
	<r valor="60"/>
</resultados> 
si te parece un poco largo es por las lineas comentadas :P

y como te decia mejor si usas XML...

el resultado será algo como esto:
http://es.geocities.com/leo020588/encuesta.html


:D
__________________
Si digo que soy mentiroso. ¿Lo soy?

Última edición por luistar; 16/12/2005 a las 15:25
  #5 (permalink)  
Antiguo 16/12/2005, 13:59
 
Fecha de Ingreso: diciembre-2005
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
me parece muy bueno el script, pero tengo algunos problemas, lo que necesito es que los valores cargados en las variables, me permitan hacer que dentro de una animacion se pare en un cierto frame, puesto que la encuenta mostrará los resultados no en barra, si no en un reloj, y lo que necesito es que la aguja se pare en cierto frame, no se si me dejo entender, la solucion logica es muy simple
1) leer el valor y guardarla en alguna variable z
2) decirle que en el frame x la animacion y se pare en el frame z
eso es todo, pero por mas simple que se vea, me parece un poco complicado hacerlo, les agradeceria si me dan una mano, de todas formas si desean pueden adicionarme a su messenger, mi direccion es [email protected]

gracias!
  #6 (permalink)  
Antiguo 16/12/2005, 16:29
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
que te parece conseguir los mismo pero de otra manera... con ActionScript

http://es.geocities.com/leo020588/resultado_encuesta/encuensta.html
http://es.geocities.com/leo020588/re...o_encuesta.zip

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
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 16:58.