2010-01-18 7 views
0

Quelqu'un at-il une expérience dans la conversion des projets AS3 (pas MXML) dans Flex, Flash CS4? Existe-t-il des ressources sur les fonctionnalités de Flex Builder qui ne fonctionnent pas dans Flash et sur la façon de lancer le projet? J'ai lu quelque part que (par exemple) certaines étiquettes de métadonnées ne fonctionnent pas.Flex AS3 Project Convertir en CS4

Si j'ai tout mon code dans le dossier src, devrais-je simplement créer le fichier fla dans ce dossier et copiez essentiellement tout le code du fichier .as qui a lancé le projet Flex? Ou créer le fichier .fla ailleurs et pointer ce dossier src dans le classpath? De plus, n'étant pas familier avec l'EDI CS4, est-ce que je crée un nouveau projet Flash?

Merci!


Alors, voici le problème que j'ai. Le code dans le Flex AS3 ressemble à ceci:

[Embed(source='C:/WINDOWS/Fonts/ArialBD.TTF', fontWeight = 'bold', fontName='ArialBold', unicodeRange='U+0020-U+0020,U+0021-...')] //a bunch of other unicode 
    public static var _VerdanaFontBold:Class; 

    [Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontWeight = 'regular', fontName='Arial', unicodeRange='U+0020-U+0020...')] //a bunch of other unicode 
    public static var _VerdanaFont:Class; 

Et dans le constructeur de la textfield étendue dans laquelle mon texte apparaît je:

 Font.registerFont(_VerdanaFontBold); 
     Font.registerFont(_VerdanaFont); 

CS4 ne permet pas d'utiliser les métadonnées Intégrer. J'ai donc commenté cela. Dans CS4, je comprends que je suis censé créer un champ vide en mode création, ce que j'ai fait. Je peux ensuite sélectionner les polices à intégrer. J'ai sélectionné verdana (majuscules et minuscules, ponctuation, nombre, etc).

Quand je lance l'application dans CS4, le champ de texte est vide.

Qu'est-ce que je fais mal? Ai-je besoin de donner à la police Verdana le nom d'instance de _VerdanaFont? Je ne le pense pas, puisque j'ai aussi dû commenter Font.registerFont. Le fait que j'incorpore la police dans un champ de texte vide, et non celui qui est appelé par la classe de document que j'ai définie, ne devrait pas importer, bien - la police devrait juste être intégrée dans le swf et être utilisable . Mais c'est vide.

Est-ce que quelqu'un sait quoi faire ici?

Edit: Eh bien, étant donné que la raison apparente cela ne fonctionne pas doit maintenant faire avec les polices ne montrant pas correctement, je ferais mieux de créer que comme une nouvelle question. En outre, il y a une description plus claire que celle du lien fourni ci-dessus concernant la classe de document, ici: http://www.heaveninteractive.com/weblog/2008/03/04/introduction-to-the-document-class-in-actionscript-30-tutorial/

+0

En ce qui concerne ce qu'il faut faire avec votre .as code source: Création d'un nouveau fichier Flash (ActionScript) et enregistrez-le. Cela produira un fichier .fla. Dans les propriétés de ce fichier .fla, vous pouvez définir quel fichier .as externe est votre classe de document. Plus d'informations (pour CS3, mais applique également à CS4): Merci pour http://www.actionscript.org/resources/articles/683/1/Using-Document-Classes-in-Flash-CS3-Professional/Page1.html – Cameron

Répondre

1

Cela dépend vraiment. Si c'est juste un projet AS3 qui ne repose que sur playerglobal.swc, il devrait être assez facile. Il suffit de copier vos fichiers .as et de les ajouter à votre nouveau projet comme Cameron l'a suggéré.

Si toutefois vous avez écrit un AS3 pur application Flex qui repose sur l'une des autres SWC (Flex.SWC, framework.swc, etc.), il est pas vraiment possible, comme CS4 ne peut pas utiliser des fichiers SWC. Si vous google autour de vous pourriez trouver quelqu'un qui a démonté le SWC dans divers fichiers .abc et un SWF plein de ressources, mais vous aurez probablement à intégrer l'ensemble de la structure Flex et tout le code de support dans votre SWF final, ce qui gonflera c'est gros.

+0

répondant! Il ne nécessite aucun des autres SWC, mais j'ai toujours le problème de police, comme décrit ci-dessous. L'approche décrite à http://www.adobe.com/devnet/flash/articles/embed_metadata_04.html semble exiger que vous utilisiez flex.swc - ce qui signifie que CS4 peut apparemment utiliser des fichiers SWC via le framework Flex. – David