 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
15.07.2005, 13:46
|
#1
|
|
TP-Senior
Registriert seit: Jul 2005
Ort: Hamburg
|
Drag and Drop Target
Hallo zum ersten!
Ich habe ein Drag and Drop in meiner Seite.
Ich möchte es so gestalten, dass bestimmte Bereiche das Drag-Object magnetisch anziehen.
Haben Sie es dann angezogen, soll eine Aktion passieren, zB ein Bild soll geladen werden.
Kann mir da jemand weiterhelfen??
Ich habe Flash MX
|
|
|
15.07.2005, 14:00
|
#2
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Schau Dir doch mal in der der Hilfe "hitTest()" an.
|
|
|
15.07.2005, 14:18
|
#3
|
|
TP-Senior
Registriert seit: Jul 2005
Ort: Hamburg
|
danke, das hilft mir jetzt aber nicht weiter.
|
|
|
15.07.2005, 14:25
|
#4
|
|
TP-Senior
Registriert seit: Jul 2005
Ort: Hamburg
|
Das mit dem: Drop->Action ist nicht mehr das Problem, ich will nur noch, dass das Drag-Object angezogen wird. Also von dem festen Object soll das Drag-Object in die Mitte des f. Objects gezogen werden.
Kann man mein Anliegen so verstehen??
|
|
|
15.07.2005, 14:33
|
#5
|
|
TP-Member
Registriert seit: Jun 2005
|
Habe ich das so richtig verstanden?
Du möchtest ein Objekt welches du mit der Maus graben kannst. Kommst du mit dem Objekt zu nahe an ein anderes wird das Teil unter der Maus von dem anderen Objekt angezogen.
Also ich würde es versuchen indem ich so eine Art Einflussbereich um das anziehende Objekt lege, ähnlich einem Ereignishorizont. Kommst du mit dem anzuziehenden Objekt über diese Grenze, welche sich logischer weise wohl kreisförmig um das feste Objekt befindet, wird per AS die Position des beweglichen Objektes mit der Position des festen Objektes verglichen und entsprechend angepasst indem _x und _y verändert werden.
Hoffe das hilft dir weiter.
|
|
|
15.07.2005, 14:47
|
#6
|
|
TP-Senior
Registriert seit: Jul 2005
Ort: Hamburg
|
Richtig verstanden und gute Idee, danke!
Wie sähe dann der Code wohl aus??
|
|
|
15.07.2005, 16:33
|
#7
|
|
TP-Senior
Registriert seit: Oct 2004
Ort: Sachsen, Dresden
|
wahrscheinlich so:
(Anmerkung: Array in Array klappt das in Flash?)
(zur veranschaulichung muss ich es mal in PHP machen, weil ich es nicht aus dem stehgreif mit AS kann)
du machst dir arrays,
das erste enthällt die anderen arrays
die restlichen sind ein array mit den X und Y koordinaten der objekte
//PHP Code, Sorry kein AS
a_objektN = array("Name_N", X, Y);
a_gesObj = array(a_ObjektN, a_Objekt_M, ...);
dann deklarierst du dein Radius
i_radiusX = 10 //Bereich +/- 10
i_radiusY = 10
wenn das Objekt angefast wurde:
on(MouseMove) { //heisst das so?
function checkMousePosition(_root.MouseX, _root.MouseY) //ruft man so funktionen? - übergibt die Position der Maus
}
function checkMousePosition (MX, MY) {
hier musst du das array a_gesObj durchgehen und mit der Mausposition +/- i_radius überprüfen
}
SORRY DAS ES KEIN REINES AS IST!!!!
|
|
|
15.07.2005, 17:44
|
#8
|
|
TP-Member
Registriert seit: Jun 2005
|
Ich hab mir mal die Arbeit gemacht und dir schnell ne fla gebaut die das kann was du suchst.
Funktioniert nicht hundert pro (Koordinaten musst du noch anpassen und Geschwindigkeit und so, hatte eigentlich keine Zeit dafür) aber du solltest damit weiter kommen.
einfach den kleinen grünen kreis dragen und in den blauen der den roten umschließt ziehen. Dort den grünen los lassen und er bewegt sich wie angezogen richtung roter Kreis.
Viel Spaß damit 
|
|
|
15.07.2005, 18:32
|
#9
|
|
TP-Senior
Registriert seit: Jul 2005
Ort: Hamburg
|
Vielen Dank für deine Mühe.
Vom Prinzip her ist das schon gut.
Geht es auch, dass das Dragging stoppt, wenn man in diesen Bereich kommt? Und dann der kleine grüne Kreis in die Mitte flitzt?
|
|
|
16.07.2005, 16:49
|
#10
|
|
TP-Member
Registriert seit: Jan 2004
Ort: Eystrup
|
Jop, mit Flash ist alles machbar
Der AS für den grünen Kreis sehe dann wie folgt aus, ausgegangen von Accolons *.fla:
Code:
onClipEvent(enterFrame)
{
if(gotme == 1)
{
this._x += _xmouse;
this._y += _ymouse;
}
if(gotme == 0)
{
if(this.hitTest(_root.hitarea))
{
this._x=_root.fix._x;
this._y=_root.fix._y
}
}
}
Über die Syntax kann man sich bekannterweise streiten.
mfG Shorddy
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 02:01 Uhr.
|
 |