Buscar..


Hacer referencia a la línea de tiempo principal o la clase de documento desde otros MovieClips

En la línea de tiempo de cualquier DisplayObject que se adjunta como descendiente del árbol de visualización, puede utilizar la propiedad root . Esta propiedad apunta a la línea de tiempo principal en el caso de que no haya una clase de documento personalizada, o la clase de documento si define una.

Debido a que la root se escribe DisplayObject , el compilador no le permitirá acceder a métodos personalizados o propiedades definidas en la línea de tiempo principal o dentro de su clase de documento como:

root.myCustomProperty = 10;
root.myCustomMethod();

Para solucionar esto, puede escribir la root de su clase de documento en el caso de que tenga una clase de documento:

(root as MyDocumentClass).myCustomMethod();

O MovieClip en el caso de no clase de documento:

(root as MovieClip).myCustomMethod();

La razón por la que el MovieClip de MovieClip funciona aquí es porque MovieClip es dynamic . Esto significa que el compilador permite que las propiedades y el método de tiempo de ejecución se declaren en él, evitando errores de tiempo de compilación al intentar acceder a propiedades o métodos que no están definidos explícitamente en MovieClip . La desventaja de esto es que pierde toda la seguridad del tipo de tiempo de compilación. Es mucho mejor declarar una clase de documento y convertir a eso.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow