Flashhilfe.de - Flash Community

Aufruf einer Funktion ziehen/Dragen [Flash 9]

 


AntwortenRegistrieren Seite1  

stereobrain#1
Benutzerbild von stereobrain
Beiträge: 73
Wohnort: Frankfurt am Main
Registriert: Nov 2008

27.03.2010, 14:44

Hi,

wie schreibe ich die Anweisung, das bei gedrückter Maus und gleichzeitiger Mausbewegung nach links oder rechts die nachstehende Funktion ausgeführt wird.

bei onRelease wäre das so:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
btn.onRelease = function()
}
slide (110,12);
}

function slide(xZiel, smooth) {
  show_mc.xZiel = xZiel;
    show_mc.smooth = smooth;
show_mc.onEnterFrame = function() {
      this._x += (this.xZiel - this._x) / this.smooth;
      if (Math.abs(this._x - this.xZiel) < 1) {
        delete this.onEnterFrame;
      }
  };
}


Ich weiß nicht, zu was das gehört. startDrag ist das nicht oder?
Bitte um Hinweise
Wer später bremst, ist länger schnell    ....
Sleepingbeast#2
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

27.03.2010, 15:40

Hallo,

so ganz auf die Schnelle würde mir folgende Möglichkeit einfallen. Ob es für deine Problemstellung funktioniert, weiss ich zwar nicht aber es geht zumindest in die Richtung ;)
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var gedrueckt:Boolean = false;

onMouseDown = function() {
   gedrueckt = true;
}

onMouseUp = function() {
   gedrueckt = false;
}

onMouseMove = function() {
   if(gedrueckt) {
      trace("hier deine Funktion"); // Hier müsste dann der Aufruf deiner Funktion rein
   }
}



Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
stereobrain#3
Benutzerbild von stereobrain
Beiträge: 73
Wohnort: Frankfurt am Main
Registriert: Nov 2008

Themenautor/in

27.03.2010, 15:57

jepp .... danke das funktioniert.
Gibt es für MouseMove eine Angabe ob nach links oder rechts, so in der Art: onMouseMove._left --- onMouseMove._right??

Könnte mir jetzt noch vorstellen, das man das über die Mausposition mit einer if Bedingung lösen kann. Demnach müsste aber ja ständig die aktuelle Mausposition abgefragt werden, richtig?
Wie schreibe ich das?
Oder gibt es eine bessere Lösung?
Wer später bremst, ist länger schnell    ....
Geändert von stereobrain am 27.03.10 um 15:58 Uhr
Sleepingbeast#4
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

27.03.2010, 16:06

Eine direkte Funktion zur Abfrage der Bewegungsrichtung gibt es meines Wissens nicht. Aber wie du schon vermutet hast kannst du das mit einer if-Schleife machen. Beim onMouseDown speicherst du einfach die aktuelle Position des Mauszeigers und bei onMouseMove vergleichst du die jeweils aktuelle Position mit der "alten" Mausposition und kannst daraus berechnen, ob die Maus nun nach links oder rechts bewegt wurde. Ob du diese Berechnung nun wirklich ständig machen musst, hängt von deinem Vorhaben ab. Das könnstest du das beispielsweise mit einer Funktion machen, die du bei jedem onEnterFrame-Event aufrufst oder mit setInterval ein Zeitintervall definieren, in dem du die Funktion aufrufst.


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
stereobrain#5
Benutzerbild von stereobrain
Beiträge: 73
Wohnort: Frankfurt am Main
Registriert: Nov 2008

Themenautor/in

27.03.2010, 16:15

Dieser Slider bewegt einen MC mit Bildern nebeneinander als Inhalt. Die Bewegung nach links oder rechs, soll den MC jeweils so positioneren, dass immer das nächste oder vorherige Bild in der Mitte steht.

So als Bsp.:
Jeder "Klickdrag" slidet den MC auf der XAchse einen festen Wert entweder nach rechts oder links. Wobei ich jetzt gerade feststelle, dass die Positon des MC´s ja dann auch ständig überprüft werden muss ;-)

Ich werd mich dransetzen und testen.

Weitere Vorschläge oder falls es schon Beispiele gibt, immer her damit ;-)
Wer später bremst, ist länger schnell    ....
Geändert von stereobrain am 27.03.10 um 16:17 Uhr
stereobrain#6
Benutzerbild von stereobrain
Beiträge: 73
Wohnort: Frankfurt am Main
Registriert: Nov 2008

Themenautor/in

30.03.2010, 11:04

ich hab hier mal in Beispiel, wo es in dieser Art gemacht wird.
http://www.akufen.ca
Vll. hat ja noch jemand ne Anregung dazu.
Wer später bremst, ist länger schnell    ....
Geändert von stereobrain am 30.03.10 um 11:04 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-2022 Sebastian Wichmann - Flashhilfe.de