Flashhilfe.de - Flash Community

Gerade Linien zeichnen durch den Benutzer [Flash CS5]

 


AntwortenRegistrieren Seite1  

mikemike#1
Benutzerbild von mikemike
Beiträge: 125
Registriert: Jan 2010

26.01.2011, 10:21

Stehe grad voll auf dem Schlauch...
Ich wollte einfach nur, dass der Benutzer durch klicken und bewegen der Maus Linien zeichnen kann.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);

function mouseDown(evt:MouseEvent):void {
          currMX = mouseX; //die angeklickte Mausposition
   currMY = mouseY;
     this.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
     this.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
}

function mouseMove(evt:MouseEvent):void {
     graphics.lineStyle(3);
     graphics.clear();
     graphics.moveTo(currMX, currMY);
     graphics.lineTo(mouseX, mouseY);
     evt.updateAfterEvent();
}

function mouseUp(evt:MouseEvent):void {
          this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, setLine);
     this.stage.removeEventListener(MouseEvent.MOUSE_UP, shoot);
}

Bei dem Code sieht man erstmal garnichts. Wenn man aber das graphics.clear() weglässt malt man mehrere Linien auf einmal.
Treffen sich ein Stein und ein Brett.
Der Stein: "Hi, Ich bin ein Stein"
Das Brett: "Wenn du Einstein bist, bin ich Brett Pitt"
Schlagwörter: Linie, malen, Maus, MouseEvent
candiru#2
Benutzerbild von candiru
Beiträge: 190
Registriert: May 2007

26.01.2011, 11:09

so sollte es klappen.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
function mouseMove(evt:MouseEvent):void {
       graphics.clear();
       graphics.lineStyle(3);
       graphics.moveTo(currMX, currMY);
       graphics.lineTo(mouseX, mouseY);
       evt.updateAfterEvent();
}
function mouseUp(evt:MouseEvent):void {
       this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
  ...
}
mikemike#3
Benutzerbild von mikemike
Beiträge: 125
Registriert: Jan 2010

Themenautor/in

05.02.2011, 16:19

Sorry ich habt mich beim ersten Beitrag verschrieben klar sollte es so lauten wie du es hattest, man musst du das graphics.clear() einfach noch vor den lineStyle Befehl setzen (da wahrscheinlich durch clear() auch die lineStyle eingenschaften wie Farbe und Dicke zurückgesetzt werden).
Treffen sich ein Stein und ein Brett.
Der Stein: "Hi, Ich bin ein Stein"
Das Brett: "Wenn du Einstein bist, bin ich Brett Pitt"
Geändert von mikemike am 05.02.11 um 16:24 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de