¿Se necesita una envoltura o clase decoradora adicional al usar los activos de SWC?
-
05-07-2019 - |
Pregunta
Todavía estoy aprendiendo a compilar con el SDK de Flex. Y estoy aprendiendo cómo usar los archivos SWC y las declaraciones de [EMBED]
para incluir mis activos en mi aplicación.
Con el IDE de Flash, puedo vincular un activo de biblioteca a una clase y se incrusta automáticamente en mi clase personalizada. Así que eso es 1 activo en 1 clase. Con los archivos Flex SDK y SWC, parece que solo puedo * extraer activos a nivel variable, por lo que termino con mis clases personalizadas que contienen otra clase, lo que significa que tengo un contenedor extra / decorador (como se llame) clase que no tenía cuando usaba el IDE de Flash.
¿Es esto lo que la gente hace típicamente? ¿No parece superfluo?
- He leído el 'Essential Actionscript 3.0' de Colin Moock, donde menciona algo sobre la incorporación de un SWF a nivel de clase como datos binarios ... WTF.
Solución
Para asociar un símbolo directamente a una clase, haz esto. Esto funciona también para todo tipo de subclases (siempre que extiendan la clase base apropiada):
package foo {
import flash.display.Sprite;
[Embed(source='../../../../../../assets/Assets.swf', symbol='InfoPopup')]
public class InfoPopup extends Sprite {
public function InfoPopup(){
trace("constructor!");
}
}
}
Otros consejos
Una clase asociada con un activo de biblioteca Flash debe estar contenida dentro del mismo SWC.
?
Luego, cuando el SWC es compilado por Flash, ¿encuentra la clase asociada y los une?
Si este es el caso, ¿la ilustración y el código se acoplan en el mismo archivo SWC? Pensé que Flex w / SWC era genial porque las ilustraciones se desacoplaron ...
EDIT: Esto no está funcionando. La única forma de instanciar un recurso SWC es si se hereda de la clase base , por lo que parece que no puedo asociar clases personalizadas con los recursos SWC. / em>