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

pregunta tonta de actionscript

Estas en el tema de pregunta tonta de actionscript en el foro de Flash y Actionscript en Foros del Web. Buenas a todos, Estoy buscando como hacer algo y seguro que la solución es sencilla pero mi conocimiento de flash es bastante limitado y quizá ...
  #1 (permalink)  
Antiguo 12/12/2005, 05:53
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
pregunta tonta de actionscript

Buenas a todos,

Estoy buscando como hacer algo y seguro que la solución es sencilla pero mi conocimiento de flash es bastante limitado y quizá alguien pueda ayudarme.

El tema es que tengo una función en un símbolo y quiero llamarla desde otro símbolo.
Me explico.
Tengo una escena en la que hay una película y dentro hay una zona en la que hay un libro. Este libro está incluído en un símbolo llamado "Libro". El caso es que en este libro hay algo de código action script, y entre él está la opción de pasar de página con la función gotopage().
Total, que dentro del libro tengo otro símbolo para la página 5, y en esta página quiero colocar un índice, pero para pasar de página tengo que llamar a la función gotopage incluída en Libro. Si estuviese en la escena funcionaría haciendo.
_root.gotopage(3)
Pero como no está en la escena sino en el libro no sé que poner.
He probado
_root.Libro.gotopage(3)
pero como cabe esperar no funciona.
Alguien sabe como hacer llamadas a código incluído en un símbolo.

Muchas gracias a todos.
  #2 (permalink)  
Antiguo 12/12/2005, 06:57
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Comprueba que el simbolo (movieclip) libro tiene un nombre de instancia, en este caso libro (o como quieras).
  #3 (permalink)  
Antiguo 12/12/2005, 07:04
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Supongo que no tiene nombre de instancia.
Le he puesto el nombre en la biblioteca.
¿cómo defino el nombre de instancia?
Y una vez definido, ¿tendría que funcionar el
Libro.gotopage(3)
?

Gracias y perdona pero como ves soy un novato en Flash...
  #4 (permalink)  
Antiguo 12/12/2005, 07:10
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Para que un simbolo sea reconocido en flash durante la ejecucion debe de tener un nombre de instancia o un nombre de vinculacion (pero este no es el caso). El nombre de instancia lo defines seleccionando el simbolo y en el panel propiedades, en la parte izquierda encontraras un campo de texto que dice nombre de instancia en color gris (como si estuviera deshabilitado), seleccionalo y escribe libro (te recomiendo que trabajes con minusculas).
  #5 (permalink)  
Antiguo 12/12/2005, 07:21
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
En Flash 8 hay una opción de vincular los símbolos.
Pruebo de poner "libro" en vinculación y también en "nombre del fotograma", por si acaso. Supongo que esto último no es pero cómo sale texto sombreado, en mi desesperación le voy a llamar "libro" hasta al teclado y el ratón si hace falta.
He hecho ambas cosas y al probar
libro.gotoPage(3)
y
_root.libro.gotoPage(3)
no funciona.

Aseguro que si el código está en la escena1 haciendo _root.gotoPage(3) funciona, pero no puedo tenerlo en la escena1 porque no sólo está el libro. En la escena hay varias cosas más.

Gracias por tu paciencia.
Por favor, ponedme a los pies de vuestras señoras...
Salud.
  #6 (permalink)  
Antiguo 12/12/2005, 07:33
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
A ver... ¿ Tienes el simbolo libro en una escena junto a varios simbolos mas, la funcion gotoPage() esta dentro del simbolo libro, en que fotograma o esta en el simbolo mismo, es decir, seleccionas (con un clic) libro y abres el panel acciones ?

Debes poner libro en el nombre de instancia del simbolo, no en el cuadro de dialogo vinculacion ni como etiqueta de un fotograma.
  #7 (permalink)  
Antiguo 12/12/2005, 07:43
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Te agradezco mucho tu paciencia.
Efectivamente tengo una escena con muchos símbolos.
Uno de ellos es el símbolo libro, otros son las páginas y hay bastantes más.
Al abrir el símbolo libro hay varias capas y en la capa "actions", fotograma 5 hay un código actionscript en el que está la función gotoPage().
Yo trato de vincular el símbolo Libro como "libro", pero lo que no veo por ningún sitio en Flash 8 es eso de "nombre de la instancia". En el panel de propiedades sólo sale nombre del fotograma, tipo de etiqueta, animar, sonido, etc. y si hago propiedades del símbolo "Libro", me permite cambiar su nombre y en vinculación poner identificador (que es lo que he tratado de añadir) y "clase de AS 2.0". En mi desesperación también he tratado de definirlo aquí pero me da un error.
Lo que no veo es un lugar que ponga "nombre de la instancia".

Te agradezco mucho tu ayuda y tu paciencia.
  #8 (permalink)  
Antiguo 12/12/2005, 08:09
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Para especificar el nombre de instancia debes ir un nivel arriba del simbolo libro, es decir, no abrir este simbolo, sino seleccionarlo con un clic simple donde esta ubicado en la linea de tiempo, al hacerlo, en el panel propiedades te aparecera el campo nombre de instancia.

Para llamar a la funcion gotoPage(), en el boton con el cual quieres hacerlo pone lo siguiente:

on(release){
libro.gotoAndStop(5)
libro.gotoPage(parametro)
}

Hay una funcion en actionscript que permite llamar el codigo de un determinado fotograma sin enviar la cabeza lectora a ese fotograma, pero no recuerdo cual es, en cuanto la encuentre te lo hago saber.

Ademas, seria mucho mejor si tienes la posibilidad de enviarme el fla para analizarlo y darte una solucion definitiva.
  #9 (permalink)  
Antiguo 12/12/2005, 08:11
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
hola...
creo que te estas haciendo un mundo...
...
no le des ningun nombre de vinculacion...
desactivala...
el nombre de vinculacion sirve para agregar dinamicamente objeto de la biblioteca... cosa que no necesitas por lo que veo...
ademas... si le pones un nombre de vinculacion, este objeto se cargara al principio de todo la pelicula y si tienes una precarga, no la verás hasta que esté en un porcentaje ya avanzado...

weno en conclusion... el nombre qude debes ponerle al libro es nombre de instancia... como ya te dijo Mauri... tienes que seleccionar el objeto, solamente el objeto (osea el libro) y no el fotograma...
cuando tengas seleccionado el objeto aparecera donde ponerle el nombre de instancia en el panel de propiedades...

ahora... si la funcion la tienes en el fotograma 5 dentro del MC libro...
entonces no podras acceder a esa funcion directamente desde fuera del libro y no antes del fotograma cinco...
osea si intentas llamar a la funcion en el fotograma 1 del mc libro, no funcionara porque aun la funcion no está disponible...
tienes que definir la función en lo posible lo más accesible que se pueda...
por ejemp en el fotograma 1 de tu mc libro
o mejor aun en el fotograma 1 de _root y se esa función las haces global, entonces podras acceder a ella desde cualquier ámbito...

intenta con este codigo:

estando seguros que tu libro tiene nombre de instancia 'libro'

Código PHP:
//en el fotograma 1 de tu libro escribe la funcion gotoPage(), suponiendo que es esta funcion
function gotoPage(){
    
trace('ir a la siguiente pagina');
};
stop();

//ahora en el primero fotograma de _root creamos una funcion global que llamará a la función gotoPage() del mc libro
_global.llamarafuncion = function(){
    
_root.libro.gotoPage();
}

//ahora ya puedes hacer la llamada a la funcion gotoPage() atravez de llamarafuncion que es global... solo tienes que asegurarte que el libro todavia existe en escena cuando hagas la llama 
:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #10 (permalink)  
Antiguo 13/12/2005, 02:25
 
Fecha de Ingreso: agosto-2003
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
¡¡¡Funciona!!!

De verdad, muchas gracias por vuestra paciencia.
Finalmente se trataba de instanciar el símbolo.
Lo explico porque quizá alguien pueda encontrarse con el mismo problema y pueda aprovechar la explicación.

Yo no podía instanciarlo porque tenía un .fla incrustado en otro .fla y no veía un recuadro sino una simple línea con una especie de punto de mira en el centro.
Perdonad mi manera poco técnica de explicarlo pero como podeis imaginar no soy un as de flash como luistar y Mauri1.
Al seleccionar el fotograma no tenía la opción de cambiar el nombre de la instancia, pero al seleccionar el punto de mira ya pude hacerlo, y simplemente me quedaba llamar a:
_root.libro.gotoPage(3).

Gracias a todos.
Salud.
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 12:39.