IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Tracé d'un dessin (nouveau problème)


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Par défaut Tracé d'un dessin (nouveau problème)
    Bonjour,
    Je ne connais à peu près rien du tout au codage, cependant, j'aimerais mettre en oeuvre ce script AS2 qui permet de tracer du texte ou un dessin, il est ici : ZoneFlash.net

    Ca fonctionne, j'ai remplacé le point par une main. Le tracé de mon dessin se fait mais ce tracé "n'habite pas" un calque à proprement parler.
    Une fois le tracé fait, je voudrais passer à autre chose sur la timeline mais le tracé du dessin reste devant tout ce que je peux faire après, même dans une nouvelle séquence.

    On pourrait "ranger" le point qui dessine en dehors de la page et expliquer au script que quand le point est arrivé là, on efface le tracé...
    Soit on efface d'un coup au bout de x secondes ;
    Soit on efface en fade sur 1s (j'ai vu que ça existe dans les commandes de script)

    Essai visible ICI

    Fichier .fla ICI

    Le code AS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    vitesse = 5;
    distanceMin = 10;
     
    initialiser = function () {
    clearInterval(intervalle);
    this.createEmptyMovieClip("trajectoire", 0);
    trajectoire._x = guide._x;
    trajectoire._y = guide._y;
    trajectoire.clear();
    trajectoire.lineStyle(3, "0xFFFFFF", 100);
    guide.swapDepths(trajectoire); /*mettre la main devant le tracé*/
    guide.gotoAndStop(1);
    oldx = guide.point._x;
    oldy = guide.point._y;
    trajectoire.moveTo(oldx, oldy);
    guide.point._visible = true;
    intervalle = setInterval(nextImage, vitesse);
    };
     
    nextImage = function () {
    guide.nextFrame();
    if (guide._currentframe == guide._totalframes) {clearInterval(intervalle);
    } else {
    var newx = guide.point._x;
    var newy = guide.point._y;
    var dx = newx-oldx;
    var dy = newy-oldy;
    var d = Math.sqrt(dx*dx+dy*dy);
    if (d>distanceMin) {
    trajectoire.moveTo(newx, newy);
    } else {
    trajectoire.lineTo(newx, newy);
    }
    oldx = newx;
    oldy = newy;
    }
    };
     
    initialiser();

    Qui pourrait m'écrire ça, dans la mesure où moi, je suis franchement en dessous du niveau zéro...(;o)))))
    Mille mercis.

  2. #2
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    bonjour,
    je te propose cette solution :

    Pièce jointe 55750

  3. #3
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    bonjour,
    je te propose cette solution :...
    Ah oui, ça le fait, bravo !!
    Mais il y a juste 2 petits problèmes :
    1/ Le masque est blanc (ça je peux essayer de trouver comment et le mettre en noir...)
    2/ Le masque vient par dessus la scène et je ne peux plus rien animer dessus, il cache tout...
    Ceci dit, merci à toi.

  4. #4
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    bon pour résoudre la suite :
    déjà tu peux créer un calque supplémentaire et placer du contenu sur la deuxième image clé de ce calque la suite de ton animation, mais il faudra rendre "invisible" tout les éléments précédents à la fin de l'animation du masque en utilisant le code comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    		onEnterFrame = function(){
    			if(masque_blanc._alpha == 100){
    				nextFrame();
    				delete this.onEnterFrame;
    				unloadMovie("masque_blanc");
    				guide._visible = false;
    				trajectoire._visible = false;
    			}else{
    				masque_blanc._alpha ++;
    			}
    		}
    le code "parle" de lui même,
    une fois que le masque est arrivé à _alpha égal 100:
    nextFrame(); -> permet d'aller à la frame suivante
    unloadMovie("masque_blanc"); -> on enlève complètement le masque
    guide._visible = false; -> on rend le guide invisible
    trajectoire._visible = false; -> pareil pour la trajectoire on la rend invisible

    C'est pas super chouette comme technique mais c'est le plus simple.
    si tu n'arrives pas à faire la modification je te renvoie un nouveau fichier

    crdt

  5. #5
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    bon pour résoudre la suite :
    déjà tu peux créer un calque supplémentaire et placer du contenu sur la deuxième image clé de ce calque la suite de ton animation
    J'avais fait ça oui, un nouveau calque et dès que le tracé est fini, même plus loin, je mets une images pour voir...
    Tout étant effacé, ça devrait marcher, mais ça marche pas, ya un truc qui cloche.
    Me suis pas trompé dans le remplacement ?
    A la place de ça dans ta première proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    onEnterFrame = function(){
    			if(masque_blanc._alpha == 100){
    				delete this.onEnterFrame;
    			}else{
    				masque_blanc._alpha ++;
    			}
    		}
    J'ai mis ça de ta deuxième proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    onEnterFrame = function(){
    			if(masque_blanc._alpha == 100){
    				nextFrame();
    				delete this.onEnterFrame;
    				unloadMovie("masque_blanc");
    				guide._visible = false;
    				trajectoire._visible = false;
    			}else{
    				masque_blanc._alpha ++;
    			}
    		}
    J'y connais presque rien en code, et ça a l'air plutôt clair mais ça marche pas...

    Citation Envoyé par dom_dev Voir le message
    C'est pas super chouette comme technique mais c'est le plus simple.
    C'est pas grave, j'en suis pas à faire de l'esthétique dans le code !! (;o)))

  6. #6
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    voici le dernier fichier que j'ai modifié ça devrait te permettre d'y voir plus clair ?

    Pièce jointe 55781

    crdt

  7. #7
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    voici le dernier fichier que j'ai modifié ça devrait te permettre d'y voir plus clair ?
    Ah oui, ok, mais je ne comprends pas pourquoi la suite doit démarrer à l'image 2.
    Je ne vois pas de goto 2 dans le script...
    Purée, j'ai jamais pu me faire au code.
    Merci à toi pour la patience.

  8. #8
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    voici le dernier fichier que j'ai modifié...
    Oui alors pour que ça fasse un fondu au noir, j'ai l'impression que ça se complique car en gros, de ce que je comprends : Tu crées une fonction, tu appliques un paramètre masque_blanc._alpha = 0; ça rend la scène du tracé transparente mais je ne vois pas trop pourquoi c'est blanc derrière puisque le fond de page est noir...
    Chui con hein...(;o)))))

  9. #9
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    Chui con hein...(;o)))))
    non,non il faut jamais dire ça, nous avons des intelligences différentes et une perception des choses différentes.
    Bon mais à part ça, c'est beaucoup plus simple, c'est blanc simplement parceque j'ai créée un rectangle blanc dans le clip "masque". Je rends celui ci transparent au début pour qu'il ne se voit pas et ensuite je fais varier sa transparence de 0 à 100%.
    C'est l'instruction "nextFrame()" qui permet de passer à la frame suivante donc la numéro 2, mais on pourrait la remplacer par gotoAndStop("une_etiquette"); ou "une_etiquette" est la nom d'étiquette d'une image clé n'importe où sur la time line mais j'ai préféré pas trop t'embrouiller avec ça.
    Je t'ai donné une solution parmis beaucoup d'autres possibles.

    crdt

  10. #10
    Membre confirmé
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    non,non il faut jamais dire ça, nous avons des intelligences différentes et une perception des choses différentes.
    T'es gentil !!! (;o))
    Citation Envoyé par dom_dev Voir le message
    Bon mais à part ça, c'est beaucoup plus simple, c'est blanc simplement parce que j'ai créée un rectangle blanc dans le clip "masque". Je rends celui ci transparent au début pour qu'il ne se voit pas et ensuite je fais varier sa transparence de 0 à 100%.
    Tu vois qu'chui con, j'ai même pas fait gaffe au clip masque blanc dans la bibliothèque...(;o))) effectivement, je le mets noir et ça passe au noir.

    Citation Envoyé par dom_dev Voir le message
    C'est l'instruction "nextFrame()" qui permet de passer à la frame suivante donc la numéro 2, mais on pourrait la remplacer par gotoAndStop("une_etiquette"); ou "une_etiquette" est la nom d'étiquette d'une image clé n'importe où sur la time line mais j'ai préféré pas trop t'embrouiller avec ça.
    Je t'ai donné une solution parmis beaucoup d'autres possibles.
    Oui je vois.
    C'est très cool, et ça marche bien.
    Quelqu'un d'autre m'a donné une solution entièrement dans le code mais c'est très compliqué pour moi car le truc se décompose en plusieurs parties.
    De plus, ça fait disparaitre le tracé d'une manière par très continue, on perçois des petites sacades et c'est pas très joli.
    Donc le tiens, finalement, est bien mieux, même si ce n'est pas les règles de l'art du codeur fou !
    Grand merci.

Discussions similaires

  1. [PHP & HTML] Nouveau : Problème
    Par Jihnn dans le forum Langage
    Réponses: 15
    Dernier message: 27/06/2006, 20h08
  2. nouveau problème sur un searchResults
    Par nighthammer dans le forum Zope
    Réponses: 8
    Dernier message: 27/06/2006, 11h08
  3. nouveau problème avec le separator
    Par boudou dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 21/02/2006, 14h25
  4. [Dessin]Petits problèmes
    Par WWarmbeam dans le forum 2D
    Réponses: 4
    Dernier message: 17/10/2005, 19h59
  5. Nouveau problème de récupération de valeurs.
    Par pmboutteau dans le forum ASP
    Réponses: 4
    Dernier message: 09/03/2005, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo