Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-07-2005, 16:57   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
SortOn sortiert nicht

hallo,
habe folgendes mehrdimensionales Array x[]["pos"] und x[]["num"]
sieht aus wie folgt (erste Zahl "pos", zweite "num"):

0 0
75 1
140 2
210 3
280 4
350 5
420 6
490 7
560 8

jetzt will ich es nach "pos" sortieren (auch wenn es das schon ist. zufall!)
x.sortOn("pos", 8);
als ergebnis bekomme ich:

0 0
140 2
210 3
280 4
350 5
420 6
490 7
560 8
75 1

warum steht die 75 an letzter stelle? das mistding sortiert nicht! in flash funktioniert es aber wenn ich den flashfilm in director einbinde macht er einfach ne andere reihenfolge. das kann doch nicht wahr sein! wieder so'n bug? gibt's ein workaround?
__________________
No reason to live but i like it this way.
timoken ist offline   Mit Zitat antworten
Alt 05-07-2005, 17:08   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
du musst dem sortieren sagen, das es zahlen sortieren soll und keinen text:

option: Array.NUMERIC

(ausführliche beschreibung zu allen befehlen steht im handbuch)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 06-07-2005, 07:45   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
sorton

habe alle optionen schon probiert. sowohl in textform ("ARRAY.NUMERIC") als auch binärform (16) und das ergebnis war immer gleich negativ. im flashplayer7 gehts jedoch.
kann es evtl. sein, dass director mx (9) nur nen flash 6 player hat und der funktionsumfang der sorton-funktion eingeschränkt ist? worauf muss ich dann bei version 6 achten?

ich sehe gerade: flash6 unterstützte noch keine sortieroptionen. darum wird alles nach ascii sortiert. gibt's ein workaround mit dem ich nach zahlen sortieren kann?
__________________
No reason to live but i like it this way.

Geändert von timoken (06-07-2005 um 08:44 Uhr)
timoken ist offline   Mit Zitat antworten
Alt 06-07-2005, 09:13   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
Lösung

habe die lösung gefunden:

flash6 unterstützt sie sortieroptionen nicht und sortiert alles nach buchstaben. demnach kommt eine zahl, die mit "7" anfängt natürlich zuletzt.
habe in einem anderen tutorial einen ansatz gefunden:
alle zahlen auf die gleichen stellen bringen (d.h. evtl nullen voranzuschieben)

while(zahl.length < 5){
zahl = "0"+zahl;
}

jetzt klappts! nachher kann man alles wieder einfach mit int() auf den ursprung zurückbringen.
__________________
No reason to live but i like it this way.
timoken ist offline   Mit Zitat antworten
Alt 06-07-2005, 16:20   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
"..flash6 unterstützt sie sortieroptionen nicht.."
jou, dann solltest du im titel nicht flash7 ([Flash MX 2004] - SortOn sortiert nicht) angeben
ActionScript:
  1. var vAry = [80, 4, 9, -3, 111];
  2. //
  3. function fSoWieIchDasWill(a,b) {
  4.     return (a>b);
  5. }
  6. //
  7. vAry.sort();
  8. trace(vAry);
  9. vAry.sort(fSoWieIchDasWill);
  10. trace(vAry);
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (06-07-2005 um 16:25 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 06-07-2005, 16:57   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Ort: Dorsten
Beiträge: 382
flash6/flash7

das problem war, dass ich nicht wusste, welche version der flash-player von director hat. ich habe es schon in flash7 entwickelt. so wurde aus einem flash7-thread ein flash6-thread. leider konnte ich ihn nachträglich nicht mehr richtig angeben
__________________
No reason to live but i like it this way.

Geändert von timoken (06-07-2005 um 16:59 Uhr)
timoken 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 05:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele