ActionScript - Acceder a un MovieClip dentro de otro MovieClip

 
Vista:
sin imagen de perfil

Acceder a un MovieClip dentro de otro MovieClip

Publicado por Raúl (1 intervención) el 31/07/2017 15:24:29
Hola!
En una aplicación que estoy haciendo creé 4 movieClips con nombres C1, C2, C3 y C4 y los agrupé los cuatro en otro MovieClip al que llamé "carbonos" y este último lo exporté para ActionScript con un nombre de clase igual, es decir, "carbonos". Lo eliminé del escenario y escribí el siguiente código:

var nuevoCarbonos:carbonos = new carbonos();

nuevoCarbonos.x = 100;
nuevoCarbonos.y = 150;
addChild(nuevoCarbonos);

Todo perfecto, incluso como quería que alguno de los movieClips incluidos dentro no fuera visible, puse el siguiente código:

nuevoCarbonos.C2.visible = false;

Y perfecto también, me hace invisible ese movieClip.
Entonces, ¿cuál es el problema? Pues que ahora quiero hacer los mismo con otros movieClips y cuando quiero acceder a uno que está dentro de otro me da un mensaje de error:
Error #1010: A term is undefined and has no properties.

Creo que los creé exactamente igual e hice los mismo, pero me da este error.

Muchas gracias y un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Acceso a movieClips anidados

Publicado por Alejandro (369 intervenciones) el 29/06/2023 16:25:27
El problema que estás experimentando se debe a que estás tratando de acceder a un movieClip anidado que no ha sido inicializado correctamente. Asegúrate de seguir los pasos adecuados al crear e inicializar los movieClips anidados.

Aquí hay una solución general que puedes aplicar para acceder a movieClips anidados en tu aplicación:

1. Asegúrate de que todos los movieClips estén correctamente creados y nombrados en la línea de tiempo de tu archivo FLA.

2. Agrupa los movieClips en el contenedor principal ("carbonos") como lo hiciste antes.

3. Exporta el contenedor principal ("carbonos") para ActionScript con el mismo nombre de clase ("carbonos").

4. Elimina cualquier instancia existente del contenedor principal ("carbonos") del escenario.

5. En tu código ActionScript, crea una instancia del contenedor principal ("carbonos") utilizando la clase exportada:

1
2
3
4
var nuevoCarbonos:carbonos = new carbonos();
nuevoCarbonos.x = 100;
nuevoCarbonos.y = 150;
addChild(nuevoCarbonos);

6. Asegúrate de que los movieClips anidados dentro del contenedor principal estén correctamente nombrados y accesibles desde el objeto `nuevoCarbonos`. Puedes verificar esto en la línea de tiempo o en el panel de propiedades de cada movieClip.

7. Para hacer invisible un movieClip anidado específico, puedes utilizar el siguiente código:

1
nuevoCarbonos.nombreDelMovieClip.visible = false;

Reemplaza "nombreDelMovieClip" con el nombre real del movieClip anidado que deseas ocultar.

Al seguir estos pasos, deberías poder acceder y controlar correctamente los movieClips anidados dentro del contenedor principal ("carbonos") en tu aplicación. Recuerda verificar los nombres y asegurarte de que estén correctamente inicializados antes de intentar acceder a ellos.

Espero que esto te ayude a solucionar el problema. ¡Buena suerte con tu aplicación!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar