{lang: 'de'}
Flashhilfe.de - Flash Community

onMouseMove onMouseDown Problem [Flash 8]

 


AntwortenRegistrieren Seite1  

Jule88#1
Benutzerbild von Jule88
Beiträge: 43
Wohnort: Leonberg
Registriert: Jan 2010

10.06.2010, 12:44

Hallo Zusammen,

ich versuche gerade mit ActionScript ein "Zeichenprogramm" zu schreiben.
Es klappt auch alles wunderbar. Jedoch wird momentan gezeichnet, wenn ich nur die Maus bewege. Ich möchte jedoch, dass nur gezeichnet wird, wenn auch die Maus gedrückt wird, so wie man es auch von den gängigen Zeichenprogrammen kennt.

Hier der Code, wie es momentan aussieht. Gezeichnet wird mit einem Movieclip, der in der Bibliothek liegt und dann geladen wird.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
var a:Number = 0;
var i:Number = 0;
onMouseMove = function () {
     a++;
     i++;
     var unit:MovieClip = attachMovie("unit", "unit" + a, i);
     unit._y = _ymouse;
     unit._x = _xmouse;
 
     unit._rotationMath.sin(i) * 400;
     
};


Wenn ich anstelle von onMouseMove onMouseDown schreibe funktioniert es leider nicht.

Kann mir da jemand weiterhelfen? Ich komm einfach nicht weiter.

Viele Grüße Jule
micB#2
Benutzerbild von micB
Beiträge: 186
Registriert: Jun 2009

10.06.2010, 12:58

move-script erst bei mouseDown
ActionScript:
1
2
3
4
5
onMouseDown = function () {
     onMouseMove = function () {
        ...
     };
};


beenden bei mouseUp
ActionScript:
1
2
3
onMouseUp = function(){
     delete onMouseMove
}
Jule88#3
Benutzerbild von Jule88
Beiträge: 43
Wohnort: Leonberg
Registriert: Jan 2010

Themenautor/in

10.06.2010, 13:30

Hey,

vielen Dank für deine Antwort. Funktioniert super! :)

Kannst du mir zufällig auch sagen, wie ich es schaffe, dass nur in einem bestimmten Bereich gezeichnet werden kann und außerhalb nicht?

Ich hab versucht das so zu lösen, allerdings bringt das nichts, man kann trotzdem überall zeichnen :(

ActionScript:
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
var mouseDrawing:Object = new Object();
mouseDrawing.onMouseMove = function() {
      xachse = _xmouse;
      yachse = _ymouse;
     
     if (xachse >= 190 && xachse <= 1090 && yachse >= 95 && yachse <= 575) {
        
          var a:Number = 0;
          var i:Number = 0;
         
          onMouseDown = function () {
                   onMouseMove = function () {
           a++;
           i++;
           var unit:MovieClip = attachMovie("unit", "unit" + a, i);
           unit._y = _ymouse;
           unit._x = _xmouse;
 
           unit._rotationMath.sin(i) * 400;
     
          }
          }
         
          onMouseUp = function(){
                 delete onMouseMove
          }
     }
};

Mouse.addListener(mouseDrawing);


Grüße Jule
Jule88#4
Benutzerbild von Jule88
Beiträge: 43
Wohnort: Leonberg
Registriert: Jan 2010

Themenautor/in

11.06.2010, 16:55

Hat sich erledigt, hab es einfach mit einer Maske gelöst.
Zwar nicht sehr elegant, aber es tut was es soll.

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-2024 Sebastian Wichmann - Flashhilfe.de