Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-07-2004, 02:03   #1 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
swapDephts relativ? und Rangliste von Werten?

mit swapDephts kann ich ja entweder die Absolute Tiefe für einen Movieclip angeben oder die Tiefe mit einem Andern Movieclip tauschen.
Wie kann ich nun aber einfach die Tiefe um eines Erhöhen? muss ich extra für jedes Objekt noch ne extra variabel erstellen, wo die Tiefe drin gespeichert ist, damit ich sie auslesen kann?

und nochwas:

Gibt es eine Möglichkeit, eine variabelnmenge nach Wert zu sortieren?

also z.b.

adsf1.zahl=5;
asdf2.zahl=8;
asdf3.zahl=1;

dass ich dann irgendwie sowas rausbekomme:

asdf1.rang hat den Wert 2
asdf2.rang hat den Wert 3
asdf3.rang hat den Wert 1


Wenns nur drei variabeln sind is des ja nit so schwer dann kann vergleicht man die halt durch . . .
aber wenn man 1000 hat geht des ja exponentiell immer länger . . .

Wie krieg ich also am besten so ne Rangliste hin?? (das knifflige dabei: ich weiss im voraus nicht, wieviele Variabeln miteinander verglichen werden)
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys ist offline   Mit Zitat antworten
Alt 20-07-2004, 02:21   #2 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
hallo genedsys,

mit trace(_root.getDepth()); kannst du die Tiefe auslesen und somit auch damit arbeiten this.swapDepths(this.getDepth()+1);

Das mit den Variablen machst du so, dass du diese in einen Assoziativen Array packst und diesen dann sortierst.

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 20-07-2004, 02:24   #3 (permalink)
Self-proclaimed Genius
 
Benutzerbild von genesys
 
Registriert seit: Jul 2002
Ort: schweiz
Beiträge: 282
ah cool danke

äh - kannste mir das mit dem Assoziativen Array n bisschen genauer erklären

Die variabeln hocken in verschiedenen Objekten drin - muss ich die von dort erst in einen einheitlichen Array packen? wie mach ich des am besten und wie sortier ich dann?
und vorallem - wie lese ich am schluss aus, welches der Objekte nun an welcher Stelle ist? ^^
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt - Albert Einstein
genesys ist offline   Mit Zitat antworten
Alt 20-07-2004, 02:24   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Nein musst Du nicht.
Schau mal:

PHP-Code:
trace(_root.rot_mc.getDepth());
_root.rot_mc.onPress = function() {
 
this.swapDepths(this.getDepth() + 1);
 
trace(_root.rot_mc.getDepth());
}; 
Mit getDepth bekommst Du die jetzige Tiefe.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 20-07-2004, 03:01   #5 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Vielleicht kannst Du hiermit was anfangen.
Ich habe es in einem Buch gefunden.
Ist ein Flash MX Skript.

PHP-Code:
function Rangliste(firstNameanzahl) { // erstellt eine neue Klasse
this.firstName firstName;
this.anzahl anzahl;
}
Rangliste.prototype.toString = function() { // damit beim tracen der String
return this.firstName ":" this.anzahl// wie gewünscht dargestellt wird
};
var 
rang = new Array();                    
rang[0] = new Rangliste("player1""5");
rang[1] = new Rangliste("player2""8");
rang[2] = new Rangliste("player3""1");
rang.sortOn("anzahl");     //sortiert nach anzahl oder auch nach firstName    
trace(rang); 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------

Geändert von thebiz (20-07-2004 um 03:32 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 20-07-2004, 03:03   #6 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
das mit dem assoziativen Array läuft so ab:

PHP-Code:
sortArray = new Array(); 
sortArray.push( { vari"asdf1"wert5} ); 
sortArray.push( { vari"asdf2"wert4} ); 
sortArray.push( { vari"asdf3"wert6} ); 

sortArray.sortOn("wert"); //hier wird nach dem wert sortiert
for(i=0;i<sortArray.length;i++){
    
sortArray[i].rang=i// hier wird der rang zugefügt
}

sortArray.sortOn("vari"); // hier wird wieder nach der vari sortiert
for(i=0;i<sortArray.length;i++){
    
trace(sortArray[i].vari+" hat den Rang "+sortArray[i].rang+" mit dem Wert "+sortArray[i].wert);//Ausgabe

Alles selbsterklärend, oder?

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier 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 08:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele