[MX] Punktsyntax für Fortgeschrittene ?

So, muß jetzt das ganze getippte nochmal schreiben, da mal wieder die Server überlastet sind..... bestes Kompliment für ein Forum..... :)

Also nochmal:

Folgendes bezieht sich auf die weiter oben zuletzt von mir angehangene .FLA Datei.

Funktion und Problem:

1.Fährt man mit der Maus über das zu zoomende Bild wird der Mauszeiger zur Lupe (MC Magnify) und das zu vergrößerndes Bild wird auch innerhalb des Scroll Panes vergrößert - zwar nur mittig und nicht Koordinatenabhängig (schnief...), aber damit kann ich leben.

2.Fährt man mit der Maus nun zur Scroll Leiste des Scroll Pane, um die Funktion zu nutzen, - zu scrollen - zoomt die Karte immer mit, sobald irgendwo die Maus gedrückt wird. Klar, denn ich hab ja auch auf dem Movie Clip "Lupe" onClipEvent (MouseDown) stehen.

Wie kann ich eine ereignisabängige Relation zwischen dem unsichtbaren Button, der über der Karte liegt und für die Mauszeiger zur Lupe Umwandlung zuständig ist, diesem und der Funktion, der auf der Lupe liegt herstellen, so daß die Funktion der Lupe nur aktiv ist, solange man mit der Maus in dem bestimmten Bereich ist, der Bereich, der durch den Button festgelegt wird. ?

wenn Maus über Button --> MC Lupe "True" / bei rollout --> MC Lupe "false" ......

Hab die Referenz schon durchforstet und finde dort nichts.......

Danke,

Christian
 
Hi,

Du kannst z.B. rollOver- und rollOut-Handler auf den unsichbaren Button legen:
PHP:
on (rollOver) {
    _parent.MC_lupe.enabled=true;
}

on(rollOut) {
    _parent.MC_lupe.enabled=false;
}
onClip-Event - Prozeduren werden allerdings weiterhin aufgerufen; Du müsstest hierbei auf der Lupe mit on(press) bzw. on(release) arbeiten. Natürlich kannst Du auch eine Membervariable als Flag für die Lupe setzen:
PHP:
on (rollOver) {
    _parent.MC_lupe.is_active=true;
}

on(rollOut) {
    _parent.MC_lupe.is_active=false;
}
in der Lupe dann:
PHP:
on ClipEvent(mouseDown) {
  if (this.is_active==true) {
    // vergrößere;
  }
}
Generell würde ich allerdings dazu raten, kein mouseDown-Ereignis auf der Lupe abzufangen, sondern mit on(press) bzw. on(release) auf der Karte zu arbeiten: Hierdurch werden die Grenzen den Karte berücksichtigt und Du bekommst auch die relativen Mauskoordinaten auf der Karte (mit this._xmouse/this._ymouse), die Du zum Zoomen verwenden kannst.

Gruß

P.S.: Tipp: zu Zeiten der Serverüberlastung ist es besser, vor dem Abschicken den Text in die Zwischenablage zu kopieren... das habe ich auch schon gemerkt.. ;)
 
nochmal hi... ;)

anbei ein kleines Beispiel, wie ich einen solchen Zoom aufbauen würde (der Code ist weit weniger elegant, als bei Deiner Vorlage, aber funktional).

Gruß
 

Anhänge

  • pane_zoom.zip
    129,7 KB · Aufrufe: 23

Neue Beiträge

Zurück