2011-09-29 2 views
0

Nous construisons des prototypes et des applications de démonstration dans Flex 4.5.1 et AIR 2.7 pour une utilisation mobile et de bureau. Ceux-ci ont tendance à impliquer un grand nombre de fichiers .PNG en plein écran. Dernièrement, nous avons cherché des moyens de segmenter notre code pour la flexibilité et la réutilisation multi-écrans.Configurer la structure de projet Flex/AIR pour un grand nombre d'images?

Quelles suggestions les gens ont-ils pour segmenter le projet et les bibliothèques de sorte que les temps de compilation soient minimes et que les images soient faciles à remplacer?

Répondre

0

Quelques stratégies pop à l'esprit:

  • Externaliser les actifs de [Embed] déclarations en ligne, à l'aide d'un fichier CSS.
  • Configurez la feuille de style CSS à compiler en tant que fichier SWF séparé et chargez-la au moment de l'exécution. Cela devrait minimiser la quantité d'encodage PNG que le compilateur fait pendant votre processus de compilation normal.
  • Si cela ne l'accélère toujours pas assez (j'ai trouvé que le compilateur incrémental est parfois mélangé et recodé les actifs incorporés, ce qui réduit la vitesse du compilateur), déplacez les fichiers CSS vers un projet distinct.

Cette option est préférable, car le chargement de vos images lors de l'exécution vous donne une meilleure flexibilité dans vos projets multi-écrans.

Autre possibilité:

  • Si vous utilisez CSS n'est pas une option pour une raison quelconque, déplacez votre [Embed] s 'de votre projet principal à un projet distinct SWC, et les intégrer sur les classes.
  • Ajouter le swc en tant que projet dépendant
  • Référence des actifs via les classes.

par exemple:

// assets-project/src/Images.as 
public class Images { 
    [Embed('/assets/img/defaultAvatar.png')] 
    public static var defaultAvatar:Object; 
} 


// main-project/src/SomeView.mxml 
<s:BitmapImage source="{Images.defaultAvatar"} /> 
Questions connexes