| |||||||
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) |
| machtmichschlau! Registriert seit: Apr 2006
Beiträge: 62
| Drag & Drop bei sich ändernden MC
Hallo zusammen. Zur vorgeschichte: Ich habe einen Array der mit MCs gefüllt ist. aus diesem Array werden (immer einzeln) MCs auf eine bestimmte Position auf der Bühne gesetzt. Diese MCs speicher ich in einer Variablen namens "Reingeschoben" ab. Nun möchte ich mit drag & Drop den MC bewegen. Soweit so gut! Problem: Beim ersten Mc der in "Reingeschoben" steckt, funktioneiert Drag&Drop wunderbar, sobald ich aber den nächsten MC in "Reingeschoben" setze (der zuvorige Mc wurde dort wieder entfernt), funktioniert das Drag&Drop nicht mehr. Kann es sein das ich soetwas wie "aktuallisieren" muß? Für euere Hilfe bin ich euch sehr dankbar. Gruß |
| | |
| | #2 (permalink) |
| . Registriert seit: May 2003 Ort: bayern
Beiträge: 1.117
|
hier wäre etwas script hilfreich...
__________________ [mooseMash] |
| | |
| | #3 (permalink) |
| machtmichschlau! Registriert seit: Apr 2006
Beiträge: 62
|
Ok, ich habe hier mal die teile des AS die mir hierfür für relevant scheinen kopiert. Ich hoffe nun kann man damit was anfangen:=) Code: var reingeschoben = this.attachMovie("feld0", "feld26", 139);
//Funktin linksrein
function vonlinks(reihe) {
//zuerst wird das letzten feld in den Platzhalter "rausgeschoben" verfrachtet. Length-1 da index bei null beginnt
rausgeschoben = spielfeld_array[reihe][spielfeld_array[reihe].length-1];
for (i=spielfeld_array[reihe].length-1; i>0; i--) {
//Felder 0 bis 3 um 50 nach rechts tweenen
new Tween(spielfeld_array[reihe][i-1], "_x", Strong.easeInOut, spielfeld_array[reihe][i-1]._x, 600-(Anzahl_reihen_spalten-i-1)*100, 10);
//Arrayinhalte verschieben
spielfeld_array[reihe][i] = spielfeld_array[reihe][i-1];
}
//Das Feld zum reinschieben auf das frei gewordene feld der passenden reihe setzen
reingeschoben._x = 200;
reingeschoben._y = 200+100*reihe;
//den inhalt in den dafür vorgesehenen Arrayplatz schreiben
spielfeld_array[reihe][0] = reingeschoben;
//das rausgeschobene Feld auf den dafür vorgeschriebenen Platz stellen
rausgeschoben._x = Anzahl_reihen_spalten*100+350;
rausgeschoben._y = 150;
reingeschoben = rausgeschoben;
}
//Funktionsaufruf wenn ein Feld von Links eingeschoben wird
this.btn01.onRelease = function() {
vonlinks(1);}
this.reingeschoben.onPress = function() {
this.startDrag(false);
updateAfterEvent();
};
this.reingeschoben.onRelease = function() {
this.stopDrag();
}; Geändert von Papaligo (15-05-2006 um 11:06 Uhr) |
| | |
| | #5 (permalink) |
| machtmichschlau! Registriert seit: Apr 2006
Beiträge: 62
|
Meine fla ist zu groß auch wenn ich sie Packe. Ich beziehe mich ja immer auf die Variable "reingeschoben" in der die Instanz drinne steht. Der inhalt dieser ändert sich eben manchmal. wie gesagt, beim ersten MC der in "reingeschoben" liegt, funzt das alles auch noch. |
| | |
| | #6 (permalink) |
| Schläfer Registriert seit: Oct 2003
Beiträge: 105
|
Also, ich kanns zwar leider nicht testen, da ich die FLA nicht habe, aber ich vermute, da liegt folgendes Problem vor: Bei einer Zuweisung mit = in AS kopierst du nicht etwa einen MovieClip, sondern legst lediglich eine Referenz in der Variable reingeschoben ab. Da du die onPress-Funktion nur einmal deklarierst, wird die Funktion nur auf den Movieclip angewendet, der gerade aktiv ist - alle anderen MC's haben also keine onPress-Funktion. Das verhinderst du, indem du beim Erstellen der MovieClips jedem einzelnen diese onPress-Funktion mitgibst. Ich hoffe, das war soweit verständlich. Gruß Pesse
__________________ Pesse's Blog |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |