Dessiner une ligne avec la souris en AS3 ?

leoncap Messages postés 12 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 26 avril 2010 - 26 avril 2010 à 16:23
leoncap Messages postés 12 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 26 avril 2010 - 26 avril 2010 à 20:39
Bonjour, je débute en AS3 et j'essaye de tracer une ligne droite avec la souris.
J'ai fait le code suivant mais comme vous pouvez le remarquer j'ai bien une ligne suit la souris mais évidemment qui ne s'efface pas au fur et à mesure. Je me retrouve donc avec plein de lignes (c'est très joli mais c'est pas l'effet recherché !).
J'ai essayé avec monDessin.graphics.clear(); mais ça ne marche pas.
Quelqu'un pourrait-il m'aider, je suis sûr que ce n'est pas très compliqué, mais là je bloque.


var monDessin:Shape = new Shape();
addChild( monDessin );
stage.addEventListener( MouseEvent.MOUSE_DOWN, clicSouris );
function clicSouris( event:MouseEvent ):void {
var positionX:Number=event.stageX;
var positionY:Number=event.stageY;
stage.addEventListener(MouseEvent.MOUSE_MOVE, bougesouris);
function bougesouris(event:MouseEvent):void {
monDessin.graphics.moveTo( positionX, positionY );
var positionX2:Number=monDessin.mouseX;
var positionY2:Number=monDessin.mouseY;
monDessin.graphics.lineTo( positionX2, positionY2 );
monDessin.graphics.lineStyle( 1, 0x990000, 1 );
}
stage.addEventListener( MouseEvent.MOUSE_UP, relacheSouris );
function relacheSouris( event:MouseEvent ):void {
event.currentTarget.removeEventListener(MouseEvent.MOUSE_MOVE, bougesouris);
}
}

2 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
26 avril 2010 à 20:02
Bonsoir,

Réponse donnée ICI.

Peg'
Admin Codes-Sources
0
leoncap Messages postés 12 Date d'inscription vendredi 9 mars 2007 Statut Membre Dernière intervention 26 avril 2010
26 avril 2010 à 20:39
Merci beaucoup, j'ai trouvé la solution à mon problème avec :

function bougesouris(event:MouseEvent):void {
monDessin.graphics.clear();
monDessin.graphics.lineStyle( 1, 0x990000, 1 );
monDessin.graphics.moveTo( positionX, positionY );
var positionX2:Number=monDessin.mouseX;
var positionY2:Number=monDessin.mouseY;
monDessin.graphics.lineTo( positionX2, positionY2 );
}

Merci encore.

LeonK
0
Rejoignez-nous