Drag and Drop Funktion in Flash

In diesem Workshop erfahrt Ihr, wie man einer Movieclip-Instanz eines Flash Filmes eine Drag and Drop Funktion zuweist.
Schritt 1:
Als Erstes legt Ihr in Flash eine neue Datei (über Datei, Neu...) an. Bühnengröße, Hintergrundfarbe und Bildrate kann beliebig gewählt werden.
Ich habe mich für folgende Einstellungen entschieden: Bühne: 550 x 400 Px, Hintergrundfarbe: hellblau, Bildrate: 12
Schritt 2:
Nun erstellt Ihr auf der Bühne ein Symbol oder importiert ein Bild (wie in meinem Beispiel den Pelikan).
Schritt 3:
Dieses Symbol müsst Ihr nun mit der Taste F8 in einen Movieclip umwandeln.
Dieser Schritt muss sein, da ich einem Symbol keine Aktionen zuweisen kann.
Schritt 4:
Klickt nun den Movieclip auf der Bühne einmal an, um ihm folgendes Skript im ActionScript Editor zuzuweisen:
on (press) { this.startDrag(); } on (release) { this.stopDrag(); }
Schritt 5:
Das war's schon. Nun könnt ihr das Ergebnis über "Steuerung, Film testen" checken.
Ich hoffe, Ihr hattet Spaß damit!!!
Euer Videom

Passend zum Inhalt empfehlen wir:
Programmieren lernen für Anfänger
Den Pelikan hab ich irgendwann mal selbst fotografiert und in PS freigestellt...
Woher hast du den Pelikan? Würde mich feruen wenn du´s mir sagst. ^^
LG Linus
Vielen Dank für dieses Einsteigertutorial.
Ich selber habe ActionScript 3. Man muss beachten, dass man für den Movieclip noch einen Instanznamen (wie "peli").
Bei mir löst sich das Symbol allerdings nicht mehr von der Maus.
Kurz, knapp aber geht gut :)
Schön anfängergeeignet!
Ok, alles klar. Hatte ich wohl falsch verstanden.
oh mann das ist garnicht cool :/
in AS3 ist es auch nicht so ein großes Ding.
Hätte der Pelikan den Instanzennamen "peli" würds folgendermaßen aussehen:
1. EventListeners anlegen:
peli.addEventListener(MouseEvent.MOUSE_DOWN, aufheben);
peli.addEventListener(MouseEvent.MOUSE_UP, loslassen);
2. funktionen erstellen:
function aufheben(event:MOuseEvent):void{
event.target.startDrag(true);
}
function loslassen(event:MouseEvent):void{
event.target.stopDrag();
}
der Parameter true beim startDrag ist nur für jene wichtig die wollen dass das Objekt zentral bewegt wird, erleichtert danach das "genaue" ablegen.
mehr ist es auch nicht den ganzen code fügst du in den ersten frame ein:
peli.addEventListener(MouseEvent.MOUSE_DOWN, aufheben);
peli.addEventListener(MouseEvent.MOUSE_UP, loslassen);
function aufheben(event:MOuseEvent):void{
event.target.startDrag(true);
}
function loslassen(event:MouseEvent):void{
event.target.stopDrag();
}
sollte er ne fehlermeldung ausspucken dass Flash, MouseEvent nicht kennt, falls du es in einer eigenen Klasse schreibst einfach importieren.
import flash.events.MouseEvent;
hoffe es funktioniert einwandfrei bei fragen einfach schreiben
Ontopic...
das tutorial funktioniert und ist sehr nützlich gute arbeit
superkurz und funktioniert trotzdem
Ich finde das Tutorial in ordnung allerdings irgendwie zu kurz!!!
Danke. Funzt. Schade, dass es keine ActionScript3-Version gibt ;)