tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
1458
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    stuffjm stuffjm ist offline Mitglied Silber
    Registriert seit
    Nov 2008
    Beiträge
    69
    Liebe Community,
    Ich versuche gerade eine "Drag and Drop" Funktion zu entwickeln, bei der ein Movieclip mit der Maus auf nur einer Achse (der x-Achse bei y=33) und dort nur einem bestimmten Bereich (von 60 bis 700 px) verschiebbar sein soll.

    Ich hab des ganze erstmal mit startDrag(); und stopDrag(); probiert und dann zusätzlich in einer Funktion eine if-Anweisung eingebaut, die nach dem Loslassen der Maus, den Movielclip wieder zurück auf die x-Achse bei y = 33, mit den x-Koordinaten der Maus platziert. Und falls sich die x-Koordinaten der Maus außerhalb der Grenzen von 60 und 700 px befinden, dass der Movieclip dann eben entweder bei 60 oder bei 700 platziert wird. Das ganze soll so ähnlich wie ein Schieberegler funktionieren, leider klappt es aber nicht.

    Anzumerken ist auch noch, dass ich mehrere solcher Movieclips über ein Array erzeuge.

    Hier mal der betroffene Code-Ausschnitt:

    Code :
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    
    var Greifer1 = new Greifer_mc();
    var Greifer2 = new Greifer_mc();
    var Greifer3 = new Greifer_mc();
    var Greifer4 = new Greifer_mc();
     
    var Greiferzähler:int=0;
     
    var Greifer:Array=new Array(Greifer1,Greifer2,Greifer3,Greifer4);
     
     
    while (Greiferzähler<=3) {
        Greifer[Greiferzähler].buttonMode=true;
     
        if (Greiferzähler==0) {
            Greifer[Greiferzähler].x=60;
            Greifer[Greiferzähler].y=33;
        }
     
        if (Greiferzähler==1) {
            Greifer[Greiferzähler].x=380;
            Greifer[Greiferzähler].y=33;
        }
     
        if (Greiferzähler==2) {
            Greifer[Greiferzähler].x=60;
            Greifer[Greiferzähler].y=527,5;
            Greifer[Greiferzähler].rotation=180;
        }
     
        if (Greiferzähler==3) {
            Greifer[Greiferzähler].x=380;
            Greifer[Greiferzähler].y=527,5;
            Greifer[Greiferzähler].rotation=180;
        }
     
     
        Greifer[Greiferzähler].addEventListener(MouseEvent.MOUSE_DOWN,initDrag);
        Greifer[Greiferzähler].addEventListener(MouseEvent.MOUSE_UP,endDrag);
     
        
     
     
     
        addChild(Greifer[Greiferzähler]);
        Greiferzähler++;
    }
     
     
     
    function GreiferZurückPlatzieren():void {
        if (Greiferzähler==0 && Greiferzähler.y!=33) {
            Greifer[Greiferzähler].y=33;
        }
        if (Greiferzähler==1 && Greiferzähler.y!=33) {
            Greifer[Greiferzähler].y=33;
        }
        if (Greiferzähler==2 && Greiferzähler.y!=527,5) {
            Greifer[Greiferzähler].y=527,5;
        }
        if (Greiferzähler==3 && Greiferzähler.y!=527,5) {
            Greifer[Greiferzähler].y=527,5;
        }
        if (Greiferzähler.x<60) {
            Greiferzähler.x=60;
        }
        if (Greiferzähler.x>700) {
            Greiferzähler.x=700;
        }
    }
     
    function initDrag(e:MouseEvent):void {
        
        
        e.target.startDrag();
    }
     
    function endDrag(e:MouseEvent):void {
        e.target.stopDrag();
        GreiferZurückPlatzieren(); ///////// Hier soll der Greifer (MovieClip) wieder zurückplatziert werden
    }

    Der MovieClip (Greifer) befindet sich in der Bibliothek und wird per Export für Actionsscript angesteuert werden.

    Danke für eure Hilfe
     

  2. #2
    stuffjm stuffjm ist offline Mitglied Silber
    Registriert seit
    Nov 2008
    Beiträge
    69
    Ok hat sich erledigt, mir waren die entsprechenden Parameter für startDrag nicht bekannt


    var rectangle:Rectangle = new Rectangle(60, 40, 640, 1);

    function initDrag(e:MouseEvent):void {


    e.target.startDrag(true, rectangle);
    }
     

Ähnliche Themen

  1. Drag&Drop in bestimmten Bereich
    Von LiebHabSchafi im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 26.04.07, 16:28
  2. SWT: Ghosted Drag-Image bei Drag & Drop
    Von snake_plissken im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 15.04.06, 23:36
  3. Jetty IP Bereich beschränken
    Von bettibu im Forum Hosting & Webserver
    Antworten: 3
    Letzter Beitrag: 07.07.04, 22:55
  4. Antworten: 2
    Letzter Beitrag: 14.05.04, 17:05
  5. drag `n`drop in fla ****?
    Von adrian im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 18.07.01, 09:14

Stichworte