Flashhilfe.de - Flash Community

durch tiefen klicken [Flash 9]

Forum > ActionScript 2.0 > durch tiefen klicken

 


AntwortenRegistrieren Seite1

 01.09.2009, 06:11 
Beiträge: 47
Registriert: Aug 2008

durch tiefen klicken
hallo,

ich attache mc's mit ansteigender tiefe,
die mc's haben einen variablen instanznamen,
der nicht ansteigend ist also das
erste mc kann sein attach04, das darüberliegende attach02 usw.
wie kann ich jetzt per buttons mich durch die mc's klicken ?

möchte zb. das das letzt erstellte mc ganz oben ist
und ich mit einem button das nächste darunter hervorhole
und per klick wieder das nächste darunter
und mit einem anderen button wieder nach oben klicken

bitte um hilfe!
danke
indi
 01.09.2009, 07:40Re1
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

Hallo indi,

ich hoffe, dass ich dein Problem richtig verstanden habe und werf dir mal swapDepths() entgegen. Das sollte genau das machen, was du brauchst. D.h. es tauscht die "Ebenenposition" eines MovieClips. Ist eigentlich recht einfach und verständlich in der Programmhilfe beschrieben. Zur Not einfach noch mal "schreien" ;)


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
 01.09.2009, 09:02Re2
Beiträge: 47
Registriert: Aug 2008

Themenautor/in

hallo,

dabei war ich auch schon,

btn.onRelease = function() {
this.swapDepths(mc);
};

doch ich hab kein mc sondern mc03 und mc06 usw.
also variabel ich hab bsp. 5mc's mit nterschiedlichen instanznamen
und diese liegen übereinander der oberste ist der der als letzter
attacht wurde jetzt hab ich einen btn auf dem zurück steht
und bei klick auf diesen eine ebene runter und und bei neuerlichen klick
wieder eine ebene runter usw.

ich hab einen btn mit vorwärts
bei klick eine ebene hoch usw.

hab keinen plan wie ich das angehn soll

mfg
indi
 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 01.09.2009, 10:36Re3
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

So indi,

ich habs ;) In meiner Version brauchst du gar kein swapDepths() mehr. Ich hab einfach ein paar Array-Funktionen genutzt um die einzelnen "attachten" Elemente immer wieder neu zu sortieren.
Hier zunächst mal das Script mit ein paar Kommentaren:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// In diesem Array stehen alle Bezeichnernamen der MovieClips der Bibliothek,
// die an der Sortierung teilhaben sollen. Die Reihenfolge im Array ist auch die
// Reihenfolge der Ausgabe (letztes Element = oberstes Element im Stapel).
var elemente_arr:Array = ["mc01", "mc02", "mc03", "mc04"];

// Diese Funktion "attacht" alle Elemente, die im Array elemente_arr stehen
// auf die Bühne und verschiebt sie ein bisschen um sie besser sichtbar zu machen
function attach() {
   for (var i:Number = 0; i < elemente_arr.length; i++) {
      this.attachMovie(elemente_arr[i],elemente_arr[i],i);
      this[elemente_arr[i]]._x = this[elemente_arr[i]]._width / 3 * i;
      this[elemente_arr[i]]._y = this[elemente_arr[i]]._height / 3 * i;
   }
}

// ruft die Funktion beim ersten Laden auf
attach();

// Anonyme Funktion, die beim Klick auf den "Zurück-Button" zunächst
// das letzte (also das oberste) Element des Array in eine temporäre Variable schreibt,
// dieses letzte Element dann aus dem Array löscht,
// dann das ehemals letzte Element an den Anfang des Array schreibt
// und dann wieder die Funktion attach aufruft um die Elemente neu sortiert anzuzeigen
back_mc.onPress = function() {
   var altesElement = elemente_arr[elemente_arr.length - 1];
   elemente_arr.pop();
   elemente_arr.unshift(altesElement);
   attach();
};


Damit du siehst wie ich es meine, habe ich die entsprechenden Dateien mal mit angehangen.



Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'


Angehängte Dateien:
Adobe Flash Quelldatei reihenfolge_aendern.fla84.00 KB
Adobe Flash Animationen reihenfolge_aendern.swf1.70 KB
 01.09.2009, 10:51Re4
Benutzerbild von badskillFlashhilfe.de Moderator
Beiträge: 5285
Wohnort: Bernau (bei Berlin)
Registriert: Nov 2002

Moin,
das
ActionScript:
1
2
3
var altesElement = elemente_arr[elemente_arr.length - 1];
elemente_arr.pop();
elemente_arr.unshift(altesElement);

kann man auch so schreiben:
ActionScript:
1elemente_arr.unshift(elemente_arr.pop());
 01.09.2009, 10:55Re5
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

na ist ja noch besser....danke badskill. Das spart noch ein paar Zeilen und verwirrt nicht unnötig. Und ich hab auch gleich wieder was gelernt ;)


Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
 
nicht sichtbar bei eingeloggten Mitgliedern
 01.09.2009, 10:57Re6
Beiträge: 47
Registriert: Aug 2008

Themenautor/in

hi!

wow danke!!

aber wie bekomm ich jetzt das array variabel
also x-anzahl von mc's mit variablen namen ?
wie bekomm  ich da jetzt die mc-namen richtig rein ?

attacht werden die mc's per button-klick

DANKE !!!
mfg
indi
 01.09.2009, 11:27Re7
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

Schau dir mal die Methode Array.push() an. Damit kannst du Elemente einem Array zufügen. Das kannst du dann durchaus dynamisch machen.
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
 01.09.2009, 19:06Re8
Beiträge: 47
Registriert: Aug 2008

Themenautor/in

hallo,

also das array befüllen klappt.
aber meine mc's sind fix fertig auf der bühne
(inkl textfelder usw.)
und nicht in der bibliothek zum attachen.


also doch mit swap depth da ich meine mc's genau übereinenader
legen will und immer nach klick das vorige oder nächste sichtbar sein soll.



mfg
indi
Geändert von indi am 01.09.09 um 19:10 Uhr

 02.09.2009, 19:28Re9
Beiträge: 47
Registriert: Aug 2008

Themenautor/in

hallo

vielleicht kann mir doch nochmal jemand helfen,

ich habe ein array das ich dynamisch fülle:

var elemente_arr:Array = [];

fülle es so:
elemente_arr.push(this._name);

das array sieht dann zb. so aus:
var elemente_arr:Array = [item01,item05,item07]; usw.
leider kann ich es nicht in ansteigender nummerierung machen.

jedes item wird mit einer eigenen tiefe attacht und liegen übereinander

ich möchte jetzt mit einem vor und einem zurück button
mich durch diese item's klicken

geht das irgendwie ?

HOFFE AUF HILFE
mfg
indi
Geändert von indi am 02.09.09 um 19:30 Uhr

 
Themen
Ähnliche Beiträge zum Thema
 
AntwortenRegistrieren Seite1

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de