Forums Développement Multimédia

Aller au contenu

- - - - -

[AS3] [Debutants] Créer un fond étoilé

TUTO

17 réponses à ce sujet

#1 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 14 March 2011 - 12:19 PM

Bonjour,

Le petit tutoriel que j'ai rédigé est la version AS3 de ce tutoriel :
Starfield Multidirectionnel

J'ai bien évidemment demandé l'autorisation à son auteur avant de l'adapter. ;)

Après avoir passé les corrections proposées sur ce sujet : Discussion sur mon Tutoriel, développement de jeux le tutoriel prend finalement la forme suivante : Mon tutoriel.

Ce tutoriel propose donc de mettre en pratique du code basique d'AS3 tout en référençant les cours (liens vers d'autres tutoriels de Mediabox/classes adobes) correspondant à chaque morceau de code. Le tout est donc de permettre aux débutants de voir comment mettre en pratique les codes les plus utilisés en Action Script et ce de façon ludique, donc à travers la création d'un jeu.

Je ne sais pas trop s'il fallait que je crée un poste ici même si il existe déjà une autre discussion autour de mon tutoriel dans un autre forum.

Merci pour vos retours ;)
Kouliane.

PS : J'ai créé un message ici car il semble que le formulaire de demande de compensation financière rejette le lien vers l'autre discussion (ou le problème vient d'ailleurs ?).

#2 nicolas.gauville

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 07 May 2011 - 17:20 PM

Salut,
Bravo pour l'adaptation, je pense que c'est une excellente idée.

Si je peux faire quelques commentaires :

Au niveau de la gestion du clavier, pourquoi utiliser le numéro des touches (37, 38, 39, 40) et pas les constantes de la classe keyboard (Keyboard.LEFT, Keyboard.RIGHT, ..), qui rendent le code bien plus facile a lire (bah oui, 37, c'est pas très explicite ^^).

Sinon, un autre chose que tu aurais pu faire (c'est peu être subjectif, mais bon), c'est d'écrire une classe étoile, liée au symbole étoile, qui gérerait tout en interne (déplacements et choix aléatoires). Ainsi, le script principal n'aurait qu'à ajouter le nombre d'étoile, et c'est tout, plus besoin d'autres boucles. A mon avis, c'est plus simple, et sa permet d'utiliser la POO, ce que l'AS3 nous incite bien à faire.

Bonne continuation ;)

#3 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 14 June 2011 - 10:09 AM

Coucou :)

Désolée pour ce silence radio depuis quelques temps, mais je suis pas mal prise en ce moment :).

Donc, pour te répondre Gnicos, me semble que dans le code j'indique que l'on peut aussi utiliser les constantes. C'est vrai que par défaut il vaut mieux utiliser les constantes, je modifierai le code dès que j'aurai un moment. Sachant qu'à la base j'ai mis les chiffres car bon nombre de programmeurs utilisent encore les chiffres plutôt que les constantes...

Pour la deuxième suggestion, je suis entièrement d'accord avec toi, cette utilisation d'AS3 est idéale. J'espère sincèrement que j'aurai le temps de rédiger la deuxième partie du tutoriel car je prévoyais justement d'aider l'utilisateur à placer le code pour les étoiles dans une classe. Après... En y réfléchissant, je me demande ce qui est le mieux... Faire créer la classe étoile dès le départ ? Ou apprendre un petit plus aux débutants : savoir séparer rapidement un code présent dans une unique classe dans différentes classes. Les avis sont les bienvenus ^^

@ bientôt et merci pour tes retours,
Kouliane.

#4 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 14 June 2011 - 10:50 AM

coucou :)

bien revenue mamzelle, c'est vrai que les calendriers ont tous la même fâcheuse tendance à se remplir plus vite que prévu, voir à déborder tels le lait sur le feu.

Je la ramène juste pour dire que je suis de l'avis de gnicos, une classe étoile, ce serait bien venu (et je pourrais même mettre un lien pour illustration supplémentaire dans le dossier POO)

;-)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#5 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 14 June 2011 - 13:04 PM

Oki dak :) ça m'obligera à faire une grosse révision de mon tutoriel comme ça :)

Beh ouais, en fait me suis aperçue que je passais trop de temps sur Flash MediaBox (faut dire, je suis vite devenue accroc à cette communauté :D) et que mes projets personnels (dont la création de mon entreprise) avançaient beaucoup moins vite que prévu. Bref, je vais essayer de me dégager un chréno fixe dans mes horaires ouvrés en fin de chaque semaine (lorsque la fatigue se fait sentir) pour passer sur le forum :) et travailler ce sur quoi je suis sensée travailler pour la communauté :).

Voilà, en espérant revenir plus régulièrement donc :)
Kouliane.

#6 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 26 August 2011 - 19:25 PM

Dites moi, je comptais me remettre à ce tutoriel, passer toutes les modifications demandées et le continuer.

Mais avant, j'aimerais savoir si je pouvais le revoir complètement afin d'intégrer l'utilisation de FlashDevelop pour la partie "développement" car cet IDE a un paquet d'outils et de fonctionnalités très pratiques concernant le développement en AS3.

Conjointement à l'utilisation de FlashDevelop, j'aimerais savoir si ajouter des rangements du code par "package" est acceptable pour un tutoriel débutant. Par exemple j'aimerais créer un package contenant les classes servant au dessin et mouvement du fond étoilé (i.e. Classes : "Fond" et "Etoiles"). Dans la suite du tuto, j'ajouterais un package pour tout le code autour du vaisseau puis un autre pour le code autour des météorites, etc...

Pensez-vous qu'un rangement par package soit superflu, stupide, bienvenue, utile, et surtout adapté à un niveau "débutant", ça serait un bon moyen de voir comment bien ranger son code, non ?

Voilà :) avant de me replonger dans mon tuto, j'attends vos avis & réponses, histoire que je n'ai plus de grosses modifications à apporter sur cette première partie du tuto "Starfield" :)

Merci ;)

Kouliane.

#7 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 01 September 2011 - 13:35 PM

Salut kouliane :)

te volilà prise d'un élan de bonnes résolutions de la rentrée ;)
En tous cas sympa de te recroiser dans les parages.

Voir le messageKouliane, le 26 August 2011 - 19:25 PM, dit :

passer toutes les modifications demandées et le continuer.

ah ! je dois dire que depuis mars, j'ai un peu oublié, mais si tu avais des modifs à passer, oui c'est une excellente idée : vieux motard ;)

Citation

Mais avant, j'aimerais savoir si je pouvais le revoir complètement afin d'intégrer l'utilisation de FlashDevelop pour la partie "développement" car cet IDE a un paquet d'outils et de fonctionnalités très pratiques concernant le développement en AS3.

Tu entends quoi par revoir complètement ? du rapide coup d'œil que je viens d'y jeter, tu avais bien bossé, ce serai dommage de "jeter" ça.

Qu'apporte flashDevelopp en plus de flash "tout court" ? Vu que je ne connais pas le produit, je ne suis pas en mesure de juger.

En tous cas, il serait bon de ne pas pénaliser les utilisateur de flash.

Un plus sous forme de chapitre spécifique qui expliquerait aux heureux utilisateurs de flashDevelopp comment s'adapter au tuto, me semble une bonne idée. Remplacer ce que tu as rédigé à l'attention exclusive des utilisateurs de flashDevelop une moins bonne idée.

Dans les faits une classe AS3 reste une classe AS3, et les règles qui président à la conception/rédaction sont donc les mêmes. Le code est par conséquent identique, quelque soit la plateforme qu'on utilise. Et ce qui importe c'est bien de savoir penser et écrire. Ensuite les outils d'aide à l'écriture (c'est ça un éditeur), limite, c'est du bonus.

J'ai, pour ma part, jamais compris comment on pouvait lier un symbole de bibli à une classe quand on ne dispose pas de bibli (sous flashDevelop c'est bien le cas ? :roll:) le starfield utilise cette technique, et j'en conclue qu'il faut disposer de Flash. Auquel cas, je pense qu'il est bon de conserver ce que tu as écrit.

En revanche un article sur flashDevelopp himself, me semble une bonne idée.
Et si tu te sens l'énergie de doubler tes propos en expliquant d'une part pour Flash, d'autre part pour flashdevelop… alors là ! Que demande le peuple ?! ;)




Citation

Conjointement à l'utilisation de FlashDevelop, j'aimerais savoir si ajouter des rangements du code par "package" est acceptable pour un tutoriel débutant. Par exemple j'aimerais créer un package contenant les classes servant au dessin et mouvement du fond étoilé (i.e. Classes : "Fond" et "Etoiles"). Dans la suite du tuto, j'ajouterais un package pour tout le code autour du vaisseau puis un autre pour le code autour des météorites, etc...

Ah ah ! :idea: La voilà ma réponse : en fait tu te proposes de tout coder, jusqu'aux symboles de bibli - qui justement n'existeront plus - ?

euhhh… oui… pourquoi faire simple ? :mrgreen:

Pareil : si tu le fais "en plus", je ne vois pas ce que ça a de gênant. En revanche, si tu fais à la place, je trouve ça très dommage. Il se trouve que c'est une qualité pas suffisamment exploitée du produit flash : disposer d'outils de dessins performants pour s'éviter de coder ce qui se dessine et/ou s'anime "à la main" (meilleur rapport rendu/efforts)

Citation

Pensez-vous qu'un rangement par package soit superflu, stupide, bienvenue, utile, et surtout adapté à un niveau "débutant", ça serait un bon moyen de voir comment bien ranger son code, non ?


quant à la question des packages, ma règle toute perso c'est : s'il y a plus de répertoires que de classes, il y a un blème ;)


Mon avis est que le mieux est l'ennemi du bien. A trop vouloir en caser dans le même tuto tu risques de diluer ton propos.




Citation

histoire que je n'ai plus de grosses modifications à apporter sur cette première partie du tuto "Starfield" :)

ah ! ben tiens en parlant de modifications, quand tu y seras au chapitre un ciel étoilé, mes yeux sont tombés dessus par hasard :

Citation


/* Fonction chargée de créer toutes les étoiles */
                private function creerEtoiles(){
                        var etoile:Etoiles; //On instancie la classe Etoiles
euhh non : là on instancie que dalle ; on déclare une variable et on la type.



Citation

/* On crée un nouvel objet étoile */
                                etoile = new Etoiles();
ici on instancie ;)



Ça vaudrait peut-être le coup j'y jette un œil de relecture avant que tu ne passes les modifs du printemps dernier :roll: histoire de tout faire d'un coup.

Si tu n'es pas dans l'urgence, je ferai ça d'ici quelques jours.




Merci d'être venue terminer le boulot ! :cool:


… Dans l'attente d'autres points de vue
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#8 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 01 September 2011 - 17:35 PM

Voir le messageNataly, le 01 September 2011 - 13:35 PM, dit :

Salut kouliane :)

te volilà prise d'un élan de bonnes résolutions de la rentrée ;)
En tous cas sympa de te recroiser dans les parages.

Non du tout, aucune bonnes résolutions :) j'ai toujours gardé ça dans un coin de la tête, c'est juste qu'en ce moment je me sens plus à l'aise avec le développement AS3 et un peu moins overbookée ^^.

Voir le messageNataly, le 01 September 2011 - 13:35 PM, dit :

Tu entends quoi par revoir complètement ? du rapide coup d'œil que je viens d'y jeter, tu avais bien bossé, ce serai dommage de "jeter" ça.

Qu'apporte flashDevelopp en plus de flash "tout court" ? Vu que je ne connais pas le produit, je ne suis pas en mesure de juger.

Revoir complètement, je dis ça parce qu'on m'avait demandé (toi en fait, je crois ;) ) d'utiliser plutôt une class "Etoile" associée au symbole du clip "Etoile" de la bibliothèque. Comme à la base je n'utilisais qu'une seule class (celle du document), cela m'oblige à revoir toute la structure du code et donc de tout revoir complètement ;).

FlashDevelop est un excellent IDE pour ActionScript 3 et le développement Web en général et il est entièrement gratuit. Par contre il est impossible de concevoir un projet Flash / Flex sans ces logiciels, tout simplement parce que FlashDevelop ne possède pas de compilateur. Donc pour compiler un projet, FlashDevelop a besoin d'accéder aux fichiers d'Adobe Flash ou Flex.

Jusqu'à peu je codais directement dans le logiciel Flash, puis, au cours de l'adobe Live Week (je crois que c'était son nom ?) on m'a parlé de FlashDevelop ainsi que de FDT (payant et très cher). Je me suis donc mise à utiliser FlashDevelop et je dois dire que ça facilite considérablement la programmation AS3 :) pour comprendre en quoi le mieux c'est de l'utiliser ^^.

Mais ok, si un jour le cœur m'en dit, je ferai un tuto sur FlashDevelop :)

Concernant le Tuto, non, je voulais juste inclure, pour les utilisateurs FlashDevelop, les quelques manipulations à faire pour créer le projet et gérer les class & packages ^^, rien de plus, sommes toute cela reste de la programmation AS3, rien de différent de ce côté là ;).

Voir le messageNataly, le 01 September 2011 - 13:35 PM, dit :

J'ai, pour ma part, jamais compris comment on pouvait lier un symbole de bibli à une classe quand on ne dispose pas de bibli (sous flashDevelop c'est bien le cas ? :roll:) le starfield utilise cette technique, et j'en conclue qu'il faut disposer de Flash. Auquel cas, je pense qu'il est bon de conserver ce que tu as écrit.

Ah ah ! :idea: La voilà ma réponse : en fait tu te proposes de tout coder, jusqu'aux symboles de bibli - qui justement n'existeront plus - ?


Non, tu m'as mal comprise, je me suis mal exprimée, désolée ^^.
Alors, déjà, comme je le disais, FlashDevelop ne saurait compiler un projet AS3 à lui tout seul, il a donc besoin de Flex et/ou Flash. Par conséquent si on crée un projet Flash dans FlashDevelop il faudra forcément un .fla qui contiendra la bibliothèque et qui sera éditable uniquement sous Flash (FlashDevelop c'est uniquement pour le développement AS3 & Web ;) ).

Donc, pour le tuto, il ne s'agit pas de supprimer tout ce que j'ai fait, la bibliothèque reste telle qu'elle et on n'y touche pas, elle est très chouette comme elle est et dans le chapitre suivant on apprendra à dessiner un vaisseau.

Non, je voulais juste suivre ton bon conseil et créer une classe étoile associée au clip étoile de la bibliothèque (exporté pour AS3 donc) ainsi qu'une classe pour le fond associée au clip fond (exporté aussi) et qui s'occupera de gérer la création et le déplacement des étoiles :). Loin de moi l'idée de tout faire en AS3, ce serait totalement inutile et tellement barbant qu'avant même de commencer ça me démotiverait déjà. :roll:

Je suis bien d'accord avec toi, toute la puissance de Flash réside dans le fait qu'on peut intelligemment associer programmation et animation pour produire des chefs d'œuvres. ;)

Voir le messageNataly, le 01 September 2011 - 13:35 PM, dit :

quant à la question des packages, ma règle toute perso c'est : s'il y a plus de répertoires que de classes, il y a un blème ;)

Mon avis est que le mieux est l'ennemi du bien. A trop vouloir en caser dans le même tuto tu risques de diluer ton propos.

[...]

Ça vaudrait peut-être le coup j'y jette un œil de relecture avant que tu ne passes les modifs du printemps dernier :roll: histoire de tout faire d'un coup.

Si tu n'es pas dans l'urgence, je ferai ça d'ici quelques jours.

Pour les package, je ne pense pas en faire 36, juste regrouper les classes intelligemment, pour l'heure je vois "3" packages :
- Le décors : contenant les classes du fond, des étoiles, pour le déplacement des étoiles, entre autre
- Le vaisseau: contenant toutes les classes associées au vaisseau (ses missiles, ses boucliers, etc.)
- Les ennemis : contenant toutes les classes associées aux ennemis (astéroïdes, missiles, vaisseaux ennemis, que sais-je ^^')

Je ne veux pas "blinder" mon tuto de nouvelles informations, je veux juste le revoir de fond en comble pour en faire une merveille sans défauts :mrgreen:

Et oui, malheureusement dans ma petite tête je confonds très souvent instanciation et déclaration, alors que je suis la première à reprendre les gens... J'te jure :roll:

Voir le messageNataly, le 01 September 2011 - 13:35 PM, dit :

Merci d'être venue terminer le boulot ! :cool:

Je tiens toujours mes projets ;-)

J'espère avoir tout bien éclairci cette fois, hésite pas à poser d'autres questions sur FlashDevelop notamment ;)

Kouliane.

#9 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 02 September 2011 - 09:11 AM

Voir le messageKouliane, le 01 September 2011 - 17:35 PM, dit :


Pour les package, je ne pense pas en faire 36, juste regrouper les classes intelligemment, pour l'heure je vois "3" packages :
- Le décors : contenant les classes du fond, des étoiles, pour le déplacement des étoiles, entre autre
- Le vaisseau: contenant toutes les classes associées au vaisseau (ses missiles, ses boucliers, etc.)
- Les ennemis : contenant toutes les classes associées aux ennemis (astéroïdes, missiles, vaisseaux ennemis, que sais-je ^^')


Ah ! Mais je suis totalement à la ramasse ! J'avais oublié que tu avais un projet ambitieux qui dépassait de très loin le ciel étoilé.

du coup oui, organiser les fichiers semble une bonne idée.


pour le reste force est de constater que j'ai un peu oublié :oops:

Je viens de parcourir les conversations à ce sujet… Ça m'a rafraichi les idées, mais pas suffisamment. Si les modifs dont tu parles sont celles évoquées ds cette première conversation, il vaut peut-être mieux alors que je te laisse les passer avant de relire ? Ou le contraire ? :roll:


Quant à flashdevelop de ce que je comprends, je ne vois pas en quoi ça gênerait que tu en parles, si tu parviens à ne pas noyer ton sujet (c'était déjà ce sur quoi Lilive et moi t'avions alertée)

Je veux bien l'avis des autres sur "de la nécessité et de l'intérêt d'illustrer l'utilisation de flashdevelop via le tuto en question" ;)


++ :)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#10 Billyben

    KlouChiPonshoñistäs

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2597 messages

Posté 02 September 2011 - 09:36 AM

Salut, je suis d'accord, quand j'ai commencé à utilisé flashDevelop, je me suis senti très masochiste jusque là! c'est vraiment un outil (gratuit !!) qui facilite la vie.

Quoi qu'il en soit, je ne vois vraiment pas l'intérêt d'aborder l'utilisation d'un tel outil dans ce tuto. Le sujet du tuto est le champ d'étoile, avec ses futures classes, mais pas le logiciel qui a permis d'arriver au résultat. Ca risque fort d'alourdir le propos, et de noyer le débutant (qui ne sont pas tous des poissons!). Plus tu mettras de choses dans un tuto, plus celui-ci sera difficile à aborder, et à priori celui-ci s'adresse aux débutants (qui ne seront probablement pas passé sous FD).

@ pluche

#11 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 10 September 2011 - 10:44 AM

Bon ben super ! je viens de relire, il n'y a quasi rien à grommeler (de plus que les remarques qui t'ont déjà été faites).

Une chose -qui n'a pas tant à voir avec ton tuto, d'ailleurs-

Citation

Dans l'ouvrage de T.Imbert “Pratique d'ActionScript 3”, chapitre 2, il est précisé qu'il convient de préférer le type int pour les calculs mathématiques, dans les boucles et pour d'autres usages, le type uint semble, en effet, ralentir les calculs. Donc, prenez tout de suite l'habitude de préférer, par défaut, le type int au type uint.

Très récemment en bon St Thomas que je suis, j'ai refait des tests de performance (bench). Force est de constater que sur lecteur 10, ce n'est plus vrai du tout :(
Et d'ailleurs il n'y a quasi aucune conclusion/règle déductible. Les perfs changent bizarrement selon le nombre d'itérations : le plus rapide sur peu d'itérations perd sur plus et gagne à nouveau sur encore plus.
Et du coup je suis en mal de bonne vieille règle.

Appel aux autres : vous prenez quoi comme parti, maintenant ?



Citation

Alors… Comment faire pour créer autant d'étoiles que la valeur de la constante nombre_etoiles ? Une des méthodes consiste à utiliser une boucle for. Nous allons justement utiliser cette boucle pour notre programme :

/* Fonction chargée de créer toutes les étoiles */
                private function creerEtoiles(){
                        var etoile:Etoiles; //On instancie la classe Etoiles
 
                        /* Pour chaque étoile devant être créée : */
                        for(var i:int =0; i <nombre_etoiles; i++){

Ici, on commence à i=0 et on augmente i de 1 à chaque étape. On arrête la boucle lorsque i vaut 100, on créera donc 100 étoiles.

• tu perds rien - de mon point de vue - à identifier les globales (d'un '_', conventionnellement) et juste pour faire genre j'ai bien tout relu : on arrête la boucle quand i vaut 99 (strictement inférieur :mrgreen:)
• Je l'ai déjà dit, je crois, mais je le note pour que tu n'oublies pas : on n'instancie que pouic, on déclare et on type :
 var etoile:Etoiles; //On instancie la classe Etoiles


Citation

J'ai utilisé ici la constante que nous avons définie au début : nbr_couleurs_etoile. Vous pourrez ainsi facilement modifier ce tirage aléatoire si vous voulez rajouter des images dans le clip Etoiles.
tiens j'y pense : un peu dommage d'utiliser une constante en dur : ça implique de modifier la classe en cas de modif du clip de base. Avec totalFrame tu rendras la classe plus souple d'emploi ;)




Citation

etoile.x : coordonnée selon l'axe des abscisses (x) du clip,
etoile.y : coordonnée selon l'axe des ordonnées (y) du clip,
etoile.alpha : propriété de transparence du clip,
etoile.scaleX : facteur multiplicatif sur la largeur de base du clip,
etoile.scaleY : facteur multiplicatif sur la hauteur de base du clip,
etoile.vitesse : vitesse propre à chaque étoile que nous créerons.

Puisque pour les autres tu utilises tout bonnement le nom de la propriété : scale, c'est échelle, (facteur multiplicatif c'est rigolo, mais bon ;))


Citation

/* Fonction s'exécutant lors du relâchement d'une touche
modifie correctement les différents booléens */
là ce n'est que mon discutable sens de l'humour qui ne peut pas la retenir : on aime autant que ce soit correctement, pcq "modifie de façon erronée les valeurs"… ça marcherait moins bien :mrgreen: Voilà, preuve que je n'ai vraiment rien à ajouter aux nombreux commentaires que tu as déjà reçu !

Du coup pour répondre à la question qui a relancé le sujet : non, n'en ajoute pas plus. Oublie flashdevelop, va à l'essentiel. Tu ne peux pas tout expliquer du moindre mot de la moindre ligne, tout bonnement pcq si quelqu'un a besoin de toutes ces explications, c'est qu'il est trop frais pour appréhender le tuto… je pense…

me reste plus qu'à te souhaiter bon wik, à te dire encore un merci pour ce portage de tuto ainsi que son suivi :)

++ :)


NB, j'espère que j'ai relu le bon tuto (d'un coup j'ai un doute)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#12 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 10 September 2011 - 10:56 AM

Hihi coucou ^^

Je prends bonne note de ces quelques nouvelles remarques :) je vais donc pouvoir retravailler le tuto ;-)

Oui en fait, pour la constante en dur, je suis d'accord, mais je n'ai découvert que très récemment (bon en fait y'a quelques mois déjà) la propriété "totalFrame" qui nous sera très utile ici justement ^^.

Haha pour le i qui vaut 99 tu chipotes. En fait normalement c'est bien lorsque i vaut 100 que ça s'arrête puisque i est d'abord itéré avant d'être confronté à la condition d'arrêt de la boucle. Mais tu as raison, ça peut porter à confusion aussi mettrai-je un "<=", comme ça pas de chipotage xD et on créera 101 étoiles :P.

Pour les variables globales, j'ai toujours trouvé ça moche de les identifier avec un "_" au début, là c'est purement une question de gout mais je ne peux pas me résigner à laisser un "_" au début d'une variable. Par ailleurs je trouve cela confondant avec l'AS2. Chaque fois que je vois des "_" en premier caractère d'une variable je ne peux m'empêcher de me dire que c'est de l'AS2 et je m'empresse de fermer ce que je suis en train de lire car je recherche de l'AS3. Je sais c'est bête et psychologique mais j'y peux rien xD.

Citation

là ce n'est que mon discutable sens de l'humour qui ne peut pas la retenir : on aime autant que ce soit correctement, pcq "modifie de façon erronée les valeurs"… ça marcherait moins bien :mrgreen:


Elle est bien bonne celle-là :D

Sur ce, dès que j'ai un peu de temps je me remets au travail sur le tuto ;)
Bonne fin de week-end :)
Kouliane.

[Edit]PS: oui tu as relu le bon tuto ;)

Modifié par Kouliane, 10 September 2011 - 10:56 AM.


#13 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 11 September 2011 - 15:14 PM

Voir le messageKouliane, le 10 September 2011 - 10:56 AM, dit :


Pour les variables globales, j'ai toujours trouvé ça moche de les identifier avec un "_" au début, là c'est purement une question de gout mais je ne peux pas me résigner à laisser un "_" au début d'une variable. Par ailleurs je trouve cela confondant avec l'AS2. Chaque fois que je vois des "_" en premier caractère d'une variable je ne peux m'empêcher de me dire que c'est de l'AS2 et je m'empresse de fermer ce que je suis en train de lire car je recherche de l'AS3. Je sais c'est bête et psychologique mais j'y peux rien xD.

Alors ça, c'est ta liberté la plus absolue de boycotter le soulignement en préfixe des variables que tu utilises :)
Il n'en reste pas moins que tu écris du tuto à l'attention de débutants, qui vont monter des réflexes d'écriture, c'est un peu dommage de ne pas, au moins, leur signaler. D'autant que là on parle bien de bonnes pratiques officiellement préconisées.

C'est une chose qu'écrire son programme ds son coin à usage perso (et c'est d'ailleurs super reposant :mrgreen:) c'en sont deux autres qu'écrire au sein d'une équipe (là 'faut se mettre d'équerre) ou sur le mode exemple. Que tu le veuilles ou non, le code que tu proposes risque d'être considéré comme un modèle à reproduire… du coup ça te fait une grosse responsabilité :mrgreen:

Prendre des risques pour soi, c'est une chose, en prendre pour d'autres… c'en est une autre. Je t'accorde que les risques ne sont pas de l'ordre du vital non plus, ;) mais bon, tant qu'à faire, autant faire au mieux, non ?

Je te transigerais bien tout de même, non pas de tout re-écrire (ou rechercher/remplacer), mais peut être de mettre une petite ligne d'avertissement…
A la fois, si tu ne peux t'y résoudre, ça n’accéléra pas la fin du monde… ;)

et pour ton commentaire sur i<100, change rien :lol: on s'en fout qu'il y en ait 100, 101, ou quarantedouze… J'ai honte de l'avoir pointé :oops: d'autant que c'est juste d'écrire que le traitement s'arrête quand i vaut 100.
Nous sommes toutes deux victimes de mon mauvais fond !

Encore merci de ta grande patience ;)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#14 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 11 September 2011 - 15:25 PM

Ah bon le "_" est préconisé pour les variables globales ?

A dire vrai c'est la première fois qu'on me le signale, tout langage confondu... Même dans le livre de Thibault Imbert qui semble être la bible d'AS3, il ne suit pas ce principe. C'est pour ça que je suis un peu surprise et confuse étant donné que dans la mesure du possible j'essaie toujours de me caler sur ce qui est préconisé.

Donc si le "_" doit être présent, le "_" j'ajouterai ^^.

#15 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 11 September 2011 - 15:29 PM

:Hola: :Hola:
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#16 Goabonga

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2724 messages

Posté 11 September 2011 - 17:12 PM

dans les specifications du language on dit juste qu'on peut l'utiliser :) ( voir 7.6 )
http://www.ecma-inte...ST/Ecma-262.pdf

Et dans les conventions d'Adobe ils disent :

Citation

Storage variable names
Give the storage variable for the getter/setter foo the name _foo.
http://opensource.ad...ing+Conventions


Moi j'utilise les _ pour les privates et protected et les $ pour les internals ;)

Pour les tutoriels, respectons ce que préconise Adobe, non ?

#17 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 11 September 2011 - 17:13 PM

Merci goabonga ;) je me demandais justement où c'était préconisé :)

#18 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 28 November 2011 - 10:59 AM

Coucou à tous :)

Bon bon bon ^^, cela m'a pris du temps mais j'ai fait une révision complète du tutoriel :).

J'ai donc pris en compte toutes vos remarques et j'ai modifié le tutoriel en conséquence. Désormais il comporte plusieurs classes, il donne une quantité de "bonnes pratiques" que j'ai lue à droite à gauche, tirée du livre de Thibault Imbert, de cette discussion et de plein d'autres... fait plein de références aux documents externes et autres tutoriels...

J'ai créé une section à la fin du tutoriel nommée "code à connaître", le tutoriel étant devenu plus "conséquent" (principalement dû aux bonnes pratiques et aux explications sur les classes), je me suis dit qu'il serait plus simple pour le lecteur de se référer directement à cette section si jamais il ne connaissait pas telle ou telle fonction.

J'espère que le tout reste de bonne qualité ^^ et je suis toujours ouverte pour des éventuelles modifications.

@ Bientôt

Kouliane.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP