Forums Développement Multimédia

Aller au contenu

- - - - -

[AS3 pied à l'étrier] addEventListener

TUTO

88 réponses à ce sujet

#46 lilive

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2993 messages

Posté 26 April 2011 - 17:43 PM

Pour le code et les changements dans les explications au sujet des puces, au chapitre couplage, je trouve que c'est ok maintenant.

Je me faisais aussi la remarque que, sans le dire, parler de target fait entrer de plein pied dans le sujet de la propagation, puisqu'il s'agit d'écouter un évènement sur un objet qui n'en est pas l'origine. Ou alors c'est moi qui m'embrouille. Donc pour mieux te faire comprendre ce que j'ai en tête j'ai fait une suggestion à la fin du chapitre couplage, à voir si tu la trouves pertinente à ce moment du tuto. Je l'ai rédigée uniquement pour pouvoir t'expliquer, tu l'efface dès que tu as compris ;)

Quand à mes réflexions sur le plan:
Je me disais que ce pourrait être mieux de ne pas regrouper toute la 2eme partie du tuto sous un même chapitre "les propriétés de l'event", mais de séparer en plusieurs chapitres dont les titres seraient plus fonctionnels. J'ai appliqué cette idée en regroupant les sections:
- currentTarget
- target
- Couplage fort ou faible
- Transmettre des variables à la fonction de rappel
Dans un même chapitre "Associer un même écouteur à plusieurs objets".

Dans le même ordre d'idée ce ne serait pas un chapitre "eventPhase" mais "La propagation évènementielle"

A voir dans quel autre chapitre on rangerait les derniers gadgets sur les touches et la souris.

C'est à dire ne pas chapitrer d'après le nom des propriétés, ce qui me semble un plan orienté documentation, mais d'après ce qu'on peut faire en utilisant ces propriétés, ce qui me semble une approche plus tuto.

Si ça ne te parles pas laissons tomber, on reviendra comme avant et ça ira très bien, je voulais juste te soumettre ces quelques pensées.


Pour la partie sur la propagation j'irai y refaire un tour pour la relire.

#47 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 26 April 2011 - 18:11 PM

:)

j'ai modifié ta modification, pcq ce n'est pas le fait de chopper l'événement en capture ou non qui changera le problème, mais l'utilisation de la propriété mouseChildren (que j'avais consciencieusement tue :mrgreen: )

mais il est vrai que ce n'est pas un cours (pcq ce serait pas possible), que rien ne prouve que j'irai au bout de mon projet, donc il vaut mieux que le tuto soit "complet".


Pour les titres, je te fais confiance. Tu y vois tj plus clair que moi à ce sujet. Tant qu'on ne modifie pas (trop) la progression. Que la structure reste cohérente, si les titres reflètent plus l'aspect "fonctionnel" c'est mieux je crois.
Je titrais du point étudié, pcq c'est comme ça que je le pense/conçois et ton approche me semble faciliter la lecture. La seule chose, c'est qu'on risque de ne plus trouver ce qu'on cherche quand on vient trouver un "mot" précis…

Honnêtement je ne m'y retrouve plus dans le plan. Je ne sais plus ce qui a été dit quand :mrgreen:


NB
Onde_999 nous fait des exercices :) quand on aura réglé les soucis d'incompatibilité CS5 au reste du monde, j'ajouterai une section exos en vrac…
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#48 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 31 July 2011 - 21:47 PM

Bonsoir,

Je fais mes premiers pas en Action Sript3 en suivant les tutoriaux sur les bases du langage.

je suis en train de suivre le tutoriel de Nataly "Objets, méthodes, propriétés, toussa…", et je bute sur une expérimentation basique qui ne fonctionne pas!

Au paragraphe "Ecrire" du tutoriel, Nataly propose d'expérimenter les règles de la syntaxe d'AS3 en écrivant un bout de script qui a pour effet de “régler” la position horizontale d'une occurrence de clip nommée ici "leClip", et posée sur la scène. Elle nous propose d'écrire ceci:

leClip.x=100;

Evidemment, j'ai sur ma scène dans l'image1 du calque1 un objet "Clip" nommé "leClip". Une copie de son écran nous montre qu'elle a ajouté un calque qu'elle a nommé "Code racine" sur lequel je suppose doit être posées les pages de code, mais le tuto ne le précise pas.

Le teste ne fonctionne pas, j'obtiens un message d'erreur de compilation "1120: Accès à la propriété non définie leClip"!...

Bref, j'ai donc fais une erreur de syntaxe que je suis à ce stade incapable de résoudre! et avant d'aller plus loin, je serais heureux d'assimilé et de maîtriser ces éléments de base!...

Je remercie d'avance mes ainés de m'aider dans cet apprentissage et m'expliquer ce qui ne va pas et pourquoi...

Bonne soirée...

#49 keith

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 31 July 2011 - 22:05 PM

Salut as tu penser à bien nommer l'occurrence de ton clip ?

Je pense que c'est ca qui cloche.

#50 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 01 August 2011 - 09:39 AM

Merci Keith, c'est effectivement ça qui cloche!

J'ai failli te demander comme un super débutant: "Nommer l'occurence?!! Comment qu'on fait?!..."

Mais heureusement, je m'en suis sorti tout seul quand même! Je suis étonné que les tutos préliminaires n'aient pas évoqué cet élément...

Cela dit pour celui qui rédige un tuto, se mettre dans la peau d'un débutant n'est pas chose aisée (j'en sais quelquechose, je donne des cours de dessin), et beaucoup de détails qui sont tellement évidents à un habitué échappe surement à la rédaction du tuto, qui sont généralement très bien fait...

Mais ce détail à pu également m'échappé à la lecture des tutos cela dit...

Merci du coup de main...

#51 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 01 August 2011 - 09:42 AM

Salut Manu :)


Alors… qu'avons nous raté ?

il semble que tu aies bien nommé l'intance (leClip) (de ce que tu dis) et tu as bien deviné que le code est sur le calque nommé racine ds l'exemple. Je devrais donc le préciser à nouveau (je pensais qu'après la page précédente, ça ne faisait plus de doute, ton retour est fort bien venu :))

Peut-être as tu confondu le scénario du clip et le scénario principal ? :roll:

sinon, publie ton fichier de test… on va bien trouver :)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#52 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 01 August 2011 - 09:46 AM

Voir le messageManulamanouille, le 01 August 2011 - 09:39 AM, dit :

Je suis étonné que les tutos préliminaires n'aient pas évoqué cet élément...

c'est écrit ds le texte :

Citation

En écrivant cette bête ligne dans la fenêtre action de l'image qui porte une occurrence de clip nommée leClip,

… et sur la copie d'écran : "nom de l'instance ds le panneau propriété"

:eusa_doh: j'ai cru avoir gravement fauté ;) N'empêche ! Je vais de ce clic passer la chose en gras… 

merci, et bonne lecture :)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#53 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 01 August 2011 - 10:00 AM

Ayé Manu, j'ai compris !

tu as confondu symbole et instance (occurrence).

Et ça pour le coup je n'en parle pas, c'est considéré comme acquis… d'avant…

Ces tuto n'étant pas faits, je te donne tout de même un lien sur une rapide explication que j'ai faite ici à une autre occasion

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

#54 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 02 August 2011 - 09:26 AM

Bonjour Nataly,

Je te remercie de te donner tant de mal à comprendre ce que je n'ai pas compris du tuto... Cela dit, il est sans doute vrai que mon expérience peu te permettre aussi d'avancer...

Alors oui, je n'ai pas vraiment encore tout assimilé, et j'ai la sensation pour le moment d'oublier une partie des éléments des tutos précédents quand je passe au suivant! Mais evidemment, la pratique m'aidera à passer le cap...

Pour revenir sur le sujet, Keith m'a déjà permi de débloquer la situation, et en cherchant un peu où et comment j'allais nommer l'occurence sur la base de sa réponse, ça m'a permis au moins de mieux assimiler cet élément important en trouvant la réponse...

Cela dit, je suis retourné lire le tuto pour voir et te confirmer comment j'ai pu passer à coté de ce détail d'importance: Je ne te contredirais pas, et je l'ai bien relu, tu l'as effectivement écris dans le texte, avec en plus une capture d'écran qui montre et rappel comment nommer, comme tu me le rappels si gentillement, et je t'en remercie...

Sauf que mon panneau "Propriété" n'est pas vraiment le même que ta capture d'écran (je suis sur PC, ceci explique sans doute cela) et que je suis finalement passé à coté! En plus, a ce stade, étant encore en phase de découverte, beaucoup de détails de base m'échappent encore au premières lectures...

Voilà, donc je te rassure, tu n'as pas fauté, c'est l'élève novice et sans doute pas encore suffisament attentif que je suis qui est en cause!... Et il est tout à fait vrai aussi que je fasse encore la confusion avec tout ces nouveaux termes, je fait encore souvent l'aller-retour entre les premiers tutos et la suite pour me rappeler les significations, sytaxes et emplois des termes utilisés...

Le chemin est encore long et semé d'embuche, mais comme tout le monde, je vais y arriver, je ne suis pas inquiet...

Merci Nataly, toute l'équipe de formateurs pour ces tutos, et les autres de la communauté pour votre coup de main...

#55 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 02 August 2011 - 10:50 AM

Bonjour à tous...

Je continue dans mes pas de novice, j'en suis maintenant au chapitre "MouseEvent" avec le tuto toujours de Nataly "MouseEvent / AddEventListener : Clics et événements souris sur les boutons et les clips", en espérant de ne pas avoir raté d'étape pour arriver jusque là!...

J'ai evidemment de nouveau un soucis qui me bloque dans une expérimentation: c'est sur la fin du tuto, au paragraphe "La propagation événementielle".

J'avoue, je ne suis pas certain d'avoir encore tout saisi, mais je n'arrive pas à faire fonctionner l'expérimentation de la partie "Phase de capture": A partir d'un menu de 3 boutons qui renvois à des liens URL expérimenté plus haut (que j'ai réussi à mettre en pratique), le postulla de cet exercice pour nous faire comprendre le fonctionnement et l'intérrêt des "Phases de capture" semble être de ce que j'en ai compris la simplification du script...

Voici donc le sript proposé:

// autant de boutons qu'on veut
menu.btGoogle.lien="http://google.fr";
menu.btMediaBox.lien="http://flash.mediabox.fr";
menu.btDoc.lien="http://help.adobe.com/fr_FR/ActionScript/3.0_ProgrammingAS3/";

// un seul écouteur
menu.addEventListener(MouseEvent.CLICK,qdClicBouton,true);
// une seule fonction de rappel
function qdClicBouton(me:MouseEvent):void {
navigateToURL(new URLRequest(me.target.lien));

Pour la mise en pratique de ce script, j'ai posé sur la 1ère image de mon scénario un clip nommé "menu" (cette fois-ci, j'ai bien saisi comment nommer!).
Ce clip contient lui-même 3 clip nommés "btGoogle", "btMediabox", et "btDoc", eux-même composés d'un simple rectangle.

Quand je teste, j'obtiens un magnifique message d'erreur qui dit ceci:

TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété.
at TutoAS_fla::MainTimeline/TutoAS_fla::frame1()

J'ai donc encore raté quelquechose, j'essaye de comprendre quoi depuis hier soir, mais encore une fois, je ne trouve pas!

Merci de venir à mon secours et de me montrer une nouvelle fois le chemin...

Au fait, tant que j'y suis, j'aurais bien aimé aussi expérimenter cette simplification du script au menu qui permet de “piloter” la tête de lecture de l'animation courante, et l'envoyer voire les étiquette “accueil”, “contact”, “page1”… (Ex plus haut au paragraphe "Transmettre des variables à la fonction de rappel", que j'ai réussi à expérimenter).

Mais evidemment là aussi ça coince, comme je n'ai pas réussi l'expérimentation du paragraphe "La propagation événementielle", je ne l'ai pas vraiment assimilé, et je n'arrive donc pas à la transposer...

Encore merci pour vos lumières...

Modifié par Manulamanouille, 02 August 2011 - 10:53 AM.


#56 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 02 August 2011 - 15:10 PM

Salut Manu :)

1) jette un œil à ma signature ;)

2) je viens d'ajouter les sources de l'exo en question.

Je n'ai plus le fichier avec les étiquettes pour la navigation d'une image sur l'autre en rusant de la propriété name :( Je vais le reconstruire : ça ne mange pas de pain de mettre les sources aussi, mais pas aujourd'hui (j'ai un jeu sur le feu :oops:/ :cool:)


En ce qui concerne les phases de captures, tu peux oublier pour l'instant.
Il en est qui développent depuis un moment déjà en ignorant proprement comment ça se mange et ça ne les empêche pas de vivre.
Quand tu auras pris de l'assurance tu y reviendras.

Si tu débutes complètement de chez origines, sûr que la version écrite de ce démarrage est bien rapide. Je suis bien consciente de tout ce que je dis en plus (répète, illustre, mime) lors d'un cours avec la voix.

Entre la flemme, la peur d'être trop longue (or, déjà en l'état… :?), et la croyance qu'il n'y avait pas ici de public de vrais débutants… Je suis sans doute allée trop vite.
Si ça peut te consoler, dis toi que tu œuvres pour les suivants ;)
je vais bien entendu tenir compte de toutes ces remarques que tu prends gentiment le temps de développer, apporter les enjolivements nécessaires, et surtout, en tenir compte à l'avenir pour la suite de la saga :)

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

#57 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 02 August 2011 - 20:31 PM

Bonsoir Nataly, et à tous ceux qui suivent la saga de mes début en ActionScript...

Merci pour ta bienveillance et le temps que tu me consacres... :Hola:

Effectivement, je crois comprendre que cette histoire de phases de captures pour le novice que je suis, c'est un peu trop! Je vais mettre ça de coté...

Je pense vraiment qu'il doit y avoir comme moi un publique de débutant sur ce site, mais ils n'osent certainement pas se montrer... Moi je n'ai pas d'apriori de ce coté là, je me livre facilement tel que je suis...

Et effectivement, je suis convaincu que la saga de cette expérience saura servir à d'autre, comme aux formateurs d'ailleurs, et je te remercie de ton soutien...

Je vais aller jetter un oeil sur les exos dont tu parles...

En attendant, le but ultime de ma découverte de l'ActionScript, en plus de faire évoluer mes connaissances en mes compétencs(là c'est encore un bien grand mot! ;-) ), je souhaites me réaliser un petit site internet, voilà, c'est laché!... :mrgreen:

J'ai donc sous le coude une petite maquette de ce que je souhaite réaliser que je joint à ce message.

Avec tout ce que j'ai déjà apris depuis mes débuts, j'ai réussi à en construire la trame, mais je bute toujours sur les liens des "pages" avec leurs "boutons"...

La structure comporte une intro animée qui met en place la mise en page du site(avant laquelle il faudra sans doute ajouter une barre de chargement, mais j'en suis pas là!), puis des pages qui sont elles-même des petites animations qui construisent leurs mises en pages.

Il manque sur la maquette le contenu, avec en finalité un bout de diaporama sur une des pages pour présenter des projets... (En fait, je suis Designer Industriel à mon compte, et evidemment je souhaite présenter mon agence ceci, explique cela... ;-) )

Pour les boutons, j'ai choisi l'option d'utiliser des "clip/boutons" que tu le suggères dans le tuto.

Voilà, j'espère que je n'ai pas fait trop compliqué pour un premier site! :?

Et donc, voici le bout de code que j'ai adapté du tuto:

stop();

menu.addEventListener(MouseEvent.CLICK, allerA);
page1.addEventListener(MouseEvent.CLICK, allerA);
page2.addEventListener(MouseEvent.CLICK, allerA);
page3.addEventListener(MouseEvent.CLICK, allerA);

function allerA(me:MouseEvent):void {
gotoAndStop(me.target.name);
}

Et évidemment, j'obtiens une magnifique erreur de compilation qui me dit ceci:

Emplacement: Séquence= Séquence1, calque= CodeRacine, image= 6, ligne 8
Description: Impossible de charger la classe ou l'interface 'MouseEvent'.
Source: function allerA(me:MouseEvent):void {

Bon, manifestement, il y a encore des subtilités qui m'ont échappées, pourtant convaincu qu'il ne s'agit de pas grand chose... :?

Voilà, tout est posé, évidemment vos lumières sur ce qui coince me seront bien utilles...

En attendant, bonne soirée Nataly et à toute la communauté qui suis cette saga...

Fichier(s) joint(s)


Modifié par Manulamanouille, 02 August 2011 - 20:33 PM.


#58 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 03 August 2011 - 08:43 AM

zou ! sources sur le tuto ! :)

Tu nous diras ce qui t'avait échappé ? Que ça serve à d'autres… :roll:

NB :

Voir le messageNataly, le 02 August 2011 - 15:10 PM, dit :

Salut Manu :)

1) jette un œil à ma signature ;)

si je l'ai mis en signature c'est pcq j'en peux plus de le répéter… :deal:
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#59 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 03 August 2011 - 15:17 PM

Bon, tu me pardonneras surement d'être candide, mais j'avoue que quand tu m'as conseillé "jette un œil à ma signature ", c'était pas très clair, et ne pas répondre me semblais pas correct...

Mais je comprends bien que cet échange n'était pas vraiment à ça place, tu à bien fait d'y remédier...

Bon, j'ai récupéré les sources de l'exo en question, je regarde ça de plus prêt, et c'est vraiment avec plaisir que je vous dirais ce qui m'a échappé...

Je serais vraiment heureux que mon expérience serve à la communauté... :smile:

A+ :smile:

#60 Manulamanouille

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 03 August 2011 - 20:10 PM

Bon, et bien ça y est, j'ai jetté un oeil sur les sources, j'ai longuement comparé avec mes versions des exos... :eusa_doh:

Pour l'exo avec les étiquettes pour la navigation d'une image sur l'autre, je n'avais pas de problème particulier, j'avais réussi à le réaliser.

Pour la suite, l'exo du menu vers les liens URL, j'avais réussi à expérimenter la première version, les "clip/boutons" aussi, ce qui coinçait, c'était le menu vers les liens URL simplifié avec les phases de captures.

Et là, j'ai fni par trouver une bète erreur de syntaxe (et c'est surement comme ça que ça se passe souvent j'imagine!): par flemme j'ai fais un copier/coller, et je n'ai pas vu que pour nommer le bouton Mediabox, il était nommé "btMédiaBox" avec le M et le B en majuscule, et non "btMediabox" avec seulement le M en majuscule comme je l'avais nommé!... :mrgreen:

J'ai modifié, et voilà, ça marche!!! :D

Par contre, ce que je n'ai pas réussi à faire, si c'est possible, c'est de retransposer cet exo du menu vers les liens URL simplifié avec les étiquettes pour la navigation d'une image sur l'autre... Là, pas trouvé!

Voilà, pour finir, j'ai repris ma petite maquette de site, Je l'ai triturée et comparée à l'exo des étiquettes pour la navigation d'une image sur l'autre sans trouver l'anomalie, et l'erreur persistait...

Pour rappel:

Emplacement: Séquence= Séquence1, calque= CodeRacine, image= 6, ligne 8
Description: Impossible de charger la classe ou l'interface 'MouseEvent'.
Source: function allerA(me:MouseEvent):void {

(et le fichier c'est celui-ci: )

J'ai finalement opté pour tout reprendre avec un nouveau fichier à partir des éléments de l'exo des étiquettes pour la navigation d'une image sur l'autre, j'ai remplacé par les éléments de ma maquette, et oh miracle, ça marche enfin!!! :D

Mais du coup, en comparant avec la version qui ne fonctionne pas, je n'ai pas trouvé ce qui clochait!

Si il y en a que ça intéresse de faire le jeux des 7 erreurs pour trouver le fin mot de l'histoire, voici la version qui marche:

Cela dit, pour le novice qui veut faire un bout de site avec une intro, des boutons, et des pages animées, ça peu faire une trame de départ, et ça peu aussi illustrer ce que l'on peu faire avec des connaissances de code limitées et les bases de l'animation.

Voilà donc pour mes observations et pour clore avec mes soucis dans ce tutos, qui n'a par ailleurs pas grand chose à se reprocher, c'est simplement que je suis un peu tête en l'air!... ;-)

A+..

Fichier(s) joint(s)



#61 gael.sorin

    Ceinture Blanche

  • Members
  • Pip
  • 1 messages

Posté 18 August 2011 - 11:13 AM

Merci beaucoup, grâce à vous, je fait des bonds !!!

#62 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 18 August 2011 - 12:13 PM

yo :)

merci à toi : s'inscrire juste pour dire merci ! :Hola:

Et tu fais des bonds de quoi ? de joie ou de puces ? ;)



En tous cas, sois le bienvenu ici, et à bientôt sûrement :)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#63 winderwar

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 90 messages

Posté 06 November 2011 - 16:32 PM

Ce tuto est génial merci !

#64 Kulgar

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 177 messages

Posté 06 November 2011 - 17:20 PM

Tous les tutos que Nataly rédige sont géniaux ;)

#65 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 06 November 2011 - 18:16 PM

ah ah ! n'en jetez plus :mrgreen:

(et merci, pcq quoique je dise, ça me fait toujours plaisir de constater que c'est utile ;))
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#66 zakann

    Ceinture Blanche

  • Members
  • Pip
  • 10 messages

Posté 15 December 2011 - 09:55 AM

Nataly : Vous êtes magique!

#67 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 15 December 2011 - 10:10 AM

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

#68 zakann

    Ceinture Blanche

  • Members
  • Pip
  • 10 messages

Posté 27 March 2012 - 19:22 PM

C'est surtout pour Nataly, mais je tenais à mettre un lien vers mon site, que j'ai réalisé avec toute l'aide de Nataly, sur mes nombreuses question, et toutes mes interrogations sur le Listener, et encore bien d'autre.

Merci encore

(c'est ici : http://www.ericbouquet.com , et c'est grace à vous. Merci)

#69 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 28 March 2012 - 08:45 AM

Salut Zakann,

Contente de savoir que ces pages trouvent utilité, et merci du merci ;)

Si tu veux des retours sur ton travail, il faudrait le déplacer ds la salle dédiée : trouvailles et créations du café… Veux tu que je l'y déplace ?

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

#70 BriçouLeFou

    Ceinture Jaune

  • Members
  • PipPip
  • 20 messages

Posté 11 November 2012 - 18:18 PM

Salut Nataly !

Je déterre un peu tu ne m'en voudras pas, mais comme je l'ai expliqué sur mon premier post sur ce beau forum, je me remets tout doucement à Flash avec l'AS3, ayant été de nombreuses années mordu de Flash MX2004 et AS2 (ancien forum FlashFrance si tu connais, j'étais assez actif).

Du coup j'essaies de décripter ton tutoriel, soit dit en passant très plaisant à lire et très clair, peut-être un poil long pour du débutant comme cela a déjà été remarqué ;)

J'ai juste un souci de compréhension quant à la zoulie fleur et ses pétales qu'on enlève en cliquant dessus tout en ayant la touche SHIFT maintenue...

Dans mon mini projet j'ai une série de boutons qui sont ajoutés à la scène par un script allant chercher des infos dans un fichier XML.
Jusque là c'est OK. Au clic sur un des boutons, je voudrais faire disparaitre tous les éléments de ce petit menu, sans avoir à faire une boucle for ou autre du genre.
Donc en ayant vu ton exercice sur les pétales, je me suis dit "niquel ! pile poil ce qu'il me faut !" ! Sauf que je ne comprends pas comment faire... <_<
J'ai donc mes boutons qui sont ajoutés dans un clip "conteneur", à chacun j'ai attribué un AddEventListener(blablabla, fonction), fonction dans laquelle je voudrais retirer tous mes boutons (sans toucher au conteneur).

Je ne comprends en fait pas comment un écouteur d'évènements sur le conteneur peut affecter les enfants du conteneur ? Est-ce une simple question d'héritage ?

Merci pour les précisions, et les aiguillages si possible ;)

Brice

#71 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 12 November 2012 - 12:07 PM

Voir le messageBriçouLeFou, le 11 November 2012 - 18:18 PM, dit :

Je déterre un peu tu ne m'en voudras pas,
certes non. D'autant moins que ce sujet est là pour ça ;)


Citation

peut-être un poil long pour du débutant comme cela a déjà été remarqué ;)

:oops:
Expliquer beaucoup de choses en peu de mots… je ne sais pas faire.

Si tu vois des choses superflues, n'hésite pas à me les signaler.

Citation

je voudrais faire disparaitre tous les éléments de ce petit menu, sans avoir à faire une boucle for ou autre du genre.

Il n'y a malheureusement guère d'autre solutions :? supprimer individuellement plusieurs objets, implique nécessairement de les passer, chacun, à un removeChild.
Souvent on choisit de supprimer le contenant lui même (il faut être vigilant à ne pas laisser trainer des références aux objets contenus sous peine de gaver les ressources : le ramasse miette ne pourrait pas virer les instances).

Citation

J'ai juste un souci de compréhension quant à la zoulie fleur et ses pétales qu'on enlève en cliquant dessus tout en ayant la touche SHIFT maintenue...

C'est l'exo d’application du paragraphe "associer un même écouteur à plusieurs objets" en utilisant un couplage faible.



Citation

Je ne comprends en fait pas comment un écouteur d'évènements sur le conteneur peut affecter les enfants du conteneur ? Est-ce une simple question d'héritage ?

Pas de rapport avec l'héritage (ne confonds pas, une classe hérite d'une autre et, un clip en contient d'autres) ;)

L'écouteur n'affecte rien, il écoute.
Il écoute tout ce qu'il peut entendre de là où il est.
S'il est sur un conteneur, il entendra ce que diffuse le conteneur (currentTarget), et ce que diffusent tous ses enfants (target)*. C'est au chapitre target Je sens bien que je me répète ;) j'espère que c'est pcq tu as sauté ces chapitres. Si ce n'est toujours pas clair, dis le. Je trouverai bien une troisième façon de le formuler .



* Sauf à écouter la phase de capture (1) comme expliqué un peu plus bas et sur le blog en vidéo
- Ce n'est pas prioritaire.
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#72 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 12 November 2012 - 15:40 PM

Super ce tuto et complet j'ai l'impression... je suis redevenu débutant au passage à l'AS3 car le programmeur de la boîte ne veut pas que je tape une seule ligne de code car ça le soûle et de toute façon il supprime tout avant de commencer :P Du coup, je ne pratique plus depuis plusieurs années :/ Et c'est le genre de tuto qu'il me faut... -.-

#73 BriçouLeFou

    Ceinture Jaune

  • Members
  • PipPip
  • 20 messages

Posté 12 November 2012 - 19:26 PM

Salut Nataly, et merci pour ta réponse :)

Pour te répondre à mon tour point par point :

- pour le coup du trop court / trop long : je n'ai jamais fait de tuto donc mon avis ne sera pas très objectif, mais sans enlever des choses, je verrai plutôt la chose en plusieurs pages... Mais cela n'engage que moi ;)

- les chapitres que j'ai sautés, c'est tout bonnement parce que je ne les ai pas vus, je suis tombé totalement par hasard sur le tuto concerné par ce sujet au détour d'une conversation ^^

- je viens de lire le chapitre que tu m'as conseillé sur l'association d'un même écouteur à plusieurs objets, chose que je comprends et conçois/conceptualise tout à fait, j'ai juste encore un peu de mal avec la différence entre target et currentTarget (mais ça ne saurait tarder, après quelques essais) ;)

Merci encore, tout ceci va bien m'aider :)

Bonne soirée et surement à bientôt ;)
Brice

#74 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 13 November 2012 - 14:27 PM

Voir le messageBriçouLeFou, le 12 November 2012 - 19:26 PM, dit :

- pour le coup du trop court / trop long : je n'ai jamais fait de tuto donc mon avis ne sera pas très objectif, mais sans enlever des choses, je verrai plutôt la chose en plusieurs pages...

… oui… !
:)
découper la chose :roll:

De fait ce chapitre est un de ceux qui me satisfont le moins, dans sa forme. Un des premiers aussi (ds la catégorie "cours"), ceci expliquant sans doute cela. D'ailleurs les messages précédents témoignent de l'acharnement que Lilive et moi avons mis en lecture, relecture, modif, re-relectures, re-re-modifs…

je vais y re-réfléchir, merci de l'idée :)

Citation

j'ai juste encore un peu de mal avec la différence entre target et currentTarget (mais ça ne saurait tarder, après quelques essais) ;)

Ouais, ça flanque le bronks un moment, aux débuts. Ensuite on se demande comment ça a pu êtres confus ;)

Dis toi :
currentTarget l'objet auquel l'écouteur est souscrit.
target, l'objet qui a diffusé l'événement.


@ Abriko

Ah ah ! Révolte des minorités opprimées :D
T'as bien raison : résiiiiiiiiiiiiiiiiiste !!!!

Merci de l'encouragement, et : oui l'ensemble des pages constitue ce qu'on voit ds un stage d'init (exception faite des composants et traitement bitmap).
Je considère (et j'espère être ds le vrai) qu'à l'issu de ça, on a tout ce qu'il faut pour voler de ses propres ailes (avec la doc :mrgreen: ) jusqu'à plonger ds la POO.
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#75 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 11 December 2012 - 21:18 PM

bonsoir ,
je suis tombé sur ce tuto par hasard car je cherchais a faire un bouton sous forme de clip facilement et je suis resté bluffé par l'utilisation des étiquettes et de la propriété buttonmode . je m'y suis donc testé et j'ai donc crée 3 clips animés pour chacune des images à étiqueter par( _up,_over...) et mis un stop et un buttonMode=true dans l'image1 de ce clip bouton .Jusque là à moins d'avoir grillé une étape ,tout devrait rouler ... eh beh non !!! mon swf detecte bien le passage de la souris car le curseur se modifie mais ne lis pas mon clip animé de l'état survol .
je seche vos pourriez me dire ce que j'ai mal fais ou oublié ...

D'avance merci ...

#76 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 12 December 2012 - 09:18 AM

Bonjour Lafoufre.
Difficile de dire ce que tu as oublié sans avoir le fichier fla…
Je peux juste te confirmer que la technique fonctionne.

#77 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 12 December 2012 - 10:56 AM

Bonjour didier

oui autant pour moi j'ai oublié de le joindre ... :eusa_doh:

Fichier(s) joint(s)



#78 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 12 December 2012 - 18:28 PM

bonsoir

alors une petite idée de pourquoi ca marche pas ?

j'ai fouillé et j'ai trouvé un de tes exemples justement qui marche nickel
j'ai comparé et je pense n'avoir du coup rien oublié...
est ce parce que mon clip survol utilise des interpolations de forme?

je comprends pas pk il reste à l'état _up ... :? :cry: :!:

#79 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 12 December 2012 - 18:30 PM

Désolé, je ne peux pas ouvrir le fichier, je suis sous CS4… :-(
Quelqu'un d'autre ?

#80 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 12 December 2012 - 18:35 PM

et en cs5 ca pourrait le faire

#81 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 12 December 2012 - 18:54 PM

Bon en fait après autres tests , effectivement ca fonctionne très bien ... avec du texte .
En effet après avoir dupliqué le meme bouton clip et n'avoir du coup rien changé à la structure j'ai juste virer les clips que j'avais positionné en premier lieu et les ai remplacé par du texte et là miracle l'état _over fonctionne . du coup je m'entete avec mes clips, je mets des clips sans anim, et la rebelote l'etat _over n'est plu detecté .

du coup j'en deduis que si on veut des boutons animé un peu sophistiqué c'est difficile de passer par des clips .

#82 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 12 December 2012 - 19:07 PM

???

Non, c'est la bonne façon de faire des boutons animés.
La plus simple.

Tu as un autre souci. Peut-être un problème de compréhension, quelquepart…

#83 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 12 December 2012 - 19:31 PM

Salut,

Je pense que c'est lié à un problème de focus sur les clips insérés dans l'animation.

En procédant autrement ça marche .

Nomme ton bouton "bouton", vire toutes les frames inutiles et met ce code à la racine de ton projet :

bouton.addEventListener(MouseEvent.MOUSE_OVER, survol);
bouton.addEventListener(MouseEvent.MOUSE_OUT, sortir);
bouton.addEventListener(MouseEvent.CLICK, cliquer);

function survol(e:MouseEvent):void{
        bouton.gotoAndStop(2);
}
function sortir(e:MouseEvent):void{
        bouton.gotoAndStop(1);
}
function cliquer(e:MouseEvent):void{
        bouton.gotoAndStop(3);
}

Fichier(s) joint(s)



#84 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 13 December 2012 - 11:31 AM

Bonjour M.Spi,

merci pour cet éclaircissement ...bon par contre ca m'oblige à faire un bouton avec des écouteurs ...Chose que je voulais éviter et qui me plaisait avec la solution des etiquettes... Tant pis ...

Je reste convaincu didier qu'effectivement cette solution est la plus rapide et la plus légère...
mais du coup (car ca m'arrangerait vraiment de les faire ainsi ...)
comment se fait-il que ca ne lise pas ne serait qu'un clip fixe et qu'un texte oui...?

j'avoue je ne comprend pas bien l'histoire de focus de M.Spi ...

Enfin en tout cas merci pour vos réponses réactive et ciblé ...pro quoi ;)

#85 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 13 December 2012 - 11:50 AM

Tu es sous quelle version ?
Tu peux enregistrer sous la version précédente et on verra si quelqu'un peux me l'enregistrer en CS4…

Parce que je n'arrive toujours pas à imaginer ce qui bloque.

#86 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 13 December 2012 - 12:30 PM

sous cs6

alors si toi non plus tu vois pas ...
le voilà en cs5

Fichier(s) joint(s)



#87 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 13 December 2012 - 12:44 PM

@dldler

en CS4

a+

Fichier(s) joint(s)



#88 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 13 December 2012 - 13:11 PM

Merci paodao :)

Du coup :
si tes animations sont des clips inclus, tu dois les insensibiliser aux événements souris. Sinon, ils captent l'événement, et le clip "bouton" n'entend rien.

buttonMode=true;
mouseChildren=false;
stop();

;-) Ne me remercie pas tout de suite, tu n'es pas au bout.

#89 lafoufre

    Ceinture Jaune

  • Members
  • PipPip
  • 29 messages

Posté 13 December 2012 - 15:10 PM

Merci paodao d'avoir transmis si vite ,cool !!! :)

Beh si je vois pas pourquoi je remercierai pas didier ;-) :D
Même si tu penses et que je ne pense pas être non plus au bout de mes peines ... ;)

Merci c'est cool et j'aurai pas de souci de variable sans type comme ca ;-)



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

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