| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
| Erstellung einer komplexen Drag and Drop anwebdung mit hittest?
Hi, Ich erstelle zur zeit eine ziemlich aufwendige Drag and Drop anwendung und habe noch nicht sehr viel erfahrung mit der hitTest Methode. Meine anwendung besteht aus "zwei spalten". -in der linken spalte befinden sich 20 MCs (jeder mc beinhaltet ein piktogramm), die vom benutzer gedragged werden können. -in der rechten Spalte befinden sich n - MCs (je nach einstellung des benutzers sind 3-36 mcs vorhanden--> diese Anzahl kann der benutzer zur laufzeit festlegen) An diesen MCs sollen die "Piktogramm-MCs" aus der linken Spalte haften bleiben. Es muss jeder der verschiebbaren MCs (aus der linken spalte) an jedem MC der reechten spalte haften bleiben können. Ich würde gern wissen, ob mein vorhaben allein mit der hitTest-Methode überhaupt realisierbar ist, da sehr viele "verschiebbare" objekte und "Haftpunkte" vorhanden sein werden??? Vielleicht hat jemand von euch sogar ein beispiel zur hand, indem nicht nur ein element,sondern mehrere, auf einem beliebigen "Haftpunkt" gedragged werden können Hoffentlich kann mir jemand eine Antwort geben, bevor ich mir daran die Zähne ausbeiß ;-) |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
hitTest(..,false) prüft, ob ein punkt im umgebenden rechteck steht hitTest(..,treu) prüft, ob ein punkt in der form steht das hat soweit nichts mit verschiebbar und andocken und haftpunkten usw. zu tun. ich denke, solche tests kannst du mehr als genug machen, ohne das flash zusammenbricht. und 36 mc's sind noch keine nennenswerte menge. es kommt halt darauf an, was noch so alles zur gleichen zeit passieren soll. das sind je application andere bedingungen, die man insgesamt berücksichtigen muss.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) | ||
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
| Zitat:
...naja fast, bis auf Zitat:
![]() Werd mich mal ranmachen und das ganze aufbauen, wenn ich überhaupt nicht weiterkomme, dann post ich wieder. Danke schonmal! Geändert von florist (27-01-2009 um 08:34 Uhr) | ||
| | |
| | #4 (permalink) |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
|
Jetzt hab ich doch schon ne kleine Frage, weil ich an einer Stelle nicht weiterkomme. mein draggbares Objekt soll auf einem beliebigen von ~ 30 MCs haften bleiben. Das hab ich auch schon hinbekommen. Allerdings krieg eine Bedingung nicht hin! habs so versucht: if (wenn maus losgelassen wird und sich das "dragObjekt" über einem der 30 MCs befindet) { --> ....hefte dich an... } else { --> ....lösche "dragObjekt".. } FOlgendes Skript liegt auf jedem der 30 "HaftMcs": Code: onClipEvent (mouseUp) {
stopDrag();
if (this.hitTest(dragObjekt )) {
dragObjekt ._x = _x;
dragObjekt ._y = _y;
} else {
trace("Objekt.."+ dragObjekt + "..leider daneben");
dragObjekt.removeMovieClip();
}
} |
| | |
| | #5 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
Uiuiui ... das scheint mir aber arg unelegant ... da würd ich ja eher sowas machen: PHP-Code:
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' Geändert von readme.txt (27-01-2009 um 10:50 Uhr) |
| | |
| | #6 (permalink) | |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
|
Hab gerade deine Lösung versucht, allerdings bekomm ich eine Fehler ausgegeben Zitat:
Ich geh mal davon aus, das ist AS2. Kannst du mir das "Übersetzen" :-) Ich wollte mir das schon lang mal antun, da ich viele Beitrage nur in AS2 finde, ich aber nicht weiß, was z.B. ":" oder "Void()" in AS2 bedeuted. Wär echt super! | |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
ist bis dahin egal, ob AS1 oder AS2 d.h. readme.txt hat AS2 elemente verwendet. AS2 kannst du ruhig immer angeschaltet lassen. es gibt nur ganz wenige dinge, die nur in AS1 gehen. p.s. AS2 heisst nicht automatisch OOP. du musst ein } zu viel haben ! void heisst nichts. tatsächlich nichts ;-) das bedeutet, das die funktion keinen wert mit return zurück gibt. baut man doch sowas ein, dann gibt der compiler eine fehlermeldung aus.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (27-01-2009 um 12:03 Uhr) |
| | |
| | #8 (permalink) | |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
| Zitat:
das geht doch erst im MX 2004? Also mit den klammern dachte ich auch zuerst, aber esstimmt alles hier nochmal das Script von readme.txt: PHP-Code: | |
| | |
| | #9 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
Du musst nur die Typisierungen weglassen, dann ist das AS1 kompatibel: PHP-Code:
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' Geändert von readme.txt (27-01-2009 um 12:21 Uhr) |
| | |
| | #10 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
das geht schon seit flash6 ? menü: datei/ einstellungen für veröffentlichungen ... auf den flash-reiter klicken
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #11 (permalink) |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
|
langsam, langsam... Also, den Code werd ich gleich nochmal testen! Ich arbeite jetzt gerade mit FLash MX (= Flash 6). Hier gibt es keine Einstellungen, weder under den "Einstellungen für Veröffentlichungen", noch in den "Voreinstellungen". Im reiter Flash lässt sich lediglich "ladereihenfolge"und "Flash Player version" (FlashPlayer - 6) einstellen. |
| | |
| | #12 (permalink) | ||
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
|
Super, das skript funktioniert, Danke für die schnelle Hilfe, jetzt bau ich das ganze mal in mein tool ein und kombiniere es mit meiner "anheft"-funktion, yuhu! @readme.txt: Zitat:
Das heißt ich muss in AS2 grundsätzlich den Typ einer Variablen angeben,richtig?muss oder kann? Die "===" waren nicht beabsichtigt, oder ;-) Zitat:
| ||
| | |
| | #13 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
habe kein flash6, bin von 5 auf 7 gesprungen ;-) aber man kann von flash7 aus flash6 abspeichern und wenn da kein AS2 möglich wäre, er würde mäckern !? dito beim erstellen des SWFs typisierung kann muss aber nicht. wie geschrieben: AS2 ist nicht gleich OOP === ist kein versehen, schau doch in der hilfe nach == gleich === identisch
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (27-01-2009 um 12:39 Uhr) |
| | |
| | #15 (permalink) | |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
|
@ hgseib: Zitat:
![]() Danke für eure Hilfe und die guten Tipps! Ich hoffe, ich muss nicht nochmal auf euer wissen zurückgreifen... ------------------------ Grüßla flo | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |