Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-06-2007, 10:26   #1 (permalink)
| aufm sonnendeck |
 
Registriert seit: Jul 2002
Ort: zürich
Beiträge: 319
Logikhilfe zu swapDepth-Problem

Hi,
habe folgendes Array: ([bildname, depth, mc_name])
PHP-Code:
plakat_array = [ ["dephazz_plakat.jpg"1"pic_manage_1"], ["fastforward_plakat.jpg"4"pic_manage_2"], ["greatfull_plakat.jpg"3"pic_manage_3"], ["coverrock_plakat.jpg"2"pic_manage_4"] ] 
also die jpgs werden in einen movieclip namens "pic_manage_"+array[2] geladen, und zwar in die depth "array[1]". Nun müsste es mir möglich sein, ein beliebiges element in die oberste ebene zu swappen, und zwar so, dass die reihenfolge erhalten bleibt. Will ich also den mc, der auf der ebene 1 liegt auf die oberste ebene schieben, muss sich der mc.ebene1 mit mc.ebene2 tauschen, dann mc.ebene2 mit mc.ebene3 etc, bis der entsprechende mc zuoberst liegt.

diese funktion such die beiden auszutauschenden bilder schon mal heraus:
PHP-Code:
ebeneHoch = function(my_name) {
    
dep_old _root.mc_plakate[my_name].getDepth();
    
dep_new int(dep_old 1);
    if (
dep_new >= plakat_array.length-1) {
        
dep_new plakat_array.length-1;
    }
    
// verweist auf eine funktion, die nur swapt (funzt!)
    
swap_depth(dep_olddep_new);

aber wie mache ich jetzt am schlausten eine schleife, in der ich raussuche, welches der nächsthöhere mc zum swappen ist?

wäre für ein wenig logikhilfe dankbar
gruss und danke schon mal, m.
__________________
"Es gibt ein Ziel, aber keinen Weg; was wir Weg nennen, ist Zögern"
Franz Kafka
molekuel ist offline   Mit Zitat antworten
Alt 01-06-2007, 10:45   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.138
Zitat:
Zitat von molekuel Beitrag anzeigen
Hi,
habe folgendes Array: ([bildname, depth, mc_name])
PHP-Code:
plakat_array = [ ["dephazz_plakat.jpg"1"pic_manage_1"], ["fastforward_plakat.jpg"4"pic_manage_2"], ["greatfull_plakat.jpg"3"pic_manage_3"], ["coverrock_plakat.jpg"2"pic_manage_4"] ] 
also die jpgs werden in einen movieclip namens "pic_manage_"+array[2] geladen, und zwar in die depth "array[1]". Nun müsste es mir möglich sein, ein beliebiges element in die oberste ebene zu swappen, und zwar so, dass die reihenfolge erhalten bleibt. Will ich also den mc, der auf der ebene 1 liegt auf die oberste ebene schieben, muss sich der mc.ebene1 mit mc.ebene2 tauschen, dann mc.ebene2 mit mc.ebene3 etc, bis der entsprechende mc zuoberst liegt.

diese funktion such die beiden auszutauschenden bilder schon mal heraus:
PHP-Code:
ebeneHoch = function(my_name) {
    
dep_old _root.mc_plakate[my_name].getDepth();
    
dep_new int(dep_old 1);
    if (
dep_new >= plakat_array.length-1) {
        
dep_new plakat_array.length-1;
    }
    
// verweist auf eine funktion, die nur swapt (funzt!)
    
swap_depth(dep_olddep_new);

aber wie mache ich jetzt am schlausten eine schleife, in der ich raussuche, welches der nächsthöhere mc zum swappen ist?

wäre für ein wenig logikhilfe dankbar
gruss und danke schon mal, m.
Du könntest generell einfach mal in einer for-Schleife das unterste Bild nach oben "durchswapen". Bei welchem ereignis wird entschieden, welches Bild nach oben kommen soll?
Omega Psi ist offline   Mit Zitat antworten
Alt 01-06-2007, 10:55   #3 (permalink)
| aufm sonnendeck |
 
Registriert seit: Jul 2002
Ort: zürich
Beiträge: 319
das prinzip ist, dass beliebige bilder "umsortiert", also auf eine andere ebene geswapt werden können, und eben auch gelöscht werden können.

Jetzt will ich verhindern, dass wenn zb das bild auf ebene 2 gelöscht wird, die ebene 2 dann leer ist. wenn ich also nach dem löschen ein neues bild importiere und per "getNextHighestDepth" die ebene suche, sollte dann auf keinen fall besagte ebene 2 zurück gegeben werden, sondern halt generell immer die oberste ebene. das array bzw. die anzahl bilder können natürlich beliebig sein.

hmm, evtl würde es ja schon reichen, dass array nach dem arraywert[1], also der depth zu sortieren und dann mit einer for schleife einfach hochzählen?!?

bin etwas verwirrt...
__________________
"Es gibt ein Ziel, aber keinen Weg; was wir Weg nennen, ist Zögern"
Franz Kafka
molekuel ist offline   Mit Zitat antworten
Alt 01-06-2007, 11:21   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890

"Leere" Tiefen werden doch eh übergangen, wenn da noch ein MC irgendwo weiter oben liegt? Oder was willst du?

PHP-Code:
this.createEmptyMovieClip("mc",1)
this.createEmptyMovieClip("mc1",10)
trace(this.getNextHighestDepth()) 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele