Navigieren wie bei maps.google.com

hhjjppww

Mitglied
Hallo

ich möchte gerne so eine Navigation wie bei maps.google.com, dh. bei gedrückter Maustatse soll sich die "Map" entsprechend bewegen.

Nun liegt mein Problem, dass der "Ankerpunkt" (ist das glaube ich) ja mittig liegt aber wenn die Maus zB. rechts unten anklickt, soll sie dort auch die Map "anfassen" und entsprechend bewegen. Was müsste ich an Codezeilen noch hinzufügen.

PHP:
bestimmterListener = new Object();
bestimmterListener.onMouseDown = function () {
	_root.onEnterFrame = function() {	
		test._y = _root._ymouse;
		test._x = _root._xmouse;
	}
}
bestimmterListener.onMouseUp = function () {
	delete _root.onEnterFrame	
}
Mouse.addListener(bestimmterListener);
 
Hi,

ich nehme an, bei Deiner "Map" handelt es sich um einen MovieClip?

Du müsstest entweder den Offset berechnen:
PHP:
bestimmterListener.onMouseDown = function () {
   var offset_x = test._xmouse;
   var offset_y = test._ymouse;
    _root.onEnterFrame = function() {    
        test._y = _root._ymouse - offset_x;
        test._x = _root._xmouse - offset_y;
    }
}
, oder einfach mit startDrag arbeiten:
PHP:
bestimmterListener.onMouseDown = function () {
    test.startDrag();
}
bestimmterListener.onMouseUp = function () {
    test.stopDrag();
}

Gruß
.
 
Hallo,

danke das mit "startDrag" funktioniert, aber das mit dem offset funktioniert nicht einwandfrei!
-- editiert --

Ups, hab een gerade den Fehler bemerkt, du hattest x und y beim Offset verwechselt.
Jetzt geht es aus! :)
 
Zuletzt bearbeitet:
hehe, stimmt, aber nur, weil ich den Code per Copy&Paste aus Deinem Posting übernommen hatte - und ich schreibe normalerweise x zuerst und dann y. ^^

Gruß´
.
 
Hallo,

ähm es hat sich ein neues Problem aufgetan:
Ich habe jetzt zusätzlich zu dem Movieclip noch andere Movieclips, die Aktionen ausführen, wenn man auf sie drückt. Die funktionieren aber nicht mehr, da er ja nur noch den ersten Movieclip bewegt, wenn ich die Maustatse drücke. Wie könnte ich das Problem lösen. Was müsste ich in die Scripts von dir oben einfügen?
Es ist so, dass ich die Scripte den einzelnen Movieclips zugefügt habe und nicht auf irgendeiner Frame, ist das das Problem?
Hier ein Beispiel-Code:
PHP:
onClipEvent (mouseDown) {
	if (this.hitTest(_root._xmouse,_root._ymouse,true)) {
		open = true;
	}
}

onClipEvent (mouseUp) {
	open = false;
}

onClipEvent (enterFrame) {
	if (open) {
		if (_root.test._x < 275+((_global.breite-550)/2)) {
			_root.test._x += 5;
			for (i=1; i<3; i++){
				_root["strasse"+i]._x += 5;
			}
		}
	}
}
 
Zuletzt bearbeitet:
Ja, nimm nicht MouseDown (das funktioniert global, nicht nur auf dem Clip), sondern onPress/onRelease bzw. on(press)/on(release).

Gruß
.
 
Zurück