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


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut Tracé d'un dessin
    bonjour,
    dans l'excellent script de Vincent Crublé ici, il est question de faire "écrire" un texte sur la page à l'aide d'un point qui se déplace.
    Mais en fait, le point n'apparait pas quand on fait marcher le truc.
    Il ne reste que la trace, le tracé quoi.
    J'ai besoin de cela, mais je voudrais une main munie d'un crayon qui dessine quelque chose.
    Tout repose dans le script qui travaille sur un calque guide et un calque point, le guide étant au dessus du point.
    Lorsque le point décrit le trajet du guide, le tracé s'inscrit grâce au script.
    Mais le tracé est au dessus du point, puisque le guide est en haut de la pile et dans mon cas, le dessin est au dessus de la main qui dessine... Ca ne va pas...
    Comment faire pour que le dessin soit dessous ?
    Voici le script (que j'ai mis dans un document pour de l'AS2) :

    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
    40
    41
    42
    43
    44
    45
    46
    47
    ---Script---
     
    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.gotoAndStop(1);
    oldx = guide.point._x;
    oldy = guide.point._y;
    trajectoire.moveTo(oldx, oldy);
    guide.point._visible = false;
    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();
     
    playAgain.onPress = function() {
    initialiser();
    };
     
    ---fin de script---
    C'est faisable ou pas ?

    Merci pour vos lumières.
    Je précise que je suis totalement nul en écriture de script.

  2. #2
    Membre émérite 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
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    ce serait plus facile de répondre à partir du fichier source complet qui marche plutôt qu'avec un bout de code...


    crdt,
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    bonjour,
    ce serait plus facile de répondre à partir du fichier source complet qui marche plutôt qu'avec un bout de code...
    Hello,
    c'est pas un bout de code, c'est le code AS qui est dans le .fla mais j'ai oublié de mettre le lien vers ce tuto, voilà :
    zoneflash.net
    En fait, le point qui décrit le texte ou le dessin n'est pas visible, mais on peut le rendre visible, c'est juste un false à mettre sur true.
    Mais le point est dessous le tracé.
    Comme je veux une main qui dessine (comme le générique Taratata), c'est encore pire.
    J'ai provisoirement résolu le problème en mettant une main vue de dessous, ce qui fait qu'on croirait une main qui dessine sur l'écran, de l'intérieur...
    (si la PJ ne marche pas, le FLA est là)
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite 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
    Points : 2 338
    Points
    2 338
    Par défaut
    il suffit d'intervertir la profondeur des deux éléments comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    guide.swapDepths(trajectoire);
    tu place cette instruction après la création de "trajectoire"

    ensuite dans "point" tu peux déssiner la main avec le crayon ça marche

    crdt
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    il suffit d'intervertir la profondeur des deux éléments comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    guide.swapDepths(trajectoire);
    tu place cette instruction après la création de "trajectoire"
    Mais c'est que ça marche, effectivement.
    J'avais bien zyeuté le code, mais vu que je suis totalement nul, je n'avais rien trouvé qui me semblait faire l'affaire.
    Surtout que c'est le guide qui sert de modèle à la trajectoire et que le guide est forcément au dessus...
    bon, je m'incline là !!! Merci.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Tout irait bien... Mais j'ai un autre problème :
    Une fois les tracés effectués, je ne sais pas sortir pour enchainer sur autre chose.
    La séquence contient 2 calques avec une image "monguide" et le script.
    Si je prolonge avec quoique ce soit, le script s'arrête dès le premier tracé.

    Comment sort-on de ce bazar ?

  7. #7
    Membre émérite 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
    Points : 2 338
    Points
    2 338
    Par défaut
    déjà si tu veux pouvoir rajouter des images clé il faut placer un stop() en début de ton code.

    disons que si tu ne connais pas ce genre d'instruction il est impossible de développer raisonnablement une application flash AS2.

    Pour la suite si tu veux lancer un évènement à la fin du tracer ça se situe là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nextImage = function () {
    	guide.nextFrame();
    	if (guide._currentframe == guide._totalframes) {
    		clearInterval(intervalle);
                              //--> c'est ici que le tracer s'arrête
    		trace("toto");
    	} else {
    		trajectoire.lineTo(guide.point._x, guide.point._y);
    	}
    };
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par dom_dev Voir le message
    déjà si tu veux pouvoir rajouter des images clé il faut placer un stop() en début de ton code.
    OK, je vais voir ça !!
    Pour le reste, quand on est graphiste et un pas doué pour le code, il doit bien toujours y avoir un moyen de s'en sortir, avec de l'aide (;o)))))....

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    Bon, trace("toto");...
    Je ne vois pas trop quoi faire avec ça.

    Ce que je cherche, c'est de savoir quand le dessin a fini de se dessiner pour reprendre la main et faire autre chose dans la séquence...

    qui m'aide...? (;o))

  10. #10
    Membre émérite 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
    Points : 2 338
    Points
    2 338
    Par défaut
    je t'ai indiqué dans le code l'odre de séquencement et à quel endroit placer un instruction pour qu'elle s'execute à la fin du tracer.
    trace("toto"), écrit "toto" dans la fenêtre de sortie de l'éditeur (c'est pour te faire comprendre) mais je ne sais pas avec quoi tu développes tu peux remplacer trace("toto"); par un gotoAndStop("...") ça marchera aussi évidement...

    crdt
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 28
    Points
    28
    Par défaut
    OK merci, j'ai trouvé la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/10/2013, 19h48
  2. Tracé d'un dessin (nouveau problème)
    Par metis15 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 9
    Dernier message: 27/11/2009, 12h32
  3. Dessins en mouvements (pour un tracé gps)
    Par DamiB dans le forum C#
    Réponses: 2
    Dernier message: 06/04/2008, 23h23
  4. Comment faire un tracé dessiné comme bord ?
    Par gifffftane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 15/03/2008, 00h15
  5. Réponses: 3
    Dernier message: 12/06/2002, 19h03

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