Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ActionScript] ptit probleme avec fonction dessin

j'm amuse un peu avec flash en ce moment ^^

    21 janvier 2007 à 15:47:43

    Salut tout l'monde!
    alors en fait ce que je fais c'est une sorte de petit programme pour dessiner avec flash,
    un peu du style de drawball si vous connaissez.
    pis je joue sur la fréquence d'affichage de l'ordi, à chaque affichage il dessine un trait depuis la position précedente jusqu'à la nouvelle position de la souris et tout cela devrait ce passer seulement quand le bouton gauche de la souris et enfoncé... et oui "DEVRAIT" et non pas doit pask sa marche pas :p
    mon code est pas super compliqué regarder par vous mêmes :

    Citation : mon code

    _root.createEmptyMovieClip('dessin',1);
    dessin.lineStyle(3, 0x000000, 100);
    dessin.onMouseDown = function () {
    dessin.moveTo(_xmouse,_ymouse); // alignement avec la souris
    dessin.onEnterFrame = function () {
    dessin.lineTo(_xmouse,_ymouse); // dessine jusqu'à la nouvel position de souris
    }
    }


    comme vous piouvez le voir j'ai deux fonction imbriquée l'une dans l'autre je sais pas trop si sa ce fait mais y m semble que sa devrait fonctionner, le truc c'est que une fois que je clic pour faire mon trait, j'ai beau relacher le bouton rien à faire sa continue à dessiner.
    est ce que vous auriez pas une solution pour remedier à mon ptit probleme ??? :euh:

    Merci à tous à bientot
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      21 janvier 2007 à 23:06:26

      Salut!

      Alors en Flash, il y a une chose extremmement importante à ne jamais oublier, c'est de supprimer une boucle quand on ne sent sert plus...


      donc je propose cela comme correction:

      this.createEmptyMovieClip('dessin', this.getNextHighestDepth());
      dessin.lineStyle(3, 0x000000, 100);

      dessin.onMouseDown = function():Void {
              dessin.moveTo(_xmouse,_ymouse); // alignement avec la souris
              dessin.onEnterFrame = function():Void {
                      dessin.lineTo(_xmouse,_ymouse); // dessine jusqu'à la nouvel position de souris
              };
      };

      dessin.onMouseUp = function():Void {
              delete dessin.onEnterFrame;
      };



      P.S. il y a aussi dans ce code quelques modifications que j'ai l'habitude de placer, mais pas tout le temps utile (sauf avec l'AS3 ;-)
      • Partager sur Facebook
      • Partager sur Twitter
        22 janvier 2007 à 19:24:30

        merci ca marche nickel, j'avais trouver une solution aussi mais elle était pas terrible,
        en fait j'avait réécrit la partie de la fonction pour dessiner lorsque la souris était pas pressée,
        mais j'avais mis une visibilité de "0" comme parametre de trait ^^
        sa veut dire que lorsque je relachait le bouton sa dessinait des très... mais ils était invisible :p lol
        c'étais pas du joli joli,
        mais la ton truc est parfais il fais plus pro, mais tu pourrais me dire à quoi servent les "Void"??? je connais pas :(

        et merci encore de m'avoir aider :)
        • Partager sur Facebook
        • Partager sur Twitter
          22 janvier 2007 à 20:09:50

          Salut.

          "Void" sert à indiquer à flash que la fonction ne renvoie pas de valeur : tu ne pourras donc pas utiliser "return taVariable;" par exemple.

          En programmation orientée objet il vaut mieux le signaler, surtout sachant que l'ActionScript 3 préférera cela. C'est à ça que faisait allusion Attila_le_1 dans son P.S. .

          @+
          • Partager sur Facebook
          • Partager sur Twitter

          [ActionScript] ptit probleme avec fonction dessin

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown