Frage zu Slider & Mausposition

suchender2005

Grünschnabel
Hallo Zusammen,
ich steh mal wieder total auf dem Schlauch!
Das Script so wie es hier ist läuft ohne Probleme, aber ich möchte es ein wenig modifizieren.

Folgendes Problem:
Jetzt ist das Script so dass wen die Maus auserhalb des Flashfilms ist (hoehe * breite) hört die Bewegung auf " else {speed1 = 0} "
Ich hätte aber gerne Das wenn die Maus den Film verlässt, der Slider in einer vorher definierten Geschwindigkeit weiter läuft!
Wie mache ich das dass der Slider trozdem aufhört sich zu bewegen wen die Maus in der mitte+-20 ist.
Ich hoffe ich konnte mich einigermassen verständlich ausdrücken :-)

Danke im voraus

Code:
  move = function () {
  	this.onEnterFrame = function() {
  		var x = this._xmouse;
  		var y = this._ymouse;
  		var h = hoehe;
  		var b = breite;
  		// Bewegung
  		for (var i = 1; i<=AnzahlIdArray; i++) {
  			var mc = this['pic'+i];
  			mc._x += speed1;
  			if (mc._x>=breite) {
  				mc._x -= laenge;
  			}
  			if (mc._x<=-mc._width+1) {
  				mc._x += laenge;
  			}
  		}
 		// Nur Bewegen wenn die Maus innerhalb des Flashfilms ist und nicht in der mitte +- 20 Pixel
 		if ((x>0 && x<(mitte-20) && y>0 && y<h) || (x<breite && x>(mitte+20) && y>0 && y<h)) {
  			var r = this._xmouse-mitte;
  			var sp = -r;
  			speed1 = sp/(10*speed);
  		} else {
  			speed1 = -1;
  			trace ("speed1: "+speed1);
  		}
  	};
  };
 
suchender2005 hat gesagt.:
Jetzt ist das Script so dass wen die Maus auserhalb des Flashfilms ist (hoehe * breite) hört die Bewegung auf " else {speed1 = 0} "
Ich hätte aber gerne Das wenn die Maus den Film verlässt, der Slider in einer vorher definierten Geschwindigkeit weiter läuft!
Außerhalb des Flashfilms also über dem html-Bereich einer Seite? Meines Wissens mit Flash selbst keine Chance, da der Flashfilm dann die Position der Maus bzw. deren Bewegung nicht mehr registriert.

Wenn überhaupt über ein Javascript (kann Javascript Mauspositionen auslesen? Ggf. sogar abhängig vom Scrollzustand der Seite oder der Browserfenstergröße? Keine Ahnung ...), das mit dem Flashfilm kommuniziert ... nie getestet aber vielleicht hilft dir das (nur überflogen):
http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/index.html

Gruß
Rena
 
Zuletzt bearbeitet:
Hallo Rena, danke erstmal für die Antwort!

Ich glaube das ich meine Frage nicht richtig formuliert habe, sorry!
Ich meine sobald die Maus nicht auf dem Flashfilm ist, dass dann der Slider in einer vordefinierten Geschwindigkeit weiterläuft! Jetzt ist es so, sobald die Maus nicht auf dem Film ist bleiben die Bilder (Slider) stehen " else { speed1=0 } "
Setzte ich hier " else { speed1=1 } " den Wert auf 1 bewegen sich die Bilder weiter aber Sie bleiben nicht mehr stehen wenn die Maus in der Mitte des Flashfilms ist.

Hoffe das war ein bisschen verständlicher :)
 
... mir ist noch eine andere Lösung eingefallen, nur ich weis nicht wie ich diese realisieren soll! Und zwar, man könnte doch abfragen wenn sich die Maus länger als 2 Sekunden nicht bewegt, wird eine standart Geschwindigkeit eingestellt.

Lässt sich das einfacher realisieren?
 
Hi,

Deine zweite Idee liesse sich verwirklichen, indem Du statt onEnterFrame onMouseMove verwendest; dann kannst Du die Zeit zwischen den Mausbewegungen "stoppen":
PHP:
var stime = getTimer();

var list = new Object();
list.onMouseMove = function() {
	stime = getTimer();
}

Mouse.addListener(list);

this.onEnterFrame = function() {
	if (getTimer() - stime > 2000) {
		trace("Maus 2 Sekunden nicht bewegt");
	}
}
Bewegt sich der Mauszeiger aus dem Bühnenbereich, bleiben die Werte von _xmouse und _ymouse auf dem letzten "gültigen" Wert stehen - da bliebe entweder JS (wie Rena schon sagte) oder ein ausreichend breite Rand um Deinen MovieClip.

Gruß
.
 
Hallu Zusammen!

Sorry, das die Antwort so lange gedauert hat, aber mein DSL-Router hat sich verabschiedet und ich war einige Tage offline!

Den Ansatz finde ich toll und ich werde das gleich einmal ausprobieren und überlegen wie ich mein Script am besten ändere.

ciao
 
Zurück