Comunidad de diseño web y desarrollo en internet online

función refrescar

Citar            
MensajeEscrito el 26 Abr 2011 08:08 am
hola,

busco una función que pueda asignar a unos botones y me refresque un .swf.

Me explico, tengo un video .swf con una clase asociada para cambiar de idioma, y cuando pulso el botón de cada idioma me los cambia, pero a partir del fotograma siguiente y no en el acto. Por ello me gustaría encontrar un código para poner al .fla sobre los mismos botones que recargue el video para que me cambie los idiomas en el acto.

Espero haberme explicado...

muchas gracias

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Abr 2011 01:09 pm
De nuevo buscando la magia :)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Abr 2011 10:35 pm
sí soy un pesado...

pero no me entra en la cabeza que flash te permita crear una clase para cambiar de idioma (que desde luego me ha parecido bastante complicado), y no hayan pensado que cuando la gente navega por una página web cambia de idioma instantaneamente, no a partir del siguiente movimiento...

he intentado crear un botón invisible que me refresque la página (colocado sobre los botones de idiomas) y me hace lo que quiere y me anula la clase,... he pensado el mismo botón de idioma, colocarle una función, y nada...

no puedo enviar instrucciones y decir, esta página, cuando cambias de idioma, además del botón, muevete adelante y atrás para que te lo cambie...

no es magía, es que por sentido común tiene que haber una forma de que funcione...

de todas formas gracias por contestar, se agradece mucho vuestra actividad por el foro!

...y cuando lo consiga serás el primero en saberlo, jjjj

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2011 01:54 pm
En el otro POST donde planteaste lo mismo te pedí detalles acerca de como funciona ese mecanismo de cambiar de idioma. Yo por ejemplo cargo un XML, lo parseo y luego recorro la UI haciendo los reemplazos. Resultado> se4 cambia instantáneamente. Parece que el método que usas no funciona así, aunque difícilmente pueda adivinarlo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Abr 2011 02:57 pm
no estoy muy familiarizado con la terminología flash, soy un poco novatillo. Te cuento, yo hice unas cadenas, y se me crearon 3 archivos xml, uno por idioma; cree una clase y la asocié al .fla. El funcionamiento entre estos no sé como va... me refiero, a que no sé si recorre la UI o no, porque no tengo muy claro que es esto... te pego el código del archivo .as más pequeño para que te hagas una idea:

muchísimas gracias!

package {
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.text.TextField;
import fl.lang.Locale;


public class rwth extends MovieClip{


public function rwth()
{
Locale.addXMLPath("es", "es/rwth_es.xml");
Locale.addXMLPath("de", "de/rwth_de.xml");
Locale.addXMLPath("en", "en/rwth_en.xml");
Locale.initialize();
Locale.setDefaultLang("es");
//Locale.setLoadCallback(init);
btn_rwthes.addEventListener(MouseEvent.CLICK, cambiar);
btn_rwthde.addEventListener(MouseEvent.CLICK, cambiar);
btn_rwthen.addEventListener(MouseEvent.CLICK, cambiar);
}

private function init(event:Boolean):void {

rwtha.text = Locale.loadString("IDS_RWTHA");
rwthb.text = Locale.loadString("IDS_RWTHB");
rwthc.text = Locale.loadString("IDS_RWTHC");

rwth00_01.text = Locale.loadString("IDS_RWTH00_01");
rwth00_02.text = Locale.loadString("IDS_RWTH00_02");
rwth00_03.text = Locale.loadString("IDS_RWTH00_03");

rwth01_01.text = Locale.loadString("IDS_RWTH01_01");
}

private function cambiar(event:MouseEvent):void {

var mirwth:String;
switch (event.target.name) {
case "btn_rwthes":
mirwth = "es";
break;
case "btn_rwthde":
mirwth = "de";
break;
case "btn_rwthen":
mirwth = "en";
break;

}
//actualizó el idioma
Locale.loadLanguageXML(mirwth);
}

//fin de clase
}

}

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2011 03:12 pm
Ah, estás usando la localización nativa, entonces es así como funciona. Sino tendrás que montarte tu propio mecanismo, o mover cada vez que cambies el idioma

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Abr 2011 03:26 pm
y qué se te ocurre que pueda hacer?

la verdad es que lo he realizado así porque fue de la única forma de la que fuy capaz... y lo he aplicado a muchos archivos... así que estoy en una encerrona....

de hecho tengo un nuevo problema, y es que sólo me reconoce movieclips y no botones... y he probado a hacer trampas y poner en propiedades que es un moviclip, pero me reproduce todos los frames...

estoy un poquillo desesperdado porque no tengo mucho tiempo para acabarlo...

a ver si se nos ocurre algo...

muchas gracias!

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2011 03:33 pm
Puedes usar MovieClips en vez de botones, tienen las mismas propiedades y pueden ser reemplazados sin problemas. Mueve cada vez que cambies de idioma, por ejemplo a una pantalla de diga "actualizado a idioma X", e incluso puedes volver adonde estabas luego.
Lo básico de un sistema de idiomas es un Hashtable con un array en cada nodo que contenga las cadenas de cada idioma, pero sobre todo una rutina que recorra la interfaz cambiando las cadenas automáticamente.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Abr 2011 03:36 pm
no lo entiendo bien... de hecho no sé que es un array...

lo de los botones como moviecips como lo hago?

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2011 04:05 pm
Ok, olvida lo de hacer tu propio sistema y haz lo mejor que puedas con lo que tienes.
Lo básico de un MC como botón>

- Creas un MC de dos fotogramas, uno para el estado normal, otro para el estado sobre, pones un stop() en el primer fotograma
- En la línea de tiempo en donde se encuentre el MC, suponiendo que se llame miBoton pones:

Código ActionScript :

miBoton.onRollOver = function(){
   this.gotoAndStop(2)
}
miBoton.onRollOut= function(){
   this.gotoAndStop(1)
}
miBoton.onPress = function(){
   //aca lo que quieras que haga
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Abr 2011 08:30 pm
muchas gracias, que me he tenido que salir un momento...

a ver que tal me funciona!

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 12:05 am
jo, siempre estoy dando problemas... jjjjj

te cuento, he adaptado los códigos que me pegaste a lo que me pide el programa, que era que le añadira un evento,... y le he tenido que icluir funciones

y me queda así:


function menu0102a (event:MouseEvent):void {
bt_menu0102.gotoAndStop(2)
}
bt_menu0102.addEventListener(MouseEvent.MOUSE_OVER,menu0102a);

function menu0102b (event:MouseEvent):void {
bt_menu0102.gotoAndStop(1)
}
bt_menu0102.addEventListener(MouseEvent.MOUSE_OUT,menu0102b);

todo me funciona bien, hasta en reproducción,... pero cuando hago click, me sale un error de salida:

TypeError: Error #1006: value no es una función.
at menu33_fla::MainTimeline/menu0102b()

y en otros casos:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at menu33_fla::MainTimeline/menu0102b()

...no sé exactamente que falla...

muchas gracias!

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 04:31 am
Quita la funcion bt_menu0102b y el listener del MOUSE_OUT y mira si da error, si da mira cual es el error

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Abr 2011 09:09 am
Lo probé y no daba ningún error; de hecho pensé en suprimir esa función, pero no tenía mucho sentido porque se me quedaba el botón siempre pulsado (que en mi caso es un cambio de color, pero a la vez es el que te indica que pulses).

gracias!

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 10:55 am
Que enrredo!

Consejo:
- Borra todo ese script, lo relacionado con MouseOver y MouseOut.
- Edita bt_menu0102, en el fotograma uno en label (etiqueta) escribes _up, en el fotograma dos pones la etiqueta _over.

En el codigo solo pones:

Código ActionScript :

bt_menu0102.buttonMode = true;

Listo!
Cuando pongas el cursor sobre bt_menu0102, este mostrara lo que hay en _over (que esta en el fotograma 2) y cuando te muevas fuera, mostrara lo que hay en _up.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 28 Abr 2011 11:07 am
he hecho una prueba en un archivo aparte y no me funciona...

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 11:22 am
!
Ayuda de Adobe - buttonMode.

Google translate escribió:


Si incluye fotogramas etiquetados _up, _over y _down, Flash Player ofrece cambios automáticos de estado (una funcionalidad similar a la prevista en las versiones anteriores de ActionScript para clips de película que se utilizan como botones)

Quiza te hace falta el fotogrma _down, pero esto es muy basico! debiese funcionar sin ningun problema...

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 28 Abr 2011 11:44 am
muchas gracias, pero me he pasado bastante tiempo programandolo de la otra forma y tengo que acabarlo ya...

lo que sí que me preocupa es que los idiomas no se me cambien directamente (que era lo que empezé preguntando)

se te ocurre algo?

gracias!

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 11:45 am
de todas formas me viene muy bien para otros movieclips así que muchas gracias de nuevo!

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 12:26 pm
Difinitivamente no me funciona nada!

1. cuando paso de botones a movieclips tengo problemas con la zona activa, porque en unos botones no coincide en estado sobre con en reposo...

2. al insetar la clase no me funcionan los links de url

3. me sigue dando fallos al reproducir

4. sigo sin conseguir que los idiomas se me cambien instantaneamente

5. me estoy volviendo loco...

Por david_gut_ar

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 01:38 pm
se me ha ocurrido una última cosa: triplicar todo en tres escenas, y poner una función de idioma prdeterminado para cada una...

Por david_gut_ar

24 de clabLevel



 

firefox

 

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