|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 51 ![]() |
Bonjour,
Comment organiser son code sous FlashCS3? J'ai déja crée une classe qui est 'liée' à mon .fla en tant que Classe du document. Or j'aimerais créer un fichier .as ou une autre classe si nécessaire, qui s'occuperai de la gestion de mes boutons et de la navigation par exemple. C'est possible sans rajouter du code dans les images? J'aimerais si possible que tous mon code soit dans des fichiers .as en fait. Je suis peut êtres pas obliger de créer des classes à chaque fois d'ailleurs ? |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Salut
Tu peux lié n'importe quel ressource de ta bibliothèque (Clip, Bouton, etc.) à une classe AS3 en fesant dans la fenetre bibliothèque : clic droit > Liaison. Il faut cocher "Exporter pour ActionScript", puis dans Classe tu met le nom de ta classe, et dans Classe de base la classe dont il dérive (généralement flash.display.MovieClip pour les MovieClip, SimpleButton pour les Boutons, etc.) Comme ça tu peux rajouter des méthodes/propriétés aux objets de ta bibliothèque La règle ici c'est que chaque objet de ta bibliothèque est une classe. Par contre tu n'as besoin de créer un fichier .as et de coder dedans que si tu as effectivement des méthodes à rajouter. Si tu veux simplement faire new MonClip(); dans ton code, il suffit de donner un nom de classe dans la fenêtre "Liaison" (tu n'as pas besoin de créer le .as correspondant). |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 51 ![]() |
hum...je viens de créer un bouton nommé btnPlay dans la bibliothèque. Dans Liaison je l'ai exporté pour ActionScript. Dans le champs Classe j'ai mis : BtnPlay.as et dans la classe de base flash.display.SimpleButton.
J'ai ensuite créé mon fichier BtnPlay.as dont voici le code : Code :
Le problème c'est que ça ne fait rien. Je dois pas construire ma classe corectement je pense... |
||
|
|
00
|
|
|
#4 | ||
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Ta classe est construite correctement, en revanche je pense que tu n'as pas bien compris un détail : quand tu fais une classe pour le bouton, le code que tu y met est "relatif" à ce bouton (cad this = le bouton). Donc il faut faire :
Code :
Les problèmes que tu risques d'avoir avec l'utilisation de parent, c'est qu'a priori on sait seulement que c'est un DisplayObjectContainer : il faut le caster si tu veux pouvoir utiliser des méthodes/propriétés que tu aurais rajouté |
||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 51 ![]() |
Euh...ça ne marche toujours pas....mais mon bouton et mon champs de texte ne sont pas dans le même clip. Donc je pense que 'parent' ne marcheras pas c'est ça?
Pour que cela marche il faudrait que je regroupe mon bouton et le champs de texte en un clip (avec F8) ? Mais c'est pas très pratique... La mon bouton et mon champ texte dynamique sont sur différents calque, mais s'affichent au même moment (en 1 je sais pas trop comment on dit). y a pas moyen qu'ils comuniquent entre eux? edit : Je viens de tester de mettre un champ texte et un bouton dans un même clip, pour tester le parent. Mais cela ne marche pas. edit2 : Malgré les liaisons je pense pas que mon .fla s'occupe de mes .as en effet même en laissant des erreurs de syntax dans mon .as je peux toujours publier tranquilement ... edit3 : Euh un truc que je comprend pas trop non plus. Dans ma classe principal (enfin celle qui enregistrer en tant que classe du document) j'ai rajouter un import BtnPlay. Or meme comme ça, si il y a une erreur dans mon script BtnPlay je peux publier. |
|
|
00
|
|
|
#6 | |
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Citation:
Là il te dis : - Soit : La définition de cette classe a été détectée sur C:\...\BtnPlay.as => c'est bon est il te dis quel fichier correspond - Soit : Le chemin de classe ne contient pas de définition pour cette classe. Une définition sera générée automatiquement dans le fichier SWF lors de l'exportation. => tu as un problème de liaison. Dans ce cas il faut bien vérifier que tu n'as pas fait de faute de frappe par exemple, et que le fichier se situe au bon endroit (dans le même dossier que ton .fla). Ca donne quoi chez toi ? |
|
|
|
00
|
|
|
#7 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 51 ![]() |
Ha oki mes liaisons était mauvaises. (J'avais renté les .as). Oki bon bah maintenant il prend en compte mes script ! Pour me generer une erreur mais au moin ils sont pris en comptes.
ça me met un : Citation:
Code :
(parent.monDebug as TextField).text = "ON CLIK OK"; edit2 : J'arrive vraiment pas à atteindre mon Texte Dynamique J'ai testé pas mal de méthode : Code :
edit 3: Code :
this.parent['monDebug'].text = "Hello"; |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com