Autor |
Nachricht |
lars_frederikson
Threadersteller
Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 24.04.2009 11:11
Titel kartographisches problem |
|
|
hi,
wie der titel schon sagt habe ich ein kartographisches problem, quasi keinen plan
ich mache mit flash CS4 und AS3 eine interaktive karte, diese ist als movieclip maskiert, man kann sie zoomen und mit drag&drop verschieben.
mein problem, wenn man die karte verschiebt kann man sie auch ausserhalb des rahmens schieben. ich hab im web schon nach lösungen gesucht und auch was an sich gutes gefunden:
Code: | var kartenbreite:Number = karte_mc.width;
var kartenhoehe:Number = karte_mc.height;
var rahmenbreite:Number = 590;
var rahmenhoehe:Number = 450;
if (karte_mc.x + kartenbreite < rahmenbreite){
karte_mc.x = rahmenbreite - kartenbreite;
}
if (karte_mc.y + kartenhoehe < rahmenhoehe){
karte_mc.y = rahmenhoehe - kartenhoehe;
}
|
der bewegungsradius ist jetzt zwar eingeschränkt, aber ich kann immer noch über die ränder hinaus verschieben. die registrierung des kartenmovieclips ist im mittelpunkt der karte, ist hier das problem?
man kann sich das ganze auf http://larsfrederikson.cwsurf.de/ anschauen, vielleicht wirds dann schlüssiger...
[edit by Nimroy]
Bitte [code]-Tags verwenden.
Zuletzt bearbeitet von Nimroy am Di 28.04.2009 07:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
lars_frederikson
Threadersteller
Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 24.04.2009 11:32
Titel
|
|
|
zoomen mit +/- im beispiel
|
|
|
|
|
Anzeige
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 24.04.2009 11:56
Titel
|
|
|
Wenn Du den Drag startest, muss du Begrenzungen einfügen
|
|
|
|
|
lars_frederikson
Threadersteller
Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 24.04.2009 12:16
Titel
|
|
|
hm, wie erstell ich den begrenzungsrahmen, evtl. hier
Code: |
//Drag&Drop einfügen
karte_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
karte_mc.addEventListener(MouseEvent.MOUSE_UP, drag);
karte_mc.buttonMode = true;
function drag(evt:MouseEvent):void{
if(evt.type == "mouseDown"){
karte_mc.startDrag(false, new Rectangle(80, 150, 590, 450));
}else{
karte_mc.stopDrag();
}
}
|
dachte bei new rectangle erstell ich nur den rahmen innerhalb dem die mausbewegung dem Drag/drop zugeordnet wird
hab mir jetzt überlegt für den movieclip.x und .y-wert min und max festzulegen, aber da hab ich das problem das ja x und y negativ werden können?
stage.addEventListener(MouseEvent.MOUSE_MOVE, kartencommander);
function kartencommander(evt:MouseEvent):void {
//Begrenzung zum nach rechts schieben
if (karte_mc.x > karte_mc.width/2 + 80){
karte_mc.x = karte_mc.width/2 + 80;
}
//Begrenzung zum nach unten ziehen
if (karte_mc.y > karte_mc.height/2 + 150){
karte_mc.y = karte_mc.height/2 + 150;
}
}
kann ich das irgendwie abfangen für nach oben und nach links ziehen?
@ flaming art, wie meinst du das mit "begrenzung einfügen"?
[edit by Nimroy]
Bitte [code]-Tags verwenden.
Zuletzt bearbeitet von Nimroy am Di 28.04.2009 07:26, insgesamt 2-mal bearbeitet
|
|
|
|
|
lars_frederikson
Threadersteller
Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 28.04.2009 07:16
Titel
|
|
|
o.k., hatte das mit rectangle falsch verstanden, hab da die falschen werte angegeben, sorry...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Formmailer-Problem-neues problem
[PHP] OOP -> Problem
CSS Problem
php problem mit ../
[PHP] problem mit if
div problem :(
|
|